Q:

Is it important to model heteroscedasticity during multiple regression?

Given a multiple linear regression (eg. using a GLS procedure) between a response variable and several predictive variables with different, heteroscedastic relationships with the response variable and among them. How important it is to introduce in the model estimations of the different heteroscedasticities among model variables? e.g. between response and predictor 1, or among predictors one and 2...

A:

If I understand your question correctly, then you are asking how important it is to take heteroskedascticity into account when modelling in a multivariate linear regression setting.
I will use the following model for reference:
$$ y = X \beta + \varepsilon $$
where $y$ is $(n \times 1)$, $X$ is $(n \times k)$, and $\beta$ is $(k \times 1)$. So you have $k$ parameters including the constant and $n$ observations and $\varepsilon$ is the residual with same dimensions as $y$.
This representation is equivalent to:
$$y_i = \beta_0 + \beta_1 x_{i,1} + ... + \beta_{k-1} x_{i,k-1} + \varepsilon_i$$
So for ordinary least squares to be the best linear unbiased estimator (BLUE) you need the Gauss-Markov (GM) assumptions to hold:

$\mathit{E}(\varepsilon_i) = 0$ i.e. residuals have zero mean
$\mathit{Var}(\varepsilon_i) = \sigma^2 < \infty$ i.e. constant bounded residual variance
$\mathit{Cov}(\varepsilon_i,\varepsilon_j) = 0$ for $i \neq j$ i.e. homoskedascticity

You also need:

$X'X$ is full rank i.e. no multicollinearity

In the case conditions 2 or/and 3 are invalid OLS is still a consistent estimator, and furthermore your estimate for $\beta$ will be unbiased, thus valid. However you will not be able to test the significance of $\beta$ (i.e. t-test) as your standard errors will be incorrect. If this is important for you, then you need to either use GLS/FGLS (which will give a different estimate for $\beta$) or use a post-correction model e.g. HAC (heteroskedascticity-consistent standard errors).
GLS is a simple extension to OLS:
The estimate for OLS is:
$$\hat{\beta} = (X'X)^{-1}X'y$$
For GLS:
$$\hat{\beta} = (X'\Omega^{-1}X)^{-1}X'\Omega^{-1}y$$
where $\Omega$ characterises your heteroskedascticity structure i.e. $\mathit{E}(\varepsilon\varepsilon') = \Omega$
Typically, we do not know $\Omega$ so we must estimate it using an FGLS (Feasable GLS) procedure which is a multi-step process:

Estimate $\varepsilon$ using OLS
$$ \hat{\varepsilon} = y - X\hat{\beta}_{OLS}$$
Calculate $\hat{\Omega}_{OLS}$ i.e. $\hat{\Omega}_{OLS} = \frac{\hat{\varepsilon}\hat{\varepsilon}'}{n-1}$
Use $\hat{\Omega}_{OLS}$ to calculate $\hat{\beta}_{FGLS1}$
Repeat step 1 and 2 using $\hat{\beta}_{FGLS1}$ instead of $\hat{\beta}_{OLS}$ to obtain $\hat{\Omega}_{FGLS1}$
Finally use $\hat{\Omega}_{FGLS1}$ with the GLS procedure to calculate a final estimate for $\beta$

To answer your question, importance depends on whether you want to test significance of parameters or not and how big your sample size is. With large samples ($n > 200$) the efficiency gains between OLS and GLS will start to become marginal.


<file_state xmlns="http://oval.mitre.org/XMLSchema/oval-definitions-5#unix" id="oval:org.mitre.oval:ste:1704" version="1">
  <oexec datatype="boolean" operation="equals">true</oexec>
</file_state>


/**
 * Copyright 2018 LinkedIn Corporation. All rights reserved. Licensed under the BSD-2 Clause license.
 * See LICENSE in the project root for license information.
 */
package com.linkedin.nn.distance

import breeze.linalg.norm
import com.linkedin.nn.distance.DistanceMetric.DistanceMetric
import com.linkedin.nn.utils.VectorUtils
import org.apache.spark.ml.linalg.Vector

object L2Distance extends Distance {
  override val metric: DistanceMetric = DistanceMetric.l2

  /**
    * Compute distance between x and y
    * @param x input vector
    * @param y input vector
    * @return l2 distance between x and y
    */
  override def compute(x: Vector, y: Vector): Double = {
    // TODO What are the performance implications here? Can we do better using direct computation rather than using breeze
    norm(VectorUtils.toBreeze(x) - VectorUtils.toBreeze(y), 2.0)
  }
}


Q:

Check if a Python list item contains a string inside another string

I have a list:
my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

and want to search for items that contain the string 'abc'. How can I do that?
if 'abc' in my_list:

would check if 'abc' exists in the list but it is a part of 'abc-123' and 'abc-456', 'abc' does not exist on its own. So how can I get all items that contain 'abc' ?

A:

If you only want to check for the presence of abc in any string in the list, you could try
some_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
if any("abc" in s for s in some_list):
    # whatever

If you really want to get all the items containing abc, use
matching = [s for s in some_list if "abc" in s]

A:

Just throwing this out there: if you happen to need to match against more than one string, for example abc and def, you can combine two comprehensions as follows:
matchers = ['abc','def']
matching = [s for s in my_list if any(xs in s for xs in matchers)]

Output:
['abc-123', 'def-456', 'abc-456']

A:

Use filter to get at the elements that have abc.
>>> lst = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
>>> print filter(lambda x: 'abc' in x, lst)
['abc-123', 'abc-456']

You can also use a list comprehension.
>>> [x for x in lst if 'abc' in x]

By the way, don't use the word list as a variable name since it is already used for the list type.


Q:

The main thread randomly doesn't reach end (trying to sum natural numbers in concurrent threads)

I have the following code to find the sum of natural numbers from 1 to 5000. It's a simple exercise to practice concurrency.
public static void main(String[] args) throws InterruptedException {
        final int[] threadNb = new int[] {5};
        final Integer[] result = new Integer[1];
        result[0] = 0;
        List<Thread> threads = new LinkedList<>();
        IntStream.range(0, threadNb[0]).forEach(e -> {
            threads.add(new Thread(() -> {
                int sum = 0;
                int idx = e * 1000 + 1;
                while (!Thread.interrupted()) {
                    if (idx <= (e + 1) * 1000) {
                        sum += idx++;
                    } else {
                        synchronized(result) {
                            result[0] += sum;
                            System.err.println("sum found (job " + e + "); sum=" + sum + "; result[0]=" + result[0] + "; idx=" + idx);
                            Thread.currentThread().interrupt();
                        }
                    }
                }
                synchronized(result) {
                    System.err.println("Job " + e + " done. threadNb = " + threadNb[0]);
                    threadNb[0]--;
                    System.err.println("threadNb = " + threadNb[0]);
                }
            }));
        });
        threads.forEach(Thread::start);
        //noinspection StatementWithEmptyBody
        while(threadNb[0] > 0);
        System.out.println("begin result");
        System.out.println(result[0]);
        System.out.println("end result");
    }

Sometimes, when I run the code, the last 3 System.out.println() are not displayed. If I put a statement in the while(threadNb[0] > 0), like another System.out.println(), my problem never happen again.
Can anyone explain me this behaviour?
Thanks in advance for any help

A:

Nothing about how the threadNb variable is declared tells the JVM that it needs to make updates to it visible to other threads. At what point updates to your variable become visible to other threads is entirely up to the JVM implementation, it can make them visible or not depending on circumstances. Also, the JIT is free to re-order or optimize away code if it thinks it can get away with it, and it bases its decisions on the visibility rules. So it's hard to say exactly what happens here because the behavior is left unspecified by the Java language specs, but definitely you're having a problem where your worker threads' updates are usually not getting seen by the main thread.
If you replace the arrays with AtomicInteger then the updates are guaranteed to become visible to other threads. (Volatile works too, but AtomicInteger is preferred. In order to use volatile you have to make the variable an instance or class member.) If you save the updated values in a local variable then you don't need synchronization:
import java.util.*;
import java.util.stream.*;
import java.util.concurrent.atomic.*;
public class SumNumbers {
    public static void main(String[] args) throws InterruptedException {
        AtomicInteger threadNb = new AtomicInteger(5);
        AtomicInteger result = new AtomicInteger(0);
        List<Thread> threads = new LinkedList<>();
        IntStream.range(0, threadNb.intValue()).forEach(e -> {
            threads.add(new Thread(() -> {
                int sum = 0;
                int idx = e * 1000 + 1;
                while (!Thread.currentThread().isInterrupted()) {
                    if (idx <= (e + 1) * 1000) {
                        sum += idx++;
                    } else {
                        int r = result.addAndGet(sum);
                        System.out.println("sum found (job " + e + "); sum="
                        + sum + "; result=" + r
                        + "; idx=" + idx);
                        Thread.currentThread().interrupt();
                    }
                }
                System.out.println("Job " + e + " done.");
                int threadNbVal = threadNb.decrementAndGet();
                System.out.println("Job " + e + " done, threadNb = " + threadNbVal);
            }));
        });
        threads.forEach(Thread::start);
        //noinspection StatementWithEmptyBody
        while(threadNb.intValue() > 0);
        System.out.println("result=" + result.intValue());
    }
}

where you can see the updates become visible.
Busy waiting is not preferred since it wastes CPU cycles. You do see it in lock-free programming, but it is not a good thing here. Thread#join will work or you can use a CountdownLatch.
Be aware that using Thread#interrupted() clears the interrupted flag. Usually it's used when you're about to throw InterruptedException, otherwise it's better to use Thread.currentThread().isInterrupted(). It doesn't hurt anything in this specific case because the while loop test is the only thing using the flag, so whether it gets cleared is irrelevant.


Baldwin Ford, Kentucky

Baldwin Ford is a rural unincorporated community in northeast Caldwell County, Kentucky, United States.

References

Category:Unincorporated communities in Caldwell County, Kentucky
Category:Unincorporated communities in Kentucky


Market Overview

Tickers

Articles

Keywords

Winnipeg Roofing Company Now Open Seven Days A Week To Meet Growing Demand

Winnipeg roofers Racka Roofing are now open seven days a week to meet a growing homeowner and commercial demand for roofing services in the South Manitoba area.

Winnipeg, Manitoba (PRWEB) October 24, 2012

In response to an overwhelming demand in the Winnipeg area, Racka Roofing is available for roof installations, roofing repair and roofing quotes seven days a week. The company has now staffed their team to enable roofing services to customers who may have job commitments that inhibit their available time for home improvements. The company plans to work seven days a week repairing both residential and commercial roofs from weather damage, and poorly executed contracting jobs.

In today's economy, consumers might be working up to seven days a week, which leaves them a narrow window for free time. The company understands their customers' professional lives often take precedent. For this reason, Racka is pleased to offer more availability with the same top quality and customer service.

Because of professional commitments, many homeowners put off home improvements. Replacing or repairing a roof is essential in keeping or increasing the value of the home, and sometimes replacing or repairing a roof can come at an inconvenient time for the homeowner. Luckily for these homeowners, Racka is now open seven days a week to help customers at the most convenient time for them.

Racka Roofing is a veteran in the roofing industry. With more than thirty years in the business, and highly skilled and qualified roofers, Racka has provided thousands of residential homeowners and commercial developers with professionally designed roofs, and high quality roofing services. Racka's commitment to courtesy and expertise has made them a leader in the roofing and contracting industry. Learn more about Winnipeg roofing at their website, http://www.racka.ca


1. Field of the Invention
This invention relates to an optical amplifier repeater for use with an optical amplification multi-stage repeating system.
2. Description of the Related Art
In the field of very long haul optical transmission across an ocean over several thousands kilometers, development of an optical amplification multi-stage repeating system which employs a repeating system in which a plurality of optical amplifier repeaters are interposed at a plurality of stages like a chain in an optical transmission line in order to compensate for the loss involved in transmission of signal light is proceeding. An optical amplifier repeater amplifies and outputs signal light inputted thereto as it is, and allows achievement of considerable reduction in cost by reduction in number of parts in each repeater and is expected to achieve improvement in reliability comparing with a conventional a regeneration repeater which performs, after it converts an optical signal inputted thereto into an electric signal, synchronization regeneration (to re-arrange code pulses to correct time positions) and waveform regeneration (to return code pulses into pulses having a correct waveform free from a distortion) and then converts the resulted electric signal back into an optical signal to be outputted. Further, it has an advantage in that it is also possible to increase the transmission rate by improvement in terminal equipments on the opposite sides of it in future.
By the way, in an optical amplification multi-stage repeating system which employs such an optical amplifier repeater as described above, it is necessary to normally supervise the conditions of each optical amplifier repeater and each optical transmission line and, when a trouble occurs, promptly specify and repair a location where the trouble has occurred. Accordingly, it is demanded to provide an optical amplifier repeater which can achieve an increase in reliability in detection of occurrence of a trouble and specification of the trouble occurrence location and allow realization of stabilized communication.
A construction of an optical amplification multi-stage repeating system is shown in FIG. 13. The optical amplification multi-stage repeating system is constructed such that, as shown in FIG. 13, a downstream side terminal equipment 1 and an upstream side terminal equipment 2 are connected to each other by an ascending line 4 and a descending line 5 each formed from an optical fiber by way of a plurality of optical amplifier repeaters 3. Supervision of the condition of the ascending line 4 is performed by introducing part of signal light sent from the downstream side terminal equipment 1 using the ascending line 4 into the descending line 5 at each of the optical amplifier repeaters 3 and measuring the signal light at the downstream side terminal equipment 1. 0n the other hand, supervision of the condition of the descending line 5 is performed by introducing part of signal light sent from the upstream side terminal equipment 2 using the descending line 5 into the ascending line 4 at each of the optical amplifier repeaters 3 and measuring the signal light at the upstream side terminal equipment 2. It is to be noted that, in the following description, an optical transmission route for introducing signal light of the ascending line into the descending line or introducing signal light of the descending line into the ascending line will be referred to as loop back path.
Further, detection of a trouble point on an optical transmission line is performed by sending a predetermined optical pulse or the like from the downstream side terminal equipment 1 using the ascending line 4, introducing part of reflected light of the ascending line 4 into the descending line 5 at each of the optical amplifier repeaters 3 and measuring the reflected light at the downstream side terminal equipment 1. Meanwhile, detection of a trouble point of the other transmission line is performed by sending a predetermined optical pulse or the like from the upstream side terminal equipment 2 using the descending line 5, introducing part of reflected light of the descending line 5 into the ascending line 4 at each of the optical amplifier repeaters 3 and measuring the reflected light at the upstream side terminal equipment 2. It is to be noted that, in the following description, an optical transmission route for introducing reflected light of the ascending line into the descending line or introducing reflected light of the descending line into the ascending line will be referred to as return path.
A construction of the conventional optical amplifier repeater having a loop back path described above will be described with reference to FIG. 14. The optical amplifier repeater shown includes an ascending optical amplifier 6A, a descending optical amplifier 6B, a first optical coupler 7 and a second optical coupler 8. Each of the first optical coupler 7 and the second optical coupler 8 is a two-input two-output optical coupler having two input ports and two output ports.
An input side 4A of the ascending line is connected to the input side of the ascending optical amplifier 6A, and a first input port 7A of the first optical coupler 7 is connected to the output side of the ascending optical amplifier 6A. An output side 4B of the ascending line is connected to a first output port 7D of the first optical coupler 7. An input side 5A of the descending line is connected to the input side of the descending optical amplifier 6B, and a first input port 8A of the second optical coupler 8 is connected to the output side of the descending optical amplifier 6B. An output side 5B of the descending line is connected to a first output port 8D of the second optical coupler 8. A second output port 7E of the first optical coupler 7 and a second input port 8B of the second optical coupler 8 are connected to each other by a first optical transmission line 9A, and a second input port 7B of the first optical coupler 7 and a second output port 8E of the second optical coupler 8 are connected to each other by a second optical transmission line 9B.
Thus, signal light sent from the input side 4A of the ascending line is amplified by the ascending optical amplifier 6A and sent to the output side 4B of the ascending line by way of the first input port 7A and the first output port 7D of the first optical coupler 7. Meanwhile, signal light sent from the input side 5A of the descending line is amplified by the descending optical amplifier 6B and sent to the output side 5B of the descending line by way of the first input port 8A and the first output port 8D of the second optical coupler 8. Further, part of signal light inputted to the first optical coupler 7 is outputted from the second output port 7E of the first optical coupler 7 and sent to the output side 5B of the descending line by way of the first optical transmission line 9A and the second input port 8B and the first output port 8D of the second optical coupler 8. Part of signal light inputted to the second optical coupler 8 is outputted from the second output port 8E of the second optical coupler 8 and sent to the output side 4B of the ascending line by way of the second optical transmission line 9B and the second input port 7B and the first output port 7D of the first optical coupler 7. In this manner, an ascending loop back path is constituted from the first optical coupler 7, the first optical transmission line 9A and the second optical coupler 8 while a descending loop back path is constituted from the second optical coupler 8, the second optical transmission line 9B and the first optical coupler 7.
Subsequently, a construction of another conventional optical amplifier repeater having a loop back path and a return path described above will be described with reference to FIG. 15. The optical amplifier repeater shown includes an ascending optical amplifier 10A, a descending optical amplifier 10B, a first optical coupler 11, a second optical coupler 12, a third optical coupler 13 and a fourth optical coupler 14. Each of the first to fourth optical couplers 11, 12, 13 and 14 is a two-input two-output bidirectional optical coupler having two input ports and two output ports.
The input side of the ascending optical amplifier 10A is connected to an input side 4A of an ascending line, and the output side of the ascending optical amplifier 10A is connected to a first input port 11A of the first optical coupler 11. A first output port 11D of the first optical coupler 11 is connected to an output side 4B of the ascending line. The input side of the descending optical amplifier 10B is connected to an input side 5A of a descending line, and the output side of the descending optical amplifier 10B is connected to a first input port 13A of the third optical coupler 13. A first output port 13D of the third optical coupler 13 is connected to an output side 5B of the descending line.
A first input port 12A of the second optical coupler 12 is connected to a second output port 11E of the first optical coupler 11 by way of a first optical transmission line 15A, and a first output port 12D of the second optical coupler 12 is connected to a second input port 13B of the third optical coupler 13 by way of a second optical transmission line 15B. A first input port 14A of the fourth optical coupler 14 is connected to a second output port 13E of the third optical coupler 13 by way of a third optical transmission line 15C, and a first output port 14D of the fourth optical coupler 14 is connected to a second input port 11B of the first optical coupler 11 by way of a fourth optical transmission line 15D. A second input port 14B of the fourth optical coupler 14 is connected to a second input port 12B of the second optical coupler 12 by way of a fifth optical transmission line 15E.
Thus, signal light sent from the input side 4A of the ascending line is amplified by the ascending optical amplifier 10A and sent to the output side 4B of the ascending line by way of the first input port 11A and the first output port 11D of the first optical coupler 11. Part of the signal light inputted to the first optical coupler 11 is outputted from the second output port 11E of the first optical coupler 11 and sent to the output side 5B of the descending line by way of the first optical transmission line 15A, the second optical coupler 12, the second optical transmission line 15B and the third optical coupler 13. By this, a loop back path for the ascending line is constructed. Further, reflected light from the output side 4B of the ascending line is sent to the output side 5B of the descending line by way of the first optical coupler 11, the fourth optical transmission line 15D, the fourth optical coupler 14, the fifth optical transmission line 15E, the second optical coupler 12, the second optical transmission line 15B and the third optical coupler 13. By this, a return path for the ascending line is constructed.
Meanwhile, signal light sent from the input side 5A of the descending line is amplified by the descending optical amplifier 10B and sent to the output side 5B of the descending line by way of the first input port 13A and the first output port 13D of the third optical coupler 13. Part of the signal light inputted to the third optical coupler 13 is outputted from the second output port 13E of the third optical coupler 13 and sent to the output side 4B of the ascending line by way of the third optical transmission line 15C, the fourth optical coupler 14, the fourth optical transmission line 15D and the first optical coupler 11. By this, a loop back path for the descending line is constructed. Further, reflected light from the output side 5B of the descending line is sent to the output side 4B of the ascending line by way of the third optical coupler 13, the second optical transmission line 15B, the second optical coupler 12, the fifth optical transmission line 15E, the fourth optical coupler 14, the fourth optical transmission line 15D and the first optical coupler 11. By this, a return path for the descending line is formed.
Further detailed description of the loop back paths and the return paths in the second conventional optical amplifier repeater described above will be given below. For the convenience of description, the optical transmission lines in the optical amplifier repeater are divided into 16 paths with the directions taken into consideration, and reference characters from a to p are applied to them as shown in FIG. 15. In particular, a normal loop back path of the ascending line is constituted from the paths a-g-i-e. A normal loop back path of the descending line is constituted from the paths d-k-m-b. Further, a normal return path of the ascending line is constituted from the paths c-n-o-i-e. A normal return path of the descending line is constituted from the paths f-j-p-m-b.
Since the maximum transmission distance of an optical amplification multi-stage repeating system ranges over up to several thousands kilometers, it is necessary to accurately detect occurrence of a trouble as well as to specify and rapidly repair a location at which the trouble has occurred with a high degree of accuracy. However, according to the prior art shown in FIG. 14, while, for example, in the ascent, part of signal light sent from the input side 4A of the ascending line by way of the optical amplifier 6A is sent to the output side 5B of the descending line by way of the first optical coupler 7, the first optical transmission line 9A and the second optical coupler 8, since a loop (annular light transmission path) is formed from the first optical coupler 7, the first optical transmission line 9A, the second optical coupler 8 and the second optical transmission line 9B, circulation light which has circulated the loop once, twice or more is superimposed as noise with part of the signal light for supervision of a trouble. The noise (in the specification of the present application, such noise will be referred to as circulation noise) makes a factor to deteriorate the signal to noise ratio (SNR) of signal light, and detection of a trouble cannot be achieved with a high degree of accuracy. It is to be noted that this quite similarly applies to the descent.
Meanwhile, according to the second conventional optical amplifier repeater shown in FIG. 15, the loop back paths have the same problem as the conventional optical amplifier repeater of FIG. 14. In particular, referring to FIG. 15, as an abnormal loop back path of the ascending line, paths a-g-i-k-m-g-i-e are constructed while, as abnormal loop back paths of the descending line, paths d-k-m-g-i-k-m-b are constructed, and the signal to noise ratio is deteriorated by light which circulates in the abnormal loop back paths.
Further, as abnormal return paths of the ascending line, paths c-n-o-i-k-m-g-i-e (hereinafter referred to as first abnormal return path), paths c-n-l-j-p-m-g-i-e (hereinafter referred to as second abnormal return path) and further paths c-n-l-j-h-n-o-i-e (hereinafter referred to as third abnormal return path) are constructed. As abnormal return paths of the descending line, paths f-j-p-m-g-i-k-m-b (hereinafter referred to as first abnormal return path), paths f-j-h-n-o-i-k-m-b (hereinafter referred to as second abnormal return path) and further paths f-j-h-n-l-j-p-m-b (hereinafter referred to as third abnormal return path), and the signal to noise ratio is deteriorated by circulation light which circulates in those abnormal return paths.
In this manner, according to the prior art, there is a problem in that light which circulates between a plurality of optical couplers constituting loop back paths and return paths is superimposed as circulation noise with signal light or reflected light for detection of a trouble and deteriorates the signal to noise ratio (SNR) of the signal light or reflected light, resulting in failure in detection of a trouble with a high degree of accuracy. Further, the conventional optical amplifier repeaters have another problem in that the intensity of signal light is sometimes rendered unstable by a variation in optical loss caused by deterioration of an optical transmission line with respect to time or the like.


version https://git-lfs.github.com/spec/v1
oid sha256:6d8b1e77b09afc6edaa506fbcd700175ec0faec1b8b384e1dcfdc789320a9ebb
size 20857


Clinical outcomes of laser in situ keratomileusis with an aberration-neutral profile centered on the corneal vertex comparing vector planning with manifest refraction planning for the treatment of myopic astigmatism.
To evaluate clinical outcomes of laser in situ keratomileusis (LASIK) with an aberration-neutral profile centered on the estimated visual axis (considering 70% of the pupil offset toward the corneal vertex) comparing vector planning with manifest refraction planning for the treatment of myopic astigmatism. Muscat Eye Laser Center, Muscat, Sultanate of Oman, Muscat, Oman. Retrospective case series. The outcomes were evaluated at a 6-month follow-up in eyes showing ocular residual astigmatism (ORA) over 0.75 diopters (D) preoperatively. Eighty-five treatments were based on manifest astigmatism (preoperative sphere -2.11 D ± 1.3 [SD], cylinder -0.90 ± 1.0 D), and 79 treatments were based on vector planning (preoperative sphere -2.46 ± 1.5 D, cylinder -0.78 ± 0.79 D). At a 6-month follow-up, 128 patients (164 eyes) were evaluated and no significant differences were observed between the 2 groups in terms of difference between corrected distance visual acuity and uncorrected distance visual acuity (UDVA) (P = .1, t test and Fisher exact test Snellen lines 1 or better, P = .4) and postoperative UDVA (P = .05, t test and Fisher exact test for UDVA 20/16 or better, P = .3). Significant differences were observed between the 2 groups in terms of achieved spherical equivalent (P = .04), corneal toricity, and ORA (P < .001, t test and Fisher exact test for ORA ≤0.75 D, P < .001). Performing LASIK for myopic astigmatism with the vector planning approach resulted in comparable visual outcomes to manifest refraction planning.


1. Field of the Invention
This invention relates to a lightweight aerogel reflector particularly one having a reflective layer on a low-density aerogel substrate and method for manufacturing same.
2. The Prior Art
Optical systems including space-based optical system often have need for large reflectors, including mirrors. Presently available under current ULE (ultra low expansion) glass technology, a mirror substrate with a density of 2.2 gms/cc is obtainable, which can result in mirrors weighing hundreds of pounds, which limits the size of the optical system according to launch payload constraints. If a lower density mirror substrate can be fabricated, larger reflectors and optical systems could be launched and deployed in space for improved observation of the skies and of the Earth below.
There has now been discovered a method for manufacture of lightweight reflectors having a substrate density considerably below the 2.2 gms/cc of the above prior art per ULE glass technology. In fact the present invention provides reflector substrates with densities approaching a full order of magnitude below presentday ULE glass mirrors to as low as 0.01 gms/cc or as expressed herein, 10 mg/cc.
The present invention employs a reflector substrate of low density or LD. By a low density or LD substrate as used herein, is meant one with a density of 10-500 mg/cc.
Such aerogel is typlified by high porosity and thus a rough surface not apparently suitable for optical substrate applications. In fact no prior art literature was found on low-density aerogel optical substrate applications. However, the present invention provides a method for adapting LD aerogels as suitable substrates for lightweight optical applications including mirrors.


Q:

Rails ActionMailer template updates not taking effect

I'm making changes to a Rails site that I was not involved in creating.  This site has a form for new users to sign up, which generates an email to administrators who can approve the new account.
When the template for these emails is changed, the content of the generated emails does not change.  How do I get changes to the email template to take effect?
I'm new to Rails, so I might be missing something obvious.  I believe these are the relevant files:
app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
  default from: 'webmaster'

  def new_user_notification_mailer(user, admin_email)
    @user = user
      mail(to: admin_email, subject: 'New User Registration')
  end
end

app/workers/send_new_user_notification_worker.rb
class SendNewUserNotificationWorker
  include Sidekiq::Worker

  def perform(user_id)
    user = User.find(user_id)
    if user
      User.is_admin.each do |admin|
        if admin.email
          UserMailer.new_user_notification_mailer(user, admin.email).deliver
        end
      end
    end
  end
end

app/views/user_mailer/new_user_notification_mailer.html.slim
doctype html
html
  head
    meta content='text/html; charset=UTF-8' http-equiv='Content-Type'
  body
    p
      | New user
      b #{@user.first_name} #{@user.last_name}
      | has registered on the web site.
    | You can
    = link_to "Manage", edit_admin_user_url(@user)
    | this account from admin panel.

I've been restarting the server (of the working copy) with this:
RAILS_ENV=production bash -c 'bundle exec rake assets:clean; bundle exec rake bower:resolve; bundle exec rake assets:precompile'; kill `cat tmp/pids/server.pid`; nohup bundle exec rails s -e production -p 4000 1>> log/rails.sever.log 2>> log/rails.server.err.log &

A:

You need to restart your sidekiq process also. It will re-load your rails environment and code changes for sidekiq process. After this, your changes should reflect.


Q:

Download from external subversion repository and merge own code

My project "A" is in my own svn repository. My project A needs a reference to an external project "B". But I need to modify the code of project B. I cannot commit code to project B since this is not my project. I want to checkout project B and merge code into project B.
What I have tried so far:

Added project B as external link into a folder named B_source. (the update command downloads the external code. This step works)
I copied with windows explorer the content of B_source into a folder named B_changes and applied the source code changes I needed. (works)
I checked out project B into a folder named B_patched. (works)
In TortoiseSVN right click on B_patched, click "merge", select "merge two different trees", set "From: B_source" and "To: B_changes" and "Working Copy: B_patched".
"Test merge" showed the message "svn/B_source path not found". I guess it's because of the external link!?

What am I doing wrong?

A:

Merging is for taking two trees in the same repository and merging them to your working copy from the same repository. You would then commit that merge to the repository.
What you are trying to do, is apply custom changes to a repository, without being able to commit those changes. You cannot do this with the "merge" command.
What you're probably looking for is a vendor branch. The idea of a vendor branch is that you keep a project in your repository (call it "vendor") that you only update by copying unmodified code from the external project, and committing those updates. You create a branch of that project wherever you want (call it "patched") in a place convenient for you to pull into your build. You apply any of your custom changes to this branch. Periodically, as the external project makes updates, you will copy those updates into "vendor", commit, and then merge "vendor" to "patched" and commit those changes.
TortoiseSVN makes this easy with a context-menu entry when you right-click and drag from one unversioned folder into a folder in your repository which you maintain. You will not use svn:exterals in this case, you will simply be committing code, where most of the changes come from the customer.


Anquan Boldin's time with the San Francisco 49ers is off to a great start, as the NFL named him NFC Offensive Player of the Week. Boldin caught 13 passes for 208 yards and a touchdown in his 49ers debut, keying the passing attack in the 34-28 win over the Green Bay Packers. There was plenty of praise for the performance following Sunday's game.

The 49ers head up to Seattle this week, and it will be interesting to see how Boldin follows up that performance. The 49ers faced a banged up Packers secondary, with the defense keying in on the run. Boldin would have found success even with more pressure against the pass, but it is still worth noting the context of the performance. The Seahawks have as strong a secondary as anybody in the NFL, although we do not yet know the status of Brandon Browner.

The 49ers moved Boldin all around the field, and I suspect we'll see him moving around once again on Sunday night. At some point (and possibly quite frequently), he will face off with Richard Sherman. While I know plenty of folks don't like Sherman, he is a great cornerback and this will be a fascinating matchup. Boldin has the size advantage, but Sherman will do what he can to get in Boldin's face and slow him down.

KEEP READING


Appearance and mental retardation: some first steps in the development and application of a measure.
A measure of atypical appearance derived from components developed during the course of a study of 22-year-old mentally retarded adults was described. Hypotheses about relationships between mental retardation, biological damage, and appearance were tested and confirmed. Atypical appearance increased with severity of retardation. Mildly retarded young adults who received no mental retardation services after age 16 were more atypical in appearance than were nonretarded peers. Issues relating to the appearance measure and the results were discussed.


8/29/2012 – OKC, OK — Debi Mangrum with No Boundaries was interviewed by KWTV News9 regarding the murder trial of Fulgencio Lopez. Lopez is accused of murdering and engaging in necrophilia with Lori Green.

Green, 39, suffered from severe addiction to crack cocaine and could often be found prostituting herself along South Robinson Ave.

Mangrum, along with other volunteers, sat in on the three-day trial in support of the memory of Green and to gain additional insights to the crime and judicial process.

Lopez was found guilty and sentenced to life with the possibility of parole.

2/1/2012 – OKC, OK — Volunteers with No Boundaries International begin one of their very first efforts on South Robinson Ave. by taking Prayer Walks along the same streets shared with pimps, prostituted women, drug dealers and ‘Johns.’


Described embodiments relate generally to web-based video streaming and specifically to adaptive video streaming over a content delivery network using fast network protocols.
Networked video streaming provides users with rich opportunities to upload, watch and share videos in fast-growing online video entertainment communities. Video streaming sites such as YOUTUBE™ allow content providers to upload videos and download videos from the video streaming sites. Users can easily share videos by mailing links to others, or embedding them on web pages or in blogs. Users can also rate and comment on videos, bringing new social aspects to video viewing.
Videos have various video quality levels, for example including low, medium and high. Video quality is one characteristic of a video passed through a video processing/transmission system and is often measured by the perceived degradation compared to the original video. Streaming a high quality video generally requires a high bitrate, high resolution and high requirement for network bandwidth to support video streaming.
It is challenging to stream a high quality video over a content delivery network (e.g., the Internet) with acceptable delay using existing network protocols for the web. For example, the existing network protocols Hpertext Transfer Protocol (HTTP) and Transmission Control Protocol (TCP) are not particularly designed to be latency sensitive. Because HTTP can only fetch one video resource at a time, a server delay of 500 milliseconds prevents reuse of a TCP channel for additional streaming requests. Recently improved network protocols, such as SPDY protocol, allow concurrent HTTP requests to run across a single TCP session for a variety of content delivery applications. Thus, there is a need for adaptive video streaming over a content delivery network using fast network protocols


/*
 * JBoss, Home of Professional Open Source.
 *
 * Copyright 2019 Red Hat, Inc., and individual contributors
 * as indicated by the @author tags.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.wildfly.event.logger;

import java.util.Map;
import java.util.concurrent.Executor;
import java.util.function.Supplier;

/**
 * A logger for various events such as access or audit logging.
 *

 * Note that a {@linkplain #getEventSource() event source} is an arbitrary string used to differentiate logging events.
 * For example a web access event may have an even source of {@code web-access}.
 *

 *
 * @author James R. Perkins
 */
@SuppressWarnings({"StaticMethodOnlyUsedInOneClass", "unused", "UnusedReturnValue"})
public interface EventLogger {

    /**
     * Creates a new logger which defaults to writing {@linkplain JsonEventFormatter JSON} to
     * {@link StdoutEventWriter stdout}.
     *
     * @param eventSource the identifier for the source of the event this logger is used for
     *
     * @return a new event logger
     */
    static EventLogger createLogger(final String eventSource) {
        return new StandardEventLogger(eventSource, StdoutEventWriter.of(JsonEventFormatter.builder().build()));
    }

    /**
     * Creates a new event logger.
     *
     * @param eventSource the identifier for the source of the event this logger is used for
     * @param writer      the writer this logger will write to
     *
     * @return a new event logger
     */
    static EventLogger createLogger(final String eventSource, final EventWriter writer) {
        return new StandardEventLogger(eventSource, writer);
    }

    /**
     * Creates a new asynchronous logger  which defaults to writing {@linkplain JsonEventFormatter JSON} to
     * {@link StdoutEventWriter stdout}.
     *
     * @param eventSource the identifier for the source of the event this logger is used for
     * @param executor    the executor to execute the threads in
     *
     * @return the new event logger
     */
    static EventLogger createAsyncLogger(final String eventSource, final Executor executor) {
        return new AsyncEventLogger(eventSource, StdoutEventWriter.of(JsonEventFormatter.builder().build()), executor);
    }

    /**
     * Creates a new asynchronous event logger.
     *
     * @param eventSource the identifier for the source of the event this logger is used for
     * @param writer      the writer this logger will write to
     * @param executor    the executor to execute the threads in
     *
     * @return a new event logger
     */
    static EventLogger createAsyncLogger(final String eventSource, final EventWriter writer, final Executor executor) {
        return new AsyncEventLogger(eventSource, writer, executor);
    }

    /**
     * Logs the event.
     *
     * @param event the event to log
     *
     * @return this logger
     */
    EventLogger log(Map<String, Object> event);

    /**
     * Logs the event.
     *

     * The supplier can lazily load the data. Note that in the cases of an
     * {@linkplain #createAsyncLogger(String, Executor) asynchronous logger} the {@linkplain Supplier#get() data} will
     * be retrieved in a different thread.
     *

     *
     * @param event the event to log
     *
     * @return this logger
     */
    EventLogger log(Supplier<Map<String, Object>> event);

    /**
     * Returns the source of event this logger is logging.
     *
     * @return the event source
     */
    String getEventSource();
}


120 F.3d 275
U.S.v.Hinton*
NO. 96-8440
United States Court of Appeals,Eleventh Circuit.
July 15, 1997
Appeal From:  N.D.Ga. ,No.95002691CR1GET

1
Affirmed.

*
 Fed.R.App.P. 34(a); 11th Cir.R. 34-3


Description:For three hundred years, Majeh's spirit has served as the King of Hell's envoy while Majeh's body lay preserved in a special hidden lake. However, when demons escape from the netherworld and hijack bodies in the world of the living, Majeh's spirit is restored to his body and he is charged with hunting down the escapees ... in less than a month. A master swordsman, Majeh is drawn to a town hosting a grand fighting competition. That same town is being plagued by strange and grisly murders. Could the two events somehow be connected? And, in a city full of fighters, could Majeh meet his match?


1. Field of the Invention
The present invention relates generally to cryptography in computer networks and, more specifically, to a system and method to check whether a computer device runs the correct version of a software program based on obfuscated initiation values of a cryptography protocol.
2. Description of the Related Art
Content player software configured to run on client computing devices is typically fairly complex. Oftentimes, security flaws in the content player software are discovered after the software is released and downloaded by many client computing devices. Such security flaws may result in copyrighted content being viewed or copied by end-users or others without proper authorization. To remedy such security flaws, the client content player software is updated to a new version that is designed to address the security flaws, and a client computing device is not able to download copyrighted content until the client computing device verifies the new version of the content player software has been loaded properly onto the device.
Typically, each version of the content player software is represented by a different version number. The version number of the content player software currently residing on the client computing device is stored in a memory on the client computing device that is associated with the content player software. One drawback of this approach is that the end-user of a client computer can easily “hack” the content player software and change the version number without downloading a new version of the content player software corresponding to the modified version number and developed to address one or more security flaws in the old version of the content player software. As a result, the end-user of the client computing device may be able to avoid DRM and other copy protections implemented by the content provider and exposed through the one or more security flaw in the content player software.
As the foregoing illustrates, what is needed in the art is a more secure approach to verifying that an application currently installed on a client device is secure.