---
abstract: 'We discuss some recent work by Tim Maudlin concerning Black Hole Information Loss. We argue, contra Maudlin, that there is a paradox, in the straightforward sense that there are propositions that appear true, but which are incompatible with one another. We discuss the significance of the paradox and Maudlin’s response to it.'
address: |
    Department of Logic and Philosophy of Science\
    University of California, Irvine
author:
- JB Manchak
- James Owen Weatherall
title: |
    (Information) Paradox Regained?\
    A Brief Comment on Maudlin on Black Hole Information Loss
---

The *black hole information loss paradox* [@HawkingIL] is a widely discussed (putative) puzzle that arises when one attempts to make sense of physicists’ expectation that global quantum dynamics will be unitary in light of the postulated phenomenon of black hole evaporation [@HawkingR1; @HawkingR2; @UnruhBHE], which is apparently a consequence of Hawking radiation.[^1] In a provocative recent manuscript, Tim @Maudlin forcefully argues that “There is no ‘information loss’ paradox.” The “solution” to the “paradox”, he claims, requires no new physics and indeed, was already available, though not appreciated, in 1975. The appearance of paradox arises only because of persistent errors, both mathematical and conceptual in character, by prominent members of the physics community.

There is much to admire in Maudlin’s treatment of the subject. We agree, for instance, with his discussion of the (non-)role of “information” in the putative paradox. What is really at issue is predictability, or even better, retrodictability, and not information (at least in the sense of information theory): as we will describe in more detail below, the puzzle concerns whether any specification of data on a particular surface is sufficient to retrodict the physical process by which that data came about. We also think that Maudlin draws helpful attention to the core issues, which sometimes get obscured in physicists’ discussions of solutions to the paradox. For instance, as Maudlin correctly observes, one can only expect unitary evolution between states defined on a special class of surfaces, known as *Cauchy surfaces*; any conceptually adequate discussion of black hole information loss will need to consider the conditions under which suitable Cauchy surfaces are available in the first place.

Still, we do not agree with his central claim. As we will presently argue, we take it that there *is* a paradox, in the precise sense that there are well-motivated and widely accepted assertions that can be shown to be mutually inconsistent.[^2] We take it, then, that any “solution” to the paradox will require one to reject one of these assertions. In other words, although the literature may well be rife with mathematical and conceptual errors, merely identifying these errors is not sufficient to render the assertions in question consistent. One still must give something up—as, we will argue, Maudlin ultimately does. Indeed, it seems to us that rather than showing that there is no paradox, Maudlin endorses a radical solution to the paradox on which one rejects the assumption that space and time can be represented by a smooth Lorentzian manifold (with or without boundary). One is certainly entitled to resolve the paradox in this way, but it is important to recognize that there are real costs involved. In particular, if the motivating concern behind black hole information loss was a failure of retrodictability, then the solution Maudlin offers is pyrrhic.[^3]

We admit that there is a certain sense in which (almost) everything we say appears already in Maudlin’s paper. Indeed, in many ways we follow his treatment. Our disagreement, perhaps, is a matter of emphasis. But there is at least one place where we think Maudlin’s discussion is misleading, and in any case, it seems to us that the differences of emphasis are themselves worth emphasizing. And so we submit a different perspective.

As a first pass, we will introduce and discuss two assertions that we take to be well-motivated and widely accepted, but which can be shown to be inconsistent. (Showing the inconsistency is not novel: it was established by @Kodama, though our treatment will follow @Wald1984; see also @Earman. Still, perhaps the result has not been appreciated.) This will be our statement of the paradox; standard replies to the paradox amount to rejecting one or the other of these assertions. After presenting this discussion, we will circle back to Maudlin’s argument, and present what we take to be his solution to the paradox. As we will argue, Maudlin’s response does not involve rejecting either of the premises we will state. Instead, as we said above, he rejects a suppressed background assumption, concerning the continuity of a Lorentzian metric on spacetime. We will conclude by arguing that there are significant costs to this response to the paradox.

We begin with some technical preliminaries. In what follows, a *(relativistic) spacetime* is a pair $(M,g_{ab})$, where $M$ is a smooth, Hausdorff, paracompact four-dimensional manifold and $g_{ab}$ is a smooth, non-degenerate metric of Lorentz signature $(+,-,-,-)$. We say that a vector $\xi^a$ at a point $p$ of $M$ is *timelike* if $g_{ab}\xi^a\xi^b > 0$; *spacelike* if $g_{ab}\xi^a\xi^b<0$; and *null* if $g_{ab}\xi^a\xi^b=0$. A curve $\gamma:I\rightarrow M$ is *timelike* if its tangent vector $\xi^a$ is at each point of its image; likewise for spacelike or null curves. A vector (resp. curve) is *causal* if it is timelike or null. Finally, we say that a spacetime $(M,g_{ab})$ is *temporally orientable* if there exists a continuous timelike vector field on $M$; a *temporal orientation* is a choice $\eta^a$ of some such vector field. Given a temporal orientation $\eta^a$, a causal vector $\xi^a$ at a point $p$ is *future-directed* if $g_{ab}\eta^a\xi^b > 0$; causal curves are future-directed if their tangent vectors at each point are. In what follows, we consider only temporally orientable spacetimes and suppose that we have fixed some temporal orientation.

To state the first assertion of the paradox, we need to introduce some notions related to the global (causal) structure of a spacetime [@Geroch+Horowitz; @Hawking+Ellis; @ManchakGS]. Fix a spacetime $(M,g_{ab})$. We define two two-place relations on the points of $M$. First, for any $p,q\in M$, we have $p\ll q$ if there exists a future-directed timelike curve from $p$ to $q$; and second, we have $p< q$ if there exists a future-directed causal curve from $p$ to $q$. The *timelike future* of a point $p\in M$ is the set $I^+(p)=\{q:p\ll q\}$, and the *causal future* of $p$ is the set $J^+(p)=\{q:p < q\}$. Similar definitions yield the *timelike* and *causal pasts* of $p$, denoted $I^-(p)$ and $J^-(p)$, respectively. The timelike future of a set $S\subseteq M$, meanwhile, is given by $I^+(S) = \cup_{p\in S}I^+(p)$; likewise for the sets $J^+(S)$, $I^-(S)$, and $J^-(S)$.

A point $p\in M$ is a *future endpoint* for a future-directed causal curve $\gamma:I\rightarrow M$ if, for every neighborhood $O$ of $p$, there exists an $s'\in I$ such that for all $s\geq s'$, $\gamma(s)\in O$; likewise, *mutatis mutandis*, for *past endpoint*. The *future domain of dependence* of $S$, $D^+(S)$, is the set of points $p\in M$ such that every causal curve with future endpoint $p$ and no past endpoint intersects $S$; likewise for the *past domain of dependence*, $D^-(S)$. The *domain of dependence*, $D(S)$, is the set $D^+(S)\cup D^-(S)$. A subset $S\subset M$ is *achronal* if $I^+(S)\cap S=\emptyset$. Finally, a *Cauchy surface* $\Sigma$ is a closed, achronal set with the property that $D(\Sigma)=M$.

Cauchy surfaces have the feature that the entire manifold lies in their domain of dependence, which means that any causal curve without endpoint passing through any event in the spacetime will necessarily intersect $\Sigma$. For appropriate hyperbolic systems of differential equations, including Einstein’s equation and Maxwell’s equations, Cauchy surfaces have the property that initial data defined thereon determine unique global solutions. For this reason, they are associated with a notion of *determinism* in a spacetime, whereby the world at all times is “determined” by its state at one “time”, i.e., on some Cauchy surface [@EarmanPD]. A spacetime admitting a Cauchy surface $\Sigma$ is called *globally hyperbolic*; if $(M,g_{ab})$ is globally hyperbolic, then it admits an entire foliation by Cauchy surfaces, in the sense that $M$ is diffeomorphic to the product manifold $\Sigma\times \mathbb{R}$, where each copy of $\Sigma$ turns out to be a Cauchy surface [@GerochSplitting; @Bernal+Sanchez]. Thus, we may think of a globally hyperbolic spacetime as consisting of a sequence of “complete” states, parameterized by global time. We can then think of “Cauchy evolution” as consisting of transitions between such states over time.

We can now state the first assertion of the paradox, which is a version of the so-called “cosmic censor\[ship\] hypothesis (CCH)” [@Wald p. 204].[^4]

> -   \[CCH\] All physically reasonable relativistic spacetimes are globally hyperbolic.
>
By “physically reasonable”, here, we mean that the spacetime represents the global history of some possible physical process. The idea is that general relativity is a permissive theory, in the sense that there are many models that are allowed by the theory, but which we might rule out of consideration on other grounds, such as our background understanding of other physical laws.

This condition is very strong: it is easy to come up with examples of spacetimes that are generally well-behaved, but which are not globally hyperbolic [@Earman Ch. 2]. But for many physicists, (CCH) is axiomatic. For instance, as we noted above, global hyperbolicity is sufficient, in the presence of background assumptions about the hyperbolic character of the laws governing matter evolution, for global determinism; if one is committed to the universe being deterministic, then (CCH) is a natural assertion to accept.[^5] It rules out the possibility of “naked” singularities, i.e., singularities from which causal processes may emanate and influence distant events, the possibility of which many physicists take to be pathological and unrealistic.[^6] And perhaps most importantly, as Maudlin himself emphasizes, global hyperbolicity appears to be necessary for global unitary evolution in the context of quantum theory set in curved spacetimes [@Belot+etal]. Insofar as many physicists take unitary evolution to be the hallmark of quantum theory, giving up on (CCH) is a significant cost.

The second assertion has a somewhat different character. It concerns a particular class of spacetimes, which we will call *evaporation spacetimes*, representing the physical process known as black hole evaporation [@HawkingR1; @HawkingR2]. These are spacetimes exhibiting (some of) the qualitative features of the spacetime whose Penrose diagram is depicted in Fig. \[PenroseBHE1\]. In such a diagram, the causal structure of spacetime is clear; null geodesics are represented by straight lines at $\pm 45^\circ$.[^7] In an evaporation spacetime, one has a black hole which is a (spacelike) singularity that lies behind an event horizon. But the black hole gradually evaporates and disappears, which means that it does not persist forever: its event horizon does not extend to null infinity. This means that there exist events that occur “after” the black hole has ceased to exist, in the sense that there are points $p\in M$ such that the entire event horizon lies in the (closure of) $J^-(p)$. If one thinks of an observer following a timelike worldline far from the event horizon, there will be a period in that observer’s history during which it would be possible, were she to change course, to eventually pass behind the event horizon and fall into the black hole; but at some (proper) time, that will no longer be possible, because no future-directed timelike curves intersecting her worldline at that time meet the singularity.

![\[PenroseBHE1\] The Penrose diagram representing an evaporating black hole. There is a (spacelike) singularity behind an event horizon, as in the Schwarzschild solution (say), but there also exist events “after” the black hole has evaporated, i.e., events such that no future-directed causal curve passing through those events encounters the singularity (or the event horizon).](BHE_Penrose_Diagram1.png){width="3in"}

We make the notion of an evaporation spacetime precise as follows. First, we need a little more background. The *edge* of a closed, achronal set $S\subset M$ is the set of points $p\in S$ such that every open neighborhood $O$ of $p$ contains points $q\in I^+(p)$, $r\in I^-(p)$, and a timelike curve from $r$ to $q$ that does not intersect $S$. A [*slice*]{} is a closed, achronal surface without edge. We say that a time-orientable spacetime $(M,g_{ab})$ is an *evaporation spacetime* if there is a point $p \in M$ and slices $\Sigma_1, \Sigma_2 \subset M$ with $\Sigma_1$ connected such that: (a) $p\not\in J^-(\Sigma_2)\cup J^+(\Sigma_2)$; (b) $p\in D^+(\Sigma_1)$ and the set $K_1=\Sigma_1-D^-(\Sigma_2)\cap \Sigma_1$ is such that $J^+(K_1)\cap\Sigma_2$ has compact closure; and (c) for every other connected slice $\Sigma \subset M$ with $p\in D^+(\Sigma)$, the set $K=\Sigma-D^-(\Sigma_2)\cap \Sigma$ is such that $J^+(K)\cap\Sigma_2$ has compact closure.[^8] As one can easily see from Fig. \[PenroseBHE2\], the spacetime we have been considering meets these conditions. The surfaces $\Sigma_1$ and $\Sigma_2$ are chosen so that $\Sigma_1$ slices the spacetime “below” the event horizon; while $\Sigma_2$ slices it “above” the event horizon. The point $p$ mentioned in the definition may then be any point at all lying behind the event horizon. The region $K$ is the part of $\Sigma_1$ that is not (fully) determined by what occurs on $\Sigma_2$, in the sense of “determined” described above; the stated condition (b) on $K$ is a way of capturing the idea that the “causal strangeness” in the spacetime is confined to a bounded region.

![\[PenroseBHE2\] The same spacetime as represented in Fig. \[PenroseBHE1\]. In (a), closed achronal sets $\Sigma_1$ and $\Sigma_2$ are depicted. Here $\Sigma_1$ is connected and $\Sigma_2$ is edgeless. The point $p$ is such that $p\in D^+(\Sigma_1)$ and $p\not\in J^-(\Sigma_2)\cup J^+(\Sigma_2)$. In (b), the sets $K=\Sigma_1-D^-(\Sigma_2)\cap \Sigma_1$ and $J^+(K)\cap\Sigma_2$ are labeled.](BHE_Penrose_Diagram2+3.pdf){width="6in"}

Given this, the second assertion may be stated as follows.

> -   \[BHE\] Some evaporation spacetimes are physically reasonable.
>
Why accept (BHE)? We will not rehearse the arguments for Hawking radiation or black hole evaporation here. We remark only that there appear to be compelling theoretical grounds, arising from quantum field theory in curved spacetime, for believing that black holes radiate—and that it is a consequence of that radiation that they ultimately evaporate [@HawkingR1; @HawkingR2; @UnruhBHE; @Birrell+Davies; @Fulling; @WaldQFTCST]. This is not dispositive, of course: no one has observed Hawking radiation from a black hole—much less black hole evaporation. It is possible that Hawking radiation does not occur, or that it is impossible for black holes to evaporate. But in either case, it would seem to follow that there is a profound error in our understanding of quantum field theory and/or black holes.

We are now in a position to state the paradox. It is captured by a theorem due to @Kodama (see also @Wald1984):

No evaporation spacetime is globally hyperbolic.

It is a consequence of this theorem that (CCH) and (BHE) are incompatible: one cannot accept both the Cosmic Censorship hypothesis, at least in this form, and also believe that evaporation spacetimes are physically reasonable. This is what we take to be the paradox. To resolve it, something must be given up.

![\[BottomHalf\] The bottom half of the spacetime depicted in Fig. \[PenroseBHE1\]. Here $\Sigma_1$ is a Cauchy surface and the spacetime is globally hyperbolic. But this spacetime can be extended, and its extension to that of Fig. \[PenroseBHE1\] is not globally hyperbolic. (Note that this spacetime is conformally equivalent to a Schwarzschild spacetime, but depicts a different situation.)](BHE_Bottom_Half.pdf){width="3in"}

To get a handle on why this situation is troubling, consider the following. Focus attention on just the bottom half of Fig. \[PenroseBHE1\], as depicted in Fig. \[BottomHalf\]. In this spacetime, the achronal set $\Sigma_1$ *is* a Cauchy surface and the spacetime is globally hyperbolic. Thus, there is a sense in which what happens on $\Sigma_1$ determines what happens in the entire spacetime—at least if we suppose that the Hawking radiation emitted by the black hole satisfies a suitable system of differential equations.[^9] One can think of $\Sigma_1$ as a complete specification of the universe at a time, representing a black hole in the process of emitting radiation; the spacetime in Fig. \[BottomHalf\] represents a sequence of such states over time, evolving in a lawlike manner, corresponding to (the initial proper segment of) a physical process that we have good reason to believe occurs in our own universe. Indeed, basic existence and uniqueness results for hyperbolic systems, including various Einstein-matter systems, suggest that we should expect there to be a unique maximal Cauchy development of $\Sigma_1$ [@GerochPDE; @Rendall]: that is, there should be a maximal spacetime that we get by allowing $\Sigma_1$ to evolve according to the laws—and indeed, its Penrose diagram should look like Fig. \[BottomHalf\]. But the spacetime in Fig. \[BottomHalf\] is, by construction, extendible, in the sense that there is a proper isometric embedding of this spacetime into the one depicted in Fig. \[PenroseBHE1\]. Thus, there is a sense in which the process can continue beyond its maximal Cauchy evolution. And insofar as the physically correct extension of the spacetime in Fig. \[BottomHalf\] is the spacetime in Fig. \[PenroseBHE1\], it follows that the laws, plus initial data specified on $\Sigma_1$, do *not* determine what happens indefinitely into the future, because this second spacetime is not globally hyperbolic, and $\Sigma_1$ fails to be a Cauchy surface. One reaches a horizon across which the laws no longer determine what happens. This situation suggests that something has gone seriously wrong. Hence the paradox.

There are many responses to this paradox available in the literature. Most responses involve rejecting (BHE): one might argue, for instance, that black holes do not actually form [@Fuzzball], or that they form and radiate, but never completely evaporate [@EllisRemnant]. In such cases, one effectively denies that evaporation spacetimes are physically reasonable, by arguing that some other physical process becomes operative at some relevant scale. Much less common, but defended by @Unruh+Wald, is to reject (CCH): that is, to accept that evaporation spacetimes are physically reasonable, and likely represent physical processes in our own universe, and accept that this leads to some surprising physical consequences, such as the failure of unitarity in evolution from $\Sigma_1$ to $\Sigma_2$; and the failure of retrodictability from $\Sigma_2$.

Maudlin, however, does not reject either of the premises: he apparently maintains that both (CCH) and (BHE) are true. How can this be, given the Kodama-Wald theorem above? As Maudlin presents it, the “solution” to the apparent paradox is to recognize (correctly) that $\Sigma_2$ in Fig. \[PenroseBHE2\](a) is not a Cauchy surface. But this observation does not lead him to reject (CCH); instead, he argues that a *different* surface, consisting in the union of $\Sigma_2$—now renamed “$\Sigma_{2out}$”—and another achronal set, which he calls $\Sigma_{2in}$, together form a Cauchy surface. The idea is that there is some critical surface, $\Sigma_{crit}$, after which Cauchy evolution proceeds along *disconnected* Cauchy surfaces. There is no failure of determinism, or of unitarity; rather, one just needs to take account of the part of the global state corresponding to $\Sigma_2$ that remains trapped behind the event horizon.

![\[MaudlinFig\]](BHE_Penrose_Diagram_--_Maudlin.pdf){width="3in"}

Of course, the “solution” just sketched cannot be the whole story, because it is flatly inconsistent with the Kodama-Wald theorem. After all, that theorem says that evaporation spacetimes cannot be globally hyperbolic; thus, $\Sigma_{2in}\cup\Sigma_{2out}$ is no more a Cauchy surface than $\Sigma_2$ was (or $\Sigma_1$ is). Maudlin does not address this point—but he does address an inconsistency between his solution and another theorem, and his remarks there suggest what is really going on. He writes (in connection with the Geroch splitting theorem [@GerochSplitting]),

> The solution to this puzzle can easily escape one’s notice. Geroch’s proof, like most proofs in this field, begins by characterizing a space-time as a “4-dimensional manifold with a smooth metric $g_{ab}$ of signature $(+,-,-,-)$. But our evaporating black hole space-time is not a manifold. (p. 12)

In other words, Maudlin is drawing attention to a third, suppressed premise in the paradox as described above, which is assumed in both Kodama and Wald’s proofs of the Kodama-Wald theorem. It may be stated as follows:

> -   Any physically reasonable relativistic spacetime may be represented by a smooth (Hausdorff, paracompact) manifold without boundary, with a Lorentz signature metric.
>
It is (RST) that Maudlin rejects.

We do not deny that there may be good reasons to reject (RST). After all, the arguments in favor of (BHE) rely on a semi-classical analysis according to which spacetime is treated classically and the radiation is treated quantum field theoretically. One might well expect that a full understanding of Hawking radiation will wait on a theory of quantum gravity—and on several approaches to quantum gravity, the description of space and time as a smooth manifold breaks down, because space and time turn out to be fundamentally discrete. (Maudlin himself does not offer an argument along these lines.) But whatever else is the case, observing that (RST) may be rejected does not simply dissolve the paradox.[^10] As we will now argue, there are serious costs associated with giving this premise up (and giving it up in the particular way that Maudlin does) that bear reflection. Indeed, there are good reasons to think that Maudlin’s rejection of (RST) yields at best a pyrrhic victory.

One might reject (RST) in a variety of ways. For example, one might replace (RST) with a weaker but analogous premise (RST)\* that just relaxes some combination of the conditions on the underlying manifold. The Hausdorff condition in particular is often dropped and relativistic spacetime structure can be investigated in this generalized framework [@Hajicek1971; @Hawking+Ellis; @Earman2008]. One might also want to consider manifolds with boundary [@Geroch+Horowitz]. There are drawbacks to representing spacetime using non-standard manifolds such as these, but they are clearly defined and legitimate objects of study. One can, for example, keep track of which of the standard theorems of general relativity carry over to any one of the non-standard arenas and which do not. One could even construct arguments in favor of non-standard spacetimes on physical grounds. Fine. At this stage, we simply wish to emphasize that this does not seem to be what Maudlin is up to; the manifold-like structure he considers is neither a (Hausdorff or non-Hausdorff) manifold with boundary nor a manifold without boundary.[^11] If Maudlin’s manifold-like structure is not a manifold without boundary and not a manifold with boundary, what kind of structure is it? What are its properties? Maudlin never tells us. Indeed, we know almost nothing about the proposed manifold-like structure and the spacetime constructed from it except that it amounts to “adding” a point to a standard spacetime structure.

One might wonder [cf. @Maudlin p. 20]: How much difference can adding a single point make? It turns out quite a bit; sometimes adding a point to a standard spacetime structure can be logically incoherent if we require (as Maudlin seems to want to do) that a smooth Lorentzian metric is everywhere defined.

First, consider two-dimensional Minkowski spacetime $(\mathbb{R}^2, \eta_{ab})$ in standard $(t,x)$ coordinates where $\eta_{ab}=\nabla_at\nabla_bt-\nabla_ax\nabla_bx$. Now remove the point $(0,0)$ and let the resulting manifold be $M$. Next, consider the spacetime $(M,\eta_{ab})$. Of course we could put the “missing point” back in $(M,\eta_{ab})$ and the resulting structure would be a perfectly fine model – Minkowski spacetime. But now consider the spacetime $(M,\Omega^2\eta_{ab})$ where $\Omega: M \rightarrow \mathbb{R}$ is the function $\Omega(t,x)=1/(t^2+x^2)$. Clearly, the metric $\Omega^2\eta_{ab}$ blows up as one approaches the “missing point”; one cannot put this point back in because there is no way to smoothly (or even continuously) extend the metric to it. So it seems that sometimes it makes perfect sense to add a point to a standard spacetime structure and sometimes it doesn’t. What we take to be striking is that because $(M,\eta_{ab})$ and $(M,\Omega^2\eta_{ab})$ are conformally related, they have exactly the same Penrose diagrams (see Fig. \[ConMink\]). Thus, it is not possible to determine if it is permitted to add a point to a standard spacetime structure simply by looking at the Penrose diagram of that structure. As we will argue presently, this point is important to understanding the pathology in the case of an evaporation spacetime.

![\[ConMink\] The Penrose diagram for both $(M,\eta_{ab})$ and $(M,\Omega^2\eta_{ab})$. One can add back the “missing point” in the former spacetime but not the latter.](ManchakBH1.pdf){width="6in"}

A second example illustrates the idea that even a “well-behaved” metric does not ensure that a point may be coherently added to a standard spacetime structure. Consider two copies of two-dimensional Minkowski spacetime $(\mathbb{R}^2, \eta_{ab})$ as defined above. Next cut a slit $\{(t,x): t=0, |x|\leq 1\}$ out of the $x$-axis in each of the underlying manifolds. Finally, excluding the points $(0,-1)$ and $(0,1)$ in each copy, identify the “bottom side” of one slit with the “top side” of the other slit and vice versa (see Fig. \[Slits\]). The resulting structure—call it $(M,g_{ab})$—is a standard spacetime. One might wonder if any one of the four excluded points can be added back into $(M,g_{ab})$. No: “We cannot put these points back in because we were perverse enough to extend the top and bottom sides of the $x$-axis on different sheets” [@Hawking+Ellis p. 59]. Essentially, what is going on is that $(M,g_{ab})$ is “on the verge” of pathological behavior and only the “missing points” are keeping such behavior at bay.

![\[Slits\] The spacetime $(M,g_{ab})$. The “top side” of one slit is identified with the “bottom side” of the other and vice versa. One cannot add back any of the four “missing points” in a coherent way.](ManchakBH2.pdf){width="5in"}

What these examples show is that although it may *seem* as if it is a trivial matter to extract or add a single point to a spacetime—and that the physics cannot possibly depend on whether a single point is present or not—in general this is simply not true. In fact, a “missing point” often signals more general pathological behavior in some neighborhood of the manifold. And indeed, that is precisely what is going on in the case of evaporation spacetimes.

![\[WaldFig\] A spacetime diagram depicting an evaporating black hole; compare with @Wald1984 [Fig. 1]. Here we see that the causal cones along the event horizon tend to rotate in opposite directions as one moves up the diagram, leading to an inconsistency at the top, i.e., the “evaporation event”. Note that if we assume—as physicists often do—that the spacetime “after evaporation” is approximately Minkowski spacetime, we see that the in consistency becomes even worse.](BHE_ST_Diagram_new.pdf){width="3in"}

To see this point most clearly, it is best to look at a different representation of a collapsing black hole, because as we saw in the first of the examples discussed above, Penrose diagrams can be misleading with regard to whether a point may be “added” to a spacetime. In figure \[WaldFig\], we show a standard spacetime diagram for an evaporating black hole. (This diagram is very similar to @Wald1984 [Fig. 1].) As @Wald1984 [p. 162] says, this diagram “accurately shows that after the black hole forms from the collapse of matter, it shrinks in size as it radiates until it disappears altogether.” It also depicts the tendency of “small” black holes to evaporate more rapidly than “large” ones, because the event horizon curves towards the singularity as one approaches the top of the diagram.

In this diagram, we see that as one approaches the “evaporation event” (i.e., the point at the top of the cone) from different directions, the light cones tend to tilt in incompatible ways. There results a failure of continuity of the light cone structure at the top of the diagram, i.e., at the evaporation event. The upshot is that no causal cone can be consistently defined at the evaporation event. Ultimately, that there is no way to define a consistent causal structure here is what the Kodama-Wald theorem captures.

If we compare Fig. \[WaldFig\] with Fig. \[MaudlinFig\], we see that the causal pathologies at the “evaporation event” are obscured in the Penrose diagram. This is because, at each point, a conformal transformation is performed to make the null directions point at 45 degree angles from the vertical. But as we saw in the first example above, of conformally transformed Minkowski spacetime, the Penrose diagram does *not* depict any information about the character or magnitude of the conformal transformation at different points, which in turn means that it does not provide sufficient information to determine whether a point can be consistently added to the original spacetime. In the present case, the event horizon is, in fact, “shrinking” over time. But this fact is manifestly *not* represented in the Penrose diagram, precisely because Penrose diagrams do not accurately represent distance relations. In fact, the Penrose diagram depicts the event horizon as “expanding” (at the speed of light). Hence we see that in order to present the spacetime as having a well-behaved conformal structure, one needs to apply a conformal transformation that makes a parameter (roughly the “size” of the event horizon) appear to grow when in fact it approaches $0$. This is strikingly similar to the Minkowski spacetime example already given, and shows why the Penrose diagram gives a misleading picture of the causal structure at the evaporation event.

The breakdown of causal structure at the “evaporation event” has consequences. For one, it leads to a breakdown of the laws of physics. Consider, for instance, Maxwell’s equations. These are a hyperbolic system whose associated “causal cone” always agrees with the metric lightcone at each point [@GerochPDE]. If no consistent metric lightcone can be defined at a point, it follows that Maxwell’s equations, as standardly understood, also cannot be defined there. More generally, the metric is essential for expressing known laws of physics; if the metric cannot be defined at a point, it is not clear that any laws can be defined there. Thus, even if the spacetime-like structure Maudlin proposes *is* in some sense globally hyperbolic, it is hard to see how any notion of global determinism (or retrodictability) obtains, given that the laws of nature apparently breakdown somewhere in spacetime.

One might take the arguments just given to weigh against merely adding a single point-like “evaporation event” to an evaporation spacetime, at least if one wishes to have a well-defined causal structure. But perhaps there is a different solution available: one might consider either adding multiple points to the spacetime, or else adding a point and then attempting to modify the spacetime in a neighborhood of that point. This second option would be analogous to an operation one can perform on a cone. A cone is usually defined as a flat, two dimensional Riemannian manifold, without vertex. One may think of this as a manifold with a single point “removed”. One cannot simply “add” the vertex back in, however, as the curvature at that point would not be defined (it would, effectively, be infinite). One can, however, “add” the point by smoothing out the top of the cone. To do so, one introduces non-vanishing curvature in some neighborhood of the vertex of the cone, so that one does not “merely” add a point. One might expect that some similar sort of manipulation could allow one to both “add” an evaporation event and also avoid the causal misbehavior we have already discussed—perhaps without giving up on (RST). But it is here that we see the power of the Kodama-Wald theorem, once again: whatever else is the case, no matter how one added the point and modified the spacetime in a neighborhood of that point, the resulting spacetime could only be globally hyperbolic if it were no longer an evaporation spacetime.

Given the arguments above, it would seem that one cannot merely add an “evaporation event” to an evaporation spacetime to resolve the paradox in a satisfactory way, at least if one demands a suitable Lorentz-signature metric to be definable everywhere in spacetime. But let us read Maudlin as charitably as we can and suppose there is some way to make things work out. There remains a serious problem.[^12] Consider a past-directed timelike geodesic at $r=0$ (i.e., the axis of symmetry for the diagram) with past endpoint at the evaporation point. Note that given the spherical symmetry of the evaporation spacetime, the geodesic must be invariant under rotations. Now, either the geodesic can be extended (as a geodesic) through the evaporation point into the past or it cannot be. If we suppose the former, then the geodesic cannot remain at $r=0$ because of the singularity. But if the the geodesic enters the $r> 0$ region, it must break the spherical symmetry of the of the spacetime: impossible. Now suppose the geodesic cannot be extended through the evaporation event. In this case, the past-inextendible timelike geodesic terminates at the evaporation event and never reaches Maudlin’s surface $\Sigma_1$. It follows that $\Sigma_1$ is not a Cauchy surface and the spacetime fails to be globally hyperbolic.

So it seems that (1) there cannot be a Lorentizian metric defined at the evaporation point in Maudlin’s nonstandard model and (2) even if there were, the model would fail to be globally hyperbolic. We close with one final point: (3) even if Maudlin’s model were considered “globally hyperbolic” in some sense, it would fail to have some of the key properties of globally hyperbolic spacetimes. The idea is that the usual physical and mathematical significance of global hyperbolicity, including that globally hyperbolic spacetimes are always causally well behaved and support global existence and uniqueness results for hyperbolic systems, follows from where it sits in a whole networks of properties a spacetime can have. In particular, in the case of ordinary spacetime, global hyperbolicity sits at the top of the causal hierarchy. But as we will presently show, that is no longer true, if what we mean by “global hyperbolicity” has been extended to include something like the spacetime Maudlin considers. It follows that even if one can make sense of a notion of “global hyperbolicity” that includes the spacetime Maudlin proposes (with evaporation event), it is not clear what significance that has. In a sense, this should not be a surprise: Maudlin himself acknowledges that standard theorems fail for the non-manifold structures he considers. But we think it is valuable to reflect on just what is being given up.

In standard presentations of the causal structure of spacetime, one sometimes encounters an early lemma [@Hawking+Ellis p. 183].\

For all spacetimes $(M,g_{ab})$, and for all points $p, q, r$ in $M$, if $q$ is in $J^+(p)$ and $r$ is in $I^+(q)$, then $r$ is in $I^+(p)$.

One direct consequence of the lemma is the following: For all spacetimes $(M,g_{ab})$, and for all points $p \in M$, the closure of $I^+(p)$ is identical to the closure of $J^+(p)$. This shows one sense in which the timelike and causal future of a point (in any spacetime) are “almost” the same. Now it turns out that $I^+(p)$ is always an open set. One might wonder: is $J^+(p)$ always closed? No: spacetime “holes” can sometimes prevent this. Indeed, Minkowski spacetime with one point removed from the manifold is standardly used to illustrate the idea [@Wald p. 191]. However, when one limits attention to globally hyperbolic spacetimes, one does find that $J^+(p)$ is always closed [@Wald p. 208]. Combining results, we have the following.\

For all globally hyperbolic spacetimes $(M,g_{ab})$, and for all points $p \in M$, the closure of $I^+(p)$ is $J^+(p)$.

Essentially, the proposition is one way of expressesing the idea that standard globally hyperbolic spacetimes are so causally well-behaved that no “holes” can be there. Now let us return to Maudlin’s model with the “evaporation event” in place. Referring to the Penrose diagram and choosing any point $p$ on the event horizon, one finds that the above proposition comes out as false; the timelike future of the point is confined to the region inside the event horizon while the causal future of the point extends out past the “evaporation event” and reaches future null infinity. Given that the proposition fails on Maudlin’s model, it would seems that the model’s causal structure differs significantly from the causal structure of the standard globally hyperbolic spacetimes; “holes” are permitted in this new context after all. What is more, it seems that these differences are rooted in the fact that that Maudlin’s model has a causal structure unlike [*any*]{} standard relativistic spacetime. To see this, note that even the lemma fails on Maudlin’s model (see Fig. \[CausCon\]).

![\[CausCon\] The Penrose diagram of Maudlin’s model. We see that the model has a causal structure quite different from any standard spacetime since $q \in J^+(p)$ and $r \in I^+(q)$ but $r \notin I^+(p)$. Moreover, the model fails to be causally continuous since $I^-(p) \subseteq I^-(q)$ but $I^+(q) \nsubseteq I^+(p)$. ](ManchakBH3.pdf){width="7in"}

Not only is the causal structure of Maudlin’s model quite unusual; it seems to lack fundamental properties of globally hyperbolic spacetimes. We have already touched on the notion of spacetime “holes” in the preceeding. Hawking and Sachs (1974) call them “gaps” instead. Let us investigate the concept in a bit more detail.

Recall that in standard presentations of causal structure, a hierarchy of causal conditions is central. One of these conditions is of special interest to us here: causal continuity. Roughly, a causally continuous spacetime is “stable” with respect to its causal structure and also has “no really big gaps” [@Hawking+Sachs p. 288]. Now, it turns out there is a difference between “gaps” and “really big gaps” and the difference will be important later on. We know that the causal hierarchy from causal continuity to global hyperbolicity can be thought of as a “gap” hierarchy [@Hawking+Sachs p. 295]. Globally hyperbolic spacetimes can have no “gaps” at all. Causally continuous spacetimes can have “gaps” but no “really big gaps”. Minkowski spacetime with a point removed from the manifold illustrates the idea: it has “gaps” (it is not globally hyperbolic) but no “really big gaps” (it is causally continuous).

Formally, a spacetime $(M, g_{ab})$ is [*causally continuous*]{} if it is distinguishing (i.e. for all $p, q \in M$, if either $I^+(p)=I^+(q)$ or $I^-(p)=I^-(q)$, then $p=q$) and reflecting (i.e. for all $p, q \in M$, $I^-(p) \subseteq I^-(q)$ iff $I^+(q) \subseteq I^+(p)$). As a basic result, we have the following.\

Any globally hyperbolic spacetime is causally continuous.

The proposition tells us (unsuprisingly) that any spacetime with “really big gaps” cannot be globally hyperbolic in the standard sense. We take it to be significant that the model presented by Maudlin as “globally hyperbolic” renders this basic proposition false; the model contains the “really big gaps” prohibited not only by standard global hyperbolicity but also by (the comparatively weak condition of) causal continuity. To see this, take $p$ and $q$ to be as indicated in Fig. \[CausCon\] above. Clearly, $I^-(p) \subseteq I^-(q)$ but $I^+(q) \nsubseteq I^+(p)$. Thus, we have shown (3) from above: even if Maudlin’s model were considered “globally hyperbolic” in some sense, it would fail to have some of the key properties of globally hyperbolic spacetimes.

[32]{} natexlab\#1[\#1]{}url \#1[`#1`]{}urlprefix

Belot, G., Earman, J., Ruetsche, L., 1999. The hawking information loss paradox: the anatomy of controversy. The British journal for the philosophy of science 50 (2), 189–229.

Bernal, A. N., S[á]{}nchez, M., 2003. On smooth cauchy hypersurfaces and geroch’s splitting theorem. Communications in mathematical physics 243 (3), 461–470.

Birrell, N. D., Davies, P. C. W., 1984. Quantum fields in curved space. No. 7. Cambridge university press, Cambridge, UK.

Earman, J., 1986. A Primer on Determinism. Springer Science & Business Media, Dordrecht.

Earman, J., 1995. Bangs, crunches, whimpers, and shrieks: Singularities and acausalities in relativistic spacetimes. Oxford University Press, Oxford, UK.

Earman, J., 2008. Reassessing the prospects for a growing block model of the universe. International Studies in the Philosophy of Science 22 (2), 135–164.

Ellis, G. F., 2013. Astrophysical black holes may radiate, but they do not evaporate, arXiv:1310.4771.

Fulling, S. A., 1989. Aspects of quantum field theory in curved spacetime. Vol. 17. Cambridge university press, Cambridge, UK.

Geroch, R., 1970. Domain of dependence. Journal of Mathematical Physics 11 (2), 437–449.

Geroch, R., 1996. Partial differential equations of physics, arXiv:gr-qc/9602055.

Geroch, R., Horowitz, G. T., 1979. Global structure of spacetimes. In: Penrose, R., Hawking, S. W., Israel, W. (Eds.), General Relativity: an Einstein Centenary Survey. Cambridge University Press, Cambridge, UK, pp. 212–293.

Hajicek, P., 1971. Causality in non-hausdorff space-times. Communications in Mathematical Physics 21 (1), 75–84.

Hawking, S., Sachs, R., 1974. Causally continuous spacetimes. Communications in Mathematical Physics 35 (4), 287–296.

Hawking, S. W., 1974. Black hole explosions. Nature 248 (5443), 30–31.

Hawking, S. W., 1975. Particle creation by black holes. Communications in mathematical physics 43 (3), 199–220.

Hawking, S. W., 1976. Breakdown of predictability in gravitational collapse. Physical Review D 14 (10), 2460.

Hawking, S. W., Ellis, G. F. R., 1973. The Large Scale Structure of Space-time. Cambridge University Press, New York.

Kodama, H., 1979. Inevitability of a naked singularity associated with the black hole evaporation. Progress in Theoretical Physics 62, 1434–1435.

Lycan, W. G., 2010. What, exactly, is a paradox? Analysis 70 (4), 615–622.

Manchak, J. B., 2013. Global spacetime structure. In: Batterman, R. (Ed.), The Oxford Handbook of Philosophy of Physics. Oxford University Press, Oxford, UK, pp. 578–606.

Mathur, S. D., 2005. The fuzzball proposal for black holes: An elementary review. Fortschritte der Physik 53 (7-8), 793–827.

Maudlin, T., 2017. (information) paradox lost, arXiv:1705.03541 \[physics.hist-ph\].

McGrath, M., 2007. Four-dimensionalism and the puzzles of coincidence. Oxford studies in metaphysics 3, 143–176.

Penrose, R., 1979. Singularities and time-asymmetry. In: Penrose, R., Hawking, S. W., Israel, W. (Eds.), General Relativity: an Einstein Centenary Survey. Cambridge University Press, Cambridge, UK, pp. 581–638.

Quine, W. V. O., 1966. In The Ways of Paradox and Other Essays. Random House, New York, NY, Ch. The ways of paradox, pp. pp. 3–20.

Rendall, A. D., 2008. Partial differential equations in general relativity. Oxford University Press, Oxford, UK.

Unruh, W. G., 1976. Notes on black-hole evaporation. Physical Review D 14 (4), 870.

Unruh, W. G., Wald, R. M., 2017. Information loss. Reports on Progress in Physics 80 (9), 092002.

Wald, R. M., 1984. Black holes, singularities and predictability. In: Christensen, S. M. (Ed.), Quantum theory of gravity. Essays in honor of the 60th birthday of Bryce S. DeWitt. CRC Press, Boca Raton, FL, pp. 160–168.

Wald, R. M., 1984. General Relativity. University of Chicago Press, Chicago.

Wald, R. M., 1994. Quantum field theory in curved spacetime and black hole thermodynamics. University of Chicago Press, Chicago, IL.

Wallace, D., 2017. Why black hole information loss is paradoxical, arXiv:1710.03783 \[gr-qc\].

[^1]: See @Unruh+Wald for a recent (opinionated) review of the issues and the literature over the last four decades.

[^2]: Is this really a paradox? @lycan2010exactly offers an extension of an account of paradoxes due to @Quine according to which cases of apparently-true-but-mutually-inconsistent premises certainly do count as paradoxes (though it is not clear that they fit into Quine’s original classification). Other authors do not call such cases “paradoxes”; for instance, @mcgrath2007four calls them “problem sets”. We are not particularly committed to the term “paradox”, but we do think the expression “black hole information loss problem set” invokes too many memories of graduate school and so we stick with the standard usage.

[^3]: We do not claim that what we describe here is the only “information loss paradox.” @Wallace, for instance, emphasizes a different paradox related to black hole evaporation, and points out that there are several distinct puzzles in the physics literature that go under this name. Still, the paradox that we identify here seems to us to be the core of what is at issue in @Maudlin—and also, for instance, in @Unruh+Wald.

[^4]: See also @Penrose.

[^5]: It is interesting to ask whether global hyperbolicity is also *necessary* for global determinism. The answer is apparently “no,” but further work is called for. We are grateful to David Malament for raising this question.

[^6]: Naked singularities are to be contrasted with singularities such as those in a black hole, which are “hidden” by an event horizon and therefore cannot influence distant events.

[^7]: See [@Hawking+Ellis] for details concerning Penrose diagrams.

[^8]: To be explicit, we take this condition to be *necessary* for being an evaporation spacetime, but do not take a stand on whether it is sufficient.

[^9]: In what follows, we are, by necessity, somewhat impressionistic, because we do not know how to characterize the laws governing Hawking radiation classically, in such a way that the evaporation spacetime, including the Hawking radiation, is a solution to some system of equations. But we hope this discussion captures the flavor of what is going on, even if it cannot be made perfectly precise.

[^10]: Or as Maudlin puts it:

    > ...there is no problem that needs to be solved. Once one is careful and precise about the principles at issue, such as retrodictability and unitarity and the meaning of information conservation, one finds that there is no reason to think they were ever violated in the first place. (p. 24)

[^11]: Maudlin himself states that his structure is not a manifold without boundary (2017, p. 12). And we know that any $n$-dimensional manifold with boundary has a boundary of dimension $n-1$ [@Hawking+Ellis p. 12]. Since the evaporation event is “a single point” [@Maudlin p. 20], it cannot be the boundary of a four-dimensional spacetime.

[^12]: Our thanks to Bob Wald (personal correspondence) for the following argument. Wald also points out a second feature of the spacetime Maudlin considers, which is that it is not clear how to continue past-directed null geodesics approaching the evaporation event from above: both continuing along the event horizon and continuing directly to past null infinity would be compatible with the causal structure implied by Maudlin’s Penrose diagram (with the evaporation event). This argument is not as strong as the one in the main text, but it helps to further emphasize the causal pathology at the evaporation event.


Q:

Re-using iterator after 'insert' into vector

I need some clarification regarding vector and iterator.  I have a vector of my_object, and an iterator for that vector. I perform an insert at the iterator position, and a second insert at the same location:
myiteratornew = (my_vector).insert(myiterator, my_object1);
myiteratornew = (my_vector).insert(myiterator, my_object2);

After using several times this function on several kind of 'input' data, today I get a memory error.  Of course I think the problem is caused by the use of the old iterator on the modified (reallocated) vector; modifying the code this way now it works:
myiteratornew = (my_vector).insert(myiterator, my_object1);
myiteratornew = (my_vector).insert(myiteratornew , my_object2);

My question is, how is it possible that I used my code several times without getting the memory error?  Should the second code prevent my code causing a memory error?

A:

If inserting a value into the vector will cause its size to become bigger that its capacity, a reallocation will happen. In this case, all iterators and references are invalidated.
Otherwise, only the iterators and references before the insertion point remain valid. The iterators and references after the insertion point, as well as past-the-end iterator are invalidated as well.
That is most likely what happens to you - you are trying to use an iterator that is no longer valid. That is also why your second example is working as expected - getting a new iterator, and inserting by it is the exactly right thing to do.


Q:

What difference between "pip install" and "setup.py install" for static files

I have a problem with pip && setuptools. I have a simple project here: https://github.com/rmuslimov/rapidlog
If I make these commands:
mkvirtualenv rtests
pip install git+file:///%path_to_this_project%
rapidagent # This my app in this project

It works properly and creates templates and static files.
If I do:
mkvirtualenv rtests
cd %path_to_this_project%
python setup.py install
rapidagent

It cannot install my templates and static files data. So I can't start my application.
Here is the end of my setup.py file:
entry_points={
    'console_scripts': [
        'rapidagent = rapidlog.web.webagent:main'
        ],
    },
include_package_data=True,
data_files=[('rapidlog/web/templates', ['rapidlog/web/templates/index.html']),
            ('rapidlog/web/static/css', glob('rapidlog/web/static/css/*')),
            ('rapidlog/web/static/images', glob('rapidlog/web/static/images/*')),
            ('rapidlog/web/static/js', glob('rapidlog/web/static/js/*')),
            ],
install_requires=[
    'pika>=0.9.5',
    'tornado>=2.3',
    'wsgiref>=0.1.2',
],
classifiers=[
    'License :: OSI Approved :: BSD License',
    'Programming Language :: Python'
    ]

What special command does pip call ? What is the better way to solve this?

A:

I find out that your os.path.join calls are relative to the current directory your python is called. So, the first thing is:
web/webagent.py: Change os.path.join('templates') and os.path.join('static') to be absolute

I just sent your a pull request with this change.
Update me with your next steps.


Police in Kosovo have made some 40 arrests after cracking down on suspected jihadist recruiters for Syria and Iraq.

Weapons, ammunition and explosives were seized in raids in some 60 locations around the country.

It is the largest operation against Islamic radicals in the country’s history.


28 June 2007 Edition

Media View

If at first you don't succeed, try, try and try again

The media chorus about stamp duty might have failed to make an impact during the election campaign, with Fianna Fáil only being prepared to make a small change in relation to first-time buyers, but that's not stopping the same media from renewing the fray.Last Sunday, the Sunday Independent informed us (and the Greens) that they (the Greens) were demanding further moves on stamp duty. In fact the further moves were demanded by the Sunday Independent, which used a comment by Dan Boyle that the Greens had been unable to get their own proposal for help for older people trading down in the negotiations for government, but hoped to be able to raise it sometime later on.There was no demand at all from the Greens, merely an explanation of how they had only got part of their policy adopted in the negotiations.Then the Sunday Business Post added to the theme with another specious story claiming that Finance Minister Cowen was coming under Dáil pressure to close off stamp-duty loopholes.Closing off the misuse of these loopholes by developers would be an important step, but there is no pressure on Cowen from Fine Gael or Labour.The point of these stories, which have only a tenuous relationship to reality, is to keep the stamp duty issue burning in the hope that eventually the government will have to submit to the combined media pressure.

*******************

It's not just the Sunday papers, of course, that keep on rehashing old lines. Our old friend the paper of record was back on the high moral ground this week frothing at the mouth at the news that Beverley Flynn had settled her legal costs issue with RTÉ.Ms Flynn, of course, is a firm champion of the builders' interests in Fianna Fáil circles, and is one of the team when it comes to the world of finance and speculation.But while the Irish Times dislikes Fianna Fáil's builders' connections, it has repeatedly refrained from discussing the political issue underlying all these themes. The reason, of course, is that the paper of record supports these rightwing policies: it would just like somebody else to bring them in.What's at stake is not a genuine concern about ethical behaviour or whatever: it's just an old fashioned argument between inherited money and self-made money. To put it another way, it's an argument between those who did the robbing themselves and those whose grandfathers did it for them.The Times inherited their money, but have an innate belief that if they just show the voters what a corrupt shower Fianna Fáil are the voters will turn against them.Time and again, this doesn't happen, but that doesn't stop the Times.Indeed, an even better example was given when journalists quizzed Finian McGrath about his deal with Fianna Fáil. The Times didn't ask about co-location, or private healthcare, or any other issues of policy: their concern was – would Finian stand by Bertie if the going got tough at the Tribunal.Finian failed to give an unequivocal commitment to accept moral direction from the Irish Times and laughed instead.Whatever about his deal with Fianna Fáil, laughing at the Irish Times seems to be the best response.

*******************

RTÉ's new series on the criminal gangs and their feuds and sordid murders had all the hallmarks of a series that would play to the gallery of the hang 'em, flog 'em brigade, throwing in a bit of dirt as well.The first programme was a welcome surprise to some extent then. Dealing with the 'Westies' in Blanchardstown, it chronicled the short, sharp, brutish lives of the thugs involved, with very little glamourisation.It even began by contextualising the rise of young criminals to the disadvantage experienced in areas like Sheepmoor and Mulhuddart, but soon got frightened of a genuine social examination preferring to fall back on the gory accounts of who shot whom and when.Still, community activist Gerry Lynam was able to make a valid point that no matter how much money such people may temporarily have, it's no way to live – or die.But why can't RTÉ do a proper programme, examining the real roots of the crime problem and bringing forward a discussion on how the community can be strengthened to fight off the gangs and save future generations of young people form the same sordid fate as suffered by Shane Coates and Stephen Sugg, buried under a housing estate in Spain?The point is that RTÉ is mortally afraid of any discussion that might raise the spectre of empowering local communities. Much better to keep it all shallow, and leave the power of decision and control to those who have shown that they can't and won't change anything.For RTÉ, the criminal gangs, like the poor, are always with us.

An Phoblacht Magazine

AN PHOBLACHT MAGAZINE:

Don't miss your chance to get the second edition of the 2019 magazine, published to coincide with Easter Week

This special edition which focuses on Irish Unity, features articles by Pearse Doherty, Dr Thomas Paul and Martina Anderson.

Pearse sets out the argument for an United Ireland Economy whilst Pat Sheehan makes the case for a universally free all-island health service.

Other articles include, ‘Ceist teanga in Éirinn Aontaithe’, ‘Getting to a new Ireland’ and ‘Ireland 1918-22: The people’s revolution’.


Mitch Marner has already played four seasons of junior hockey, regardless of what the calendar states.

Most hockey fans know of the CHL-NHL agreement, which decrees that a prospect drafted from major junior cannot be assigned to a minor-pro league until his 20-year-old season. The junior leagues make exceptions at the intake point—for example, the Hockey Canada exceptional-player status rule‚ but, oddly enough, there are no exceptions for leaving early. So the hockey politics behind why Marner can only play for the Toronto Maple Leafs or in the OHL next season is as clear as the reality that the 19-year-old right winger rates a bump up to some higher league after leading London to the MasterCard Memorial Cup with 14 points across four games.

Marner’s dominance ought to be a jumping-off point to talk about bringing the agreement into the 21st century. There is nothing mendacious behind the leagues’ pact, but media shouldn’t accept the premise that it is player-friendly.

The deal was struck many moons ago in response to the NHL lowering the draft age from 20 to 18. Junior leagues, at that time, were feeling the burn from the 1970s-era WHA signing North American teenagers. It is nice to think that the hockey world could at least talk about how the four-year rule, especially now that top prospects play so much extra hockey on top of their club season.

One tweak would be to base minor-pro eligibility on how many games a prospect logs in extra competitions before the end of his 18-year-old season. Only a small handful of prospects would be effected in a given season, and they would be able to return to junior, if necessary.

A pore over Marner’s Elite Prospects page hints at how the rule is self-serving for the CHL and Hockey Canada—and might undermine the former’s stated role as a developmental league. Sunday’s Memorial Cup final marked the 62nd ‘extra’ game for Marner outside of the regular season. The Thornhill, Ont., sensation has played 19 Junior A playoff games, 38 post-season contests for London, five world junior championship games and two in the annual CHL-Russia Super Series.

Arizona Coyotes top prospect Dylan Strome, the Erie Otters captain, has tallied 54 extra games without having even played in a Memorial Cup. Knights alumnus and Arizona winger Max Domi accumulated 63 during his first three seasons in London.

The last draft pick in the OHL before Marner who was way too good for the league was Ryan Ellis. The current Nashville Predators defenceman skated in 63 extra games during his first three seasons with the Windsor Spitfires.

CHL commissioner David Branch told The Canadian Press last week that NHL clubs aren’t clamouring for a rule change. However, the question pertains to junior hockey. It was also an odd answer. Branch doesn’t take cues from the NHL, and has been far more progressive on problems such as checks to the head and needless and/or staged fights. It has, however, followed the NHL’s lead on shootouts, trapezoids and 3-on-3 overtime.

Defenders of the agreement tend to say that no one is ever hurt by having to spend an extra season in junior. That is mostly true, but are they thinking about the greater good?

John Tavares had 72 goals and 134 points with Oshawa as a 16-year-old, and still played two more years of junior. (Dave Abel/Getty Images)

The Christian Dvorak-Matthew Tkachuk-Marner line, which factored into all of London’s scoring in Sunday’s 3-2 overtime win against the Rouyn-Noranda Huskies, was simply breathtaking. Like Wilt Chamberlain in the early-1960s NBA, they broke the game. London’s four-month rampage—winning 37 of their final 42 games with an average goal differential of 2.55—attests to their awesomeness. It also feels like Exhibit A for why it’s in the OHL’s interest to help that rare 19-year-old who is too dominant for junior but perhaps not ready for 70-some NHL games experience a new challenge.

The OHL, as great a team as the Knights are, didn’t receive a net benefit from having its least competitive playoffs in decades. Six of the last seven series were sweeps. The Memorial Cup didn’t get interesting until Sunday. Marner returning to the OHL, hypothetically, could create a trickle-down whereby other players might be denied top-end minutes.

Last week, one NHL writer stated next season’s 16-year-old cohort in the OHL will be better off in the long run if they play against Marner. That does not wash. The skill gap would be a little too big, and besides, most OHL coaches don’t put their rookies on the ice against superstars.

The NHL surely knows it’s a bad look to pressure the CHL to let players go early, yet it has found a use for teenagers who are not affected by the rule going to the AHL or European leagues. Marner’s Maple Leafs first-round predecessor, William Nylander, has already played one-and-a-half seasons with the AHL Toronto Marlies after being drafted out of Sweden. The captain of WJC-winning Team Finland, Mikko Rantanen, played the bulk of his club season with the Colorado Avalanche’s AHL affiliate.

Having just turned 20 on May 1, Nylander already has 97 games of AHL and NHL experience under his belt. (Craig Abel/Getty)

Point being, the CHL and Hockey Canada—which has just one WJC gold medal in the past seven years—should be open to adjusting.

Hence the notion that instead of hard-and-fast, four-year rule, minor-pro eligibility should be based on how many of those extra games top prospects incur from age 15 through 18. That’s just a suggestion. Greater minds can determine the criteria. Studying how many junior and pro-level contests the typical NHL first-rounder from the CHL plays on top of his regular season is good data to have, like Canada’s long-form census. It would also be more fan-friendly if the league’s customers had more clarity about the possibility of a 19-year-old top prospect coming back.

The powers that be never mind changing rules for good players. The OHL used to forbid trading first-rounders. Eric Lindros’s refusal to join Sault Ste. Marie in 1989 hastened a rule change. The exceptional-player rule was created when John Tavares came down the pike in 2005.

The greatness of Marner’s game is that he seldom takes the easy way out. The only box he still has to check off at the junior level, of course, would be to lead Team Canada to a gold medal in the 2017 world juniors. It might actually work to the benefit of Hockey Canada and the CHL if they conceded a handful of 19-year-olds would be more prepped for the WJC if they were fast-tracked to a men’s league.

Call that a win-win-win. That is well short of the 17 wins in a row London ran off to finish the season, but it’s more promising than hockey politics as usual.


State attorneys general are opening the latest inquiries into the companies’ practices as government scrutiny grows

This article is more than 1 year old

This article is more than 1 year old

Attorneys general in a number of US states are opening antitrust investigations into Facebook, New York’s attorney general, Letitia James, announced on Friday. A separate inquiry into Google is expected to be announced Monday.

The new investigations mark yet another blow to the major tech players, which have faced increasing scrutiny from the government – most prominently an antitrust investigation by the Department of Justice.

The investigations could open up big tech firms to legal actions, , as Microsoft faced 20 years ago. It could even result in breaking up companies, as a number of presidential candidates have called for in recent months.

Here’s what you need to know.

US states to launch antitrust and privacy inquiries into Facebook and Google Read more

What is an antitrust investigation?

Antitrust regulations exist to prevent businesses from holding too much centralized power over an industry. Legislators at state and federal levels can take action to promote competition by preventing mergers, breaking up big companies, and penalizing companies for anti-competitive behavior with fines.

Why is Facebook under investigation?

The state antitrust investigations announced on Friday will look at “whether Facebook has stifled competition and put users at risk”, James said in a statement.

Facebook has been accused of anticompetitive conduct, including buying up competing tech firms and copying features from rival apps.

“We will use every investigative tool at our disposal to determine whether Facebook’s actions may have endangered consumer data, reduced the quality of consumers’ choices, or increased the price of advertising,” James said.

Why is Google under investigation?

A separate investigation into Google will be led by a bipartisan group of about three dozen state attorneys general, according to the Wall Street Journal.

Details are scarce before the inquiry’s announcement, but the Journal reports the attorneys will focus on Google’s impact on digital advertising markets.

What does this mean for the two tech giants?

The newest antitrust investigations show the basic business model for the world’s largest technology firms is being increasingly threatened, said Cillian Kieran, privacy compliance expert and CEO of the privacy startup Ethyca.

They “should be seen as a bellwether for every business; compliance is not optional, rather better data practices and operations are becoming fundamental to business growth and safe operations,” he said.

Facebook is also facing pushback in Europe, where the General Data Protection Regulation (GDPR) passed in 2018. While state-level regulation in the US would not be as impactful as federal measures, states do have the ability to levy large fines in antitrust cases.

What other legal battles are Facebook and Google currently fighting?

The investigations come on the heels of a chaotic year for Facebook. In July, the company was hit with a $5bn fine, the largest ever levied by the Federal Trade Commission (FTC). It is also facing continuing scrutiny and investigation of its proposed digital currency, Libra, due to launch in 2020.

After the $5bn fine, the FTC announced it was carrying out a separate antitrust investigation against the company. House judiciary committee lawmakers also launched an antitrust review of Facebook and Google in June 2019.

Tech companies are also facing pressure from the White House, which has threatened to investigate anti-conservative bias on social media platforms including Facebook and Twitter, and hosted a forum on the topic in July.

Facebook has been hit with a number of other lawsuits, unrelated to antitrust, including one brought by the Washington DC attorney general regarding the Cambridge Analytica scandal, a suit in Illinois over the collection of facial recognition data, and a suit brought in California over a 2018 data breach of 30m accounts.

Google, Facebook, Amazon, and Apple are also being subjected to a broad antitrust review opened by the US justice department in July.

How have the companies responded?

Facebook has argued it does not monopolize the tech space and has said it will continue “a conversation” with lawmakers on the topic. Users have “multiple choices” for every service the platform provides, said Will Castleberry, the vice-president of state and local policy at Facebook.

“We understand that if we stop innovating, people can easily leave our platform,” he said. “This underscores the competition we face, not only in the US but around the globe. We will work constructively with state attorneys general and we welcome a conversation with policymakers about the competitive environment in which we operate.”

Google has yet to comment.


The present invention relates to a cushioning material for packing and, more particularly, to a cushioning material for packing, which is used to prevent damage to an article in, e.g., transporting the article.
A conventional cushioning material for packing, which can be burned, uses a cushioning member manufactured by a pulp molding method or adhesion of paper. The cushioning member is obtained by the pulp molding method such that a pulp material is sprayed to a mold having a predetermined shape to form a surface member made of the pulp material.
Another example is disclosed as a cushioning material (Japanese Patent Laid-Open No. 5-230269) in which pulp beads containing a reclaimed pulp as the main raw material are filled in a frame and foamed to have a shape conforming to the shape of the frame.
The physical strength cannot be assured by only the cushioning member manufactured by the pulp molding method because the thickness of the cushioning material itself is small. Even if an implementation such as formation of ribs is provided, it is difficult to apply this cushioning material as a cushioning material for packing a heavy article. To obtain a predetermined strength, the molding shape must be complicated.
In the cushioning material in which the beads consisting of a pulp material are foamed, the process is complicated, and a decrease in manufacturing cost is difficult. In addition, a large amount of material is required to result in high material cost. A large amount of waste is produced in discarding the cushioning material.


Q:

How to have a Mapbox callout marker shown by default and never dismissed?

I would like the annotation title of a Mapbox marker callout shown by default and not tappable. Does the API provide such possibilities?
EDIT:
Actually what i really need here is: how to show a callout marker to be displayed by default and never dismissed.

A:

To select an annotation and show it´s title without tapping it, this should be enough:
mapView.selectAnnotation(annotation, animated: true)

If you want to show all titles that´s not possible to do, only one is possible.
From your comment, see below update:
Inherit from MKMapViewDelegate and set map.delegate = self in your viewDidLoad.
Add a tap gesture to your map to detect taps outside annotations.
let tap = UITapGestureRecognizer(target: self, action: #selector(tappedOnMap))
map.addGestureRecognizer(tap)

Now we have two functions to work with:
func tappedOnMap(_ gesture: UITapGestureRecognizer){
    mapTapped = true
}

func mapView(_ mapView: MKMapView, didDeselect view: MKAnnotationView) {
    if mapTapped {
        map.selectAnnotation(map.annotations[1], animated: true)
    }
}

When you tap on your map thetappedOnMap function will be called. When you tap outside of an annotation the system will automatically call didDeselect that´s why I have declared a mapTapped Bool variable to keep track if the user has tapped on the map or on an annotation. In the didDeselect you can set which default title should be shown in the if-statement.
So basically, you detect taps outside an annotation and in the didDeselect function you check if it´s a tap on an annotation or on the map. If it´s on the map then you show a default or whatever you like annotation title otherwise the annotation the user has clicked on. You can also always return a default annotation, to do so remove the if-statement in the didDeselect function and just set map.selectAnnotation...
Here is  a sample project that I created for you to try with.


September Whole30 Challenge

It’s time to get ready for the September Whole30 Challenge!

Hey Friends! It’s that time of year when we start embracing routine again, and get organized for the end of summer and back to school. No better time than to start a round of Whole30!!

Did summer get the best of you? Around here, it tends to be a time of loose rules, tons of ice cream outings, late nights, and very little healthy meal prep. Don’t get me wrong, I LOVE summer…in fact I live for summer! Being from Michigan, I wait for it all year long and am super sad when it’s over.

I may be crying big tears that summer is coming to an end, but I also look forward to returning to our regular routine and getting back on track with healthy planned meals. It feels so good to get organized and eat well again. For me, the best way to reset is through a round of Whole30. It’s the perfect framework for kickstarting those healthy habits, cutting out processed food, and reenergizing!

Why Whole30?

It’s a whole lot more than a “diet” or “weight loss program.” Whole30 will teach you to pay attention to the way food makes you feel. Diet plays a HUGE role in our physical health, yet we tend to rely on pharmaceutical fixes when things go wrong. Changing the way you eat can be more powerful and healing than most drugs out there!

You’ll change your (unhealthy) relationship with food. Instead of turning to food for emotional or entertainment purposes, you will begin to see it as fuel.

It just makes sense…you can’t go wrong with real, whole foods. Our bodies weren’t designed to eat and digest processed, “food-like” items, yet 90% of what’s in the grocery store is just that.

You’ll learn what foods don’t work for you and which foods are fine to include in your “food freedom.” The Whole30 plan is not meant to be a permanent diet change. It’s a learning tool for shifting your mindset and understanding how certain foods affect your body. You may find that cheese, chocolate, and wine are not trigger foods for you and can be incorporated into your meal plans in moderation after the 30 days (phew!) Or maybe you discover that soy wreaks havoc on your system after you reintroduce it. It’s about finding that balance and eating for wellness, not just your tastebuds.

At the end of the 30 days, you will have more energy, will be sleeping better, will have eliminated the bloat, will notice big changes in your skin, and will probably have dropped some pounds.

It’s only 30 days! Is it hard? Yes and no…yes, you will have ups and downs but no, you’ve probably done a lot harder things in your life than this! And the benefits are immeasurable!

So if you’re contemplating trying Whole30 and looking for some extra resources and support, join me this September! I’ll be posting plenty of Whole30 recipes that are simple and family friendly. I’ll also be sharing my meals on my Insta Stories (for my own accountability!) and maybe even hosting a giveaway or two!

Want to join me?? Here’s what to do (and by the way, this doesn’t cost a thing!):

Start by making sure you are subscribed to my newsletter. You’ll get all the helpful resources and new recipes delivered straight to your inbox.

Join my private Facebook group for extra support! This will include daily check-ins, free resources, motivation, extra recipes and meal plans, and group support. Consider this group your accountability partner!

Head over to this post on How to Survive a Whole30. It’s my complete guide and includes a sample meal plan, grocery list, and tips for success.

Follow me on Instagramto see my daily food diary and don’t forget to tag me so I can see all the great food you are eating and recipes you are trying!

A quick disclaimer…I am not a certified Whole30 coach and I am not compensated for promoting this program – this is a free service I am offering because I love the program and want to form a community around this to inspire myself and others! Please don’t hesitate to reach out if you have questions or need some extra help. I would love to hear from you! You can reach me through email (nikki@tastythin.com), Instagram, or Facebook.

No Comments

Follow on Social

About Me

Hi there! I'm Nikki, the writer, recipe developer, and photographer here at Tastythin. This is where I share my favorite clean eating recipes, Whole30/Paleo meal plans, and meal prep tips for feeding your family well with zero fuss. Thanks so much for stopping by!


Q:

Delete a previously added rule in ufw

I created a firewall rule for an application and put into /etc/ufw/applications.d, added that rule with command
sudo ufw allow MyApp

but now I cannot delete it. When I do
sudo ufw delete MyApp

it just prints the list of available commands like my command was invalid, which is what it probably was, but I don't know any other ways.

A:

If you just want to delete the rule, the syntax is
sudo ufw delete allow MyApp

see: https://help.ubuntu.com/community/UFW


package dev.marcosfarias.pokedex.ui.dashboard.moves

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import dev.marcosfarias.pokedex.R

class MovesFragment : Fragment() {

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.fragment_moves, container, false)
    }
}


Monday, April 10, 2006

More on China, and Why Bush is Disastrous for National Security

I keep writing about our own weak economic condition, how dangerous it is, and how it hands control of our country to creditor nations like China. And news is trickling out, especially from Gary Hart's new book, about how focused on China some people in the Administration are. You'd think one of those high-rollers would be able to make the link and realize that our economic reliance on China is a serious security risk, but nope, it comes down to clear-thinking pacifists like NTodd to realize, and try to communicate to people with power, that the Chinese consider economics to be part of warfare, and that the link between our economic insecurity and our defense posture overlaps even into Iraq (where insurgents are bankrupting us for pennies a day), and that Bush's deficits and American job losses are endangering us while the Republicans bloviate about "national security" in the narrowest sense.


Download the Best Free Joomla Extensions - 2016This site is a collection of the best free extensions for Joomla. Preview and download the best components, modules or plugins for your next Joomla project.


br Conflict of interest br Acknowledgements This

2018-11-15

Conflict of interest
Acknowledgements
This research was funded by the Research Council of KU Leuven (OT/12/044) and the Research Foundation Flanders (G0920.12). Maaike Vandermosten is postdoctoral fellow of the Research Foundation Flanders. Sophie Dandache is gratefully acknowledged for participant selection and behavioural data collection. We also like to thank Ron Peeters, Alexander Leemans and Flavio Del’Aqua for technical assistance of DTI-processing.
Inadequate sleep is endemic in adolescence (). In addition to receiving less than optimal average sleep per night, variability in sleep duration and sleep–wake rhythms peak during adolescence (). Children and adolescents often need more sleep than adults, which is attributed to the putative function sleep serves in indole-3-carbinol maturation (). Indeed, researchers have proposed that the primary purpose of sleep is the promotion of brain development (). Unfortunately, adolescents may not receive the quality environmental context needed for restorative sleep and optimal neuronal development ().
Experimental research utilizing animal models and human adults has shown that impaired sleep, including sleep deprivation and variability in sleep–wake cycles, alters synaptic plasticity resulting in transcriptional alterations in protein synthesis, reduced cerebral metabolism, gray matter loss in cortical and subcortical structures, as well as neurogenesis as a result of increased circulating levels of the adrenal stress hormone, corticosterone (). Moreover, there is compelling evidence from high density EEG studies in youth measuring electrical activity of the brain showing that poor sleep can influence neural function, relating to impairments in memory formation and learning, executive functions, and emotional well-being (see ). Because sleep, and REM sleep in particular, facilitates memory consolidation, learning, and emotional development (), poor sleep in adolescence may be associated with a host of negative outcomes via alterations in brain development and function (). Yet, despite the important role of sleep in promoting brain development, we know little about how variations in sleep during adolescence are associated with alterations in the developing brain.
The adolescent years represent a key developmental period when the brain undergoes significant remodeling, which is accompanied by changes in the neurophysiological features of sleep, memory systems, socioemotional processing, and emotion regulation (). Myelination of frontocortical and frontostriatal white matter tracts continues through adolescence and into adulthood (). Cellular maturation of white matter facilitates faster and more efficient neural transmission and cognitive processing (). Thus, relative delayed maturation and subtle alterations in the microstructure of white matter fibers during development can affect neurocognition and behavior, including behavioral problems (), substance use (), and poor cognitive performance (). During periods of brain development, synaptic activity exhibits high levels of plasticity and connectivity and is therefore particularly influenced by environmental inputs (). Moreover, stressors can significantly modify brain development (). Sleep may therefore have an especially large impact on the developing adolescent brain. While sleep problems may not induce neural changes in white matter that are immediately evident, chronic or frequent sleep problems may have accumulating effects, impairing neuronal integrity, decreasing neurogenesis, and altering structural plasticity over time.
Adolescents demonstrate considerable variability in their sleep patterns, with intra-individual differences in sleep duration often exceeding between-person differences. Such variability in sleep is detrimental for health outcomes, perhaps more so than is chronically low sleep duration (). For example, adolescents with high day-to-day variability of sleep duration assessed by daily sleep logs over two weeks report greater depression, anxiety, fatigue, and lower subjective well-being controlling for average sleep duration (). Daily diary measurements offer an ideal method for assessing sleep. Single-time surveys do not provide estimates of the daily variability in adolescents’ sleep that go beyond differences between weekdays and weekends (). Moreover, daily reporting minimizes the amount of error that occurs in retrospective reporting of events and allows for a direct estimation of the daily variability in adolescents’ sleep time.


Dynamic seeding and in vitro culture of hepatocytes in a flow perfusion system.
Our laboratory has investigated hepatocyte transplantation using biodegradable polymer matrices as an alternative treatment to end-stage liver disease. One of the major limitations has been the insufficient survival of an adequate mass of transplanted cells. This study investigates a novel method of dynamic seeding and culture of hepatocytes in a flow perfusion system. In experiment I, hepatocytes were flow-seeded onto PGA scaffolds and cultured in a flow perfusion system for 24 h. Overall metabolic activity and distribution of cells were assessed by their ability to reduce MTT. DNA quantification was used to determine the number of cells attached. Culture medium was analyzed for albumin content. In Experiment II, hepatocyte/polymer constructs were cultured in a perfusion system for 2 and 7 days. The constructs were examined by SEM and histology. Culture medium was analyzed for albumin. In experiment I, an average of 4.4 X 10(6) cells attached to the scaffolds by DNA quantification. Cells maintained a high metabolic activity and secreted albumin at a rate of 13 pg/cell/day. In experiment II, SEM demonstrated successful attachment of hepatocytes on the scaffolds after 2 and 7 days. Cells appeared healthy on histology and maintained a high rate of albumin secretion through day 7. Hepatocytes can be dynamically seeded onto biodegradable polymers and survive with a high rate of albumin synthesis in the flow perfusion culture system.


/*
 * Gamedev Framework (gf)
 * Copyright (C) 2016-2019 Julien Bernard
 *
 * This software is provided 'as-is', without any express or implied
 * warranty.  In no event will the authors be held liable for any damages
 * arising from the use of this software.
 *
 * Permission is granted to anyone to use this software for any purpose,
 * including commercial applications, and to alter it and redistribute it
 * freely, subject to the following restrictions:
 *
 * 1. The origin of this software must not be misrepresented; you must not
 *    claim that you wrote the original software. If you use this software
 *    in a product, an acknowledgment in the product documentation would be
 *    appreciated but is not required.
 * 2. Altered source versions must be plainly marked as such, and must not be
 *    misrepresented as being the original software.
 * 3. This notice may not be removed or altered from any source distribution.
 */
#ifndef GF_RESOURCE_MANAGER_H
#define GF_RESOURCE_MANAGER_H

#include <functional>
#include <future>
#include <initializer_list>
#include <map>
#include <memory>
#include <stdexcept>

#include "AssetManager.h"
#include "GraphicsApi.h"
#include "Image.h"
#include "Font.h"
#include "Texture.h"
#include "Window.h"

namespace gf {
#ifndef DOXYGEN_SHOULD_SKIP_THIS
inline namespace v1 {
#endif

  /**
   * @ingroup game
   * @brief A generic cache for resources
   *
   * This function is a low-level class that is used in gf::ResourceManager.
   * It is generic enough so that you can use it for your own purpose.
   *
   * @sa gf::ResourceManager
   */
  template<typename T>
  class ResourceCache {
  public:
    /**
     * @brief A resource loader
     */
    using Loader = std::function<std::unique_ptr<T>(const Path&)>;

    /**
     * @brief Constructor
     *
     * @param loader A resource loader
     */
    explicit ResourceCache(Loader loader)
    : m_loader(std::move(loader))
    {

    }

    /**
     * @brief Deleted copy constructor
     */
    ResourceCache(const ResourceCache&) = delete;

    /**
     * @brief Deleted copy assignment
     */
    ResourceCache& operator=(const ResourceCache&) = delete;

    /**
     * @brief Get a resource
     *
     * If the resource exists in the cache, it is returned immediately.
     * Otherwise, it is searched thanks to an asset manager and put in the
     * cache. If the resource is not found, an exception is thrown.
     *
     * @param assets An asset manager
     * @param filename The filename of the resource
     * @return A reference to the resource
     * @throw std::runtime_error If the resource is not found
     */
    T& getResource(AssetManager& assets, Path filename) {
      // try to find a known prefix
      if (filename.is_absolute()) {
        Path relativePath = assets.getRelativePath(filename);

        if (!relativePath.empty()) {
          filename = relativePath;
        }
      }

      std::size_t h = boost::filesystem::hash_value(filename);

      auto it = m_cache.find(h);

      if (it != m_cache.end()) {
        return *it->second;
      }

      Path absolutePath = assets.getAbsolutePath(filename);

      if (absolutePath.empty()) {
        throw std::runtime_error("Path not found");
      }

      auto ptr = m_loader(absolutePath);

      if (!ptr) {
        throw std::runtime_error("Resource not loaded");
      }

      auto inserted = m_cache.emplace(h, std::move(ptr));

      if (inserted.second) {
        return *inserted.first->second;
      }

      throw std::runtime_error("Resource not inserted in the cache");
    }

  private:
    Loader m_loader;
    std::map<std::size_t, std::unique_ptr<T>> m_cache;
  };

  /**
   * @ingroup game
   * @brief A resource manager
   *
   * @sa gf::ResourceCache
   */
  class GF_GRAPHICS_API ResourceManager : public AssetManager {
  public:
    /**
     * @brief Default constructor
     */
    ResourceManager();

    /**
     * @brief Constructor with a list of search directories
     */
    ResourceManager(std::initializer_list<Path> paths);

    /**
     * @brief Get an image
     *
     * @param path A path to the image
     * @return A reference to the image
     * @throw std::runtime_error If the font is not found
     */
    Image& getImage(const Path& path) {
      std::lock_guard<std::mutex> lock(m_mutex);
      return m_images.getResource(*this, path);
    }

    /**
     * @brief Get a texture
     *
     * @param path A path to the texture
     * @return A reference to the texture
     * @throw std::runtime_error If the texture is not found
     */
    Texture& getTexture(const Path& path) {
      std::lock_guard<std::mutex> lock(m_mutex);
      return m_textures.getResource(*this, path);
    }

    /**
     * @brief Get a font
     *
     * @param path A path to the font
     * @return A reference to the font
     * @throw std::runtime_error If the font is not found
     */
    Font& getFont(const Path& path) {
      std::lock_guard<std::mutex> lock(m_mutex);
      return m_fonts.getResource(*this, path);
    }

  private:
    ResourceCache<Image> m_images;
    ResourceCache<Texture> m_textures;
    ResourceCache<Font> m_fonts;
    std::mutex m_mutex;
  };

#ifndef DOXYGEN_SHOULD_SKIP_THIS
}
#endif
}

#endif // GF_RESOURCE_MANAGER_H


Product Reviews

Is so pretty. Many complements at Thanksgiving dinner. I wear this fun, gorgeous blouse with some slinky Anat B brown and orange stretchy 60's bell bottom pants with tall wedge sandals. It is such a good look. I felt well dressed in this blouse. Fits so nice, hides body flawes. You have to wear a flesh colored stretch under-tank. (Posted on 11/27/14)

Write Your Own Review

You're reviewing:

Flare Sleeve Embroidered Beaded Top

Star Quality*
5
4
3
2
1 0

Full Name

Review Title

Write Your Review

Karen Kane Size Guide

XS

S

M

L

XL

Size

2

4

6

8

10

12

14

16

Bust

34

35

36

37

38

39 1⁄2

41

42 1⁄2

Waist

25 3⁄4

26 3⁄4

27 3⁄4

28 3⁄4

29 3⁄4

31 1⁄4

32 3⁄4

34 3⁄4

Hip

36 1⁄2

37 1⁄2

38 1⁄2

39 1⁄2

40 1⁄2

42

43 1⁄2

45

Karen Kane Plus Size Guide

Size

0X

1X

2X

3X

Bust

43

45

47

50

Waist

36 1⁄2

38 1⁄2

40 1⁄2

43 1⁄2

Hip

42 1⁄2

44 1⁄2

46 1⁄2

49 1⁄2

Size

14W

16W

18W

20W

22W

Bust

43

45

47

49 1⁄2

52

Waist

36 1⁄2

38 1⁄2

40 1⁄2

43

45 1⁄2

Hip

42 1⁄2

44 1⁄2

46 1⁄2

49

51 1⁄2

* Reg hip measurement is taken from 10" below the waist Plus size hip measurement is taken from 7" below the waist


Q:

Solo mining in Sep 2017

Is solo mining still doable today?
What is needed to tackle a whole block under a month alone, 100x Antminer S9, 100THash/s?
Another question, does location play a role in this? Would it matter if the "farm" is in Southern Africa away from most Bitcoin users in EU, US, Asia, would another miner that is closer to the "requester" always get the block first? Please advise!

A:

To achieve a whole block solo in a month you're going to need about 1500 TH/s
https://www.coinwarz.com/calculators/bitcoin-mining-calculator/?h=1500000.00&p=2600.00&pc=0.10&pf=0.00&d=922724699725.96300000&r=12.50000000&er=4486.23010000&hc=0.00
Just to double check that: https://blockchain.info/charts/hash-rate
Total hashrate: 7Million TH/s divided by 6*24*365/12 = 4380 blocks a month = 1598 TH/s
So you need about 115x AntMiner S9s which cost about US$ 1,288 each, so US$ 148,120.
But then the last block generated US$ 60,900 of bitcoin (14.4BTC).

Would it matter if the farm is in Southern Africa away from anyone, would another miner that is closer always get the block first?

Closer to what? There is no centre. And as blocks take an average of 10 minutes to produce, and they are small (1MB), so while there are race conditions they are the same for everyone everywhere.


Beijing is not a pleasant place to be in mid-July, though during my recent trip to the Chinese capital the present author had little time to enjoy the scenery or suffer the weather. Most of the time was spent talking with Chinese scholars interested in matters of North Korea and Chinese policy toward this peculiar place.

Due to obvious reasons, it might not be a good idea to go into excessive detail or name names: After all, North Korea is a sensitive issue, especially in China, and frank talk is only possible when confidentiality is respected. Nonetheless, it will not do any harm to share a few interesting things that I noticed while in Beijing recently – and sorry if you, esteemed reader, consider the following remarks somewhat vague.


Full text
=========

We have previously found that DA-3 mammary tumor cells transfected with the secreted form of the MUC1-gene (DA-3/sec) resulted in no tumor growth, whereas transfection with the neomycin vector alone (DA-3/neo) or with the transmembrane form of MUC-1 (DA-3/TM) did not change the growth characteristics of the DA-3 cells. Implantation of the DA-3/sec in nude mice resulted in tumor development, indicating that the immune response is a major cause of the lack of growth of these cells in immunologically intact mice. *In vitro* activated spleen cells from DA-3/sec-injected mice showed strong cytotoxicity against DA-3/sec, but not to DA-3, DA-3/neo or DA-3/TM cells. This cytotoxicity was clearly neutralized by *in vivo* administration of anti-CD3 monoclonal antibody, but not by anti-CD4 or anti-CD8 antibodies. Analysis of the mechanism of killing of the effector cells revealed that anti-Fas antibody did not affect the reaction. Furthermore, FasL-transfected EL-4 cells were not able to kill the DA-3 cells. In contrast, con-canomycin A, a perforin-specific inhibitor, greatly reduced the cytotoxicity of spleen cells from DA-3/sec-injected mice. These data suggest that a cell with a phenotype compatible to that of a NK T cell, may be responsible, at least in part, for the protection against the growth of DA-3/sec cells in immunocompetent mice.


Why It's Stupid to Only Eat Bacon on Special Occasions

NOMNOMNOM.

Seriously, though, this is true of a lot of special occasion foods. Foremost in my mind are pie, pancakes, ice cream, cake, and (of course) bacon.

Originally I was going to make this into a comic about ice cream because I didn't want to go with the cliche pre-approved joke topic of how awesome bacon is. It's easy to get away with lazy bacon jokes just because bacon itself is so well loved.

But then I thought about it and realized that, despite what I want to believe, I currently have much more bacon in my life than I do ice cream. And so, cliche that it may be, it's still more authentic for me to write a bacon joke than an ice cream joke (at least for the time being).

When I turn 40 and inherit my dad's blood pressure problems, I'll probably be croaking a different tune.