What is Functional Decomposition?

Question: Functional Decomposition, what is it useful for and what are its pros/cons? Where are there some worked examples of how it is used?
Comment: Where does it say that no question should be asked on SO unless it has low hits on Google?
Comment: I asked because there is not already an answer on SO, and there is some criticism of FD as a design method at http://stackoverflow.com/questions/250044/design-pattern-or-code-smell-denormalised-data-as-a-result-of-functional-decompo/250132#250132
Answer: Functional Decomposition is the process of taking a complex process and breaking it down into its smaller, simpler parts.
For instance, think about using an ATM. You could decompose the process into:

Walk up to the ATM
Insert your bank card
Enter your pin

well...you get the point.
You can think of programming the same way. Think of the software running that ATM:

Code for reading the card
PIN verification
Transfer Processing

Each of which can be broken down further. Once you've reached the most decomposed pieces of a subsystem, you can think about how to start coding those pieces. You then compose those small parts into the greater whole. Check out this Wikipedia Article:
Decomposition (programming)
The benefit of functional decomposition is that once you start coding, you are working on the simplest components you can possibly work with for your application. Therefore developing and testing those components becomes much easier (not to mention you are better able to architect your code and project to fit your needs).
The obvious downside is the time investment. To perform functional decomposition on a complex system takes more than a trivial amount of time BEFORE coding begins.
Personally, I think that amount of time is well worth it.
Comment: I would like to add that it is not only used to decompose processes into its functions, but can also be used to decompose an entire system into into its smaller functions.  When used correctly, a functional decomposition can be one of the fastest ways to specify the scope and functionality of the system, communicate and get agreement between different stakeholders.  Normally people are taught to make use of a diagram, similar to a WBS, but in my experience hierarchical bullet lists communicates just as effectively and is far easier and quicker to draft and edit.
Answer: It's the same as WorkBreakDown Structures (WBS), mindMapping and top down development - basically breaking a large problem into smaller, more comprehensible sub-parts.
Pros

allows for a proactive approach to programming (resiting the urge to code)
helps identify the complex and/or risk areas of a project (in the ATM example, security is probably the more complex component)
helps identify ALL components of a project - the #1 cause of project/code failure (via Capers Jones) is missing pieces - things not thought of until late in the project (gee, I didn't realize I had to check the person's balance prior to handing out the $)
allows for decoupling of components for better programming, sharing of code and distribution of work

Cons - there are no real CONS in doing a decomposition, however there are some common mistakes

not breaking down far enough or breaking down to far - each person needs to determine the happy level of detail needed to provide them with the insight to the component without overdoing it (don't break down into programming lines of code...)
not using pre-existing patterns/code modules into consideration (rework)
not reviewing with clients to ensure the scope is correct
not using the breakdown when actually coding (like designing a house than forgetting about the plan and just starting to nail some boards together)
Answer: Here's an example: your C compiler.
First there's the preprocessor: it handles #include and #define and all the macros.  You give it a file name and some options and it returns a really long string.  Let's call this function preprocess(filename).
Then there's the lexical analyzer.  It takes a string and breaks it into tokens.  Call it lex(string).  The parser takes tokens and turns them into a tree, call it parse(tokens).  Then there's a function for converting a tree to a DAG of blocks, call it dag(tree).  Call the code emitter emit(dag), which takes a DAG of blocks and spits out assembler.
The compiler is then:
emit(dag(parse(lex(preprocess(filename)))));

We've decomposed a big, difficult to understand function (the compile function) into a bunch of smaller, easier to understand functions.   You don't have to do it as a pipeline, you could write your program as:
process_data(parse_input(), parse_config())

This is more typical; compilers are fairly deep programs, most programs are broad by comparison.
Answer: Functional decomposition is a way of breaking down the complex problem into simpler problems based on the tasks that need to be performed rather than the the data relationships.  This term is usually associated with the older procedure-oriented design.
A short description about the difference between procedure-oriented and object-oriented design.
Answer: Functional decomposition is helpful prior to creating functional requirements documents. If you need software for something, functional decomposition answers the question "What are the functions this software must provide". Decomposing is needed to define fine-grain functions. "I need software for energy efficiency measurement" is too general. That's why we break this into smaller pieces until the point where we clearly understand all the functions the systems need to provide. This can be later used as a checklist for completeness of a system.
A functional requirements document (FD) is basically a textual representation of functional decomposition. Coding directly from the FD may be ok for procedural languages, but it is not good enough for object-oriented solutions, because it doesn't identify objects. Neither is good for usability planning and testing.
My opinion is that you should take some time to create a FD, but not to use it too much of the time. Consult every person that knows the process you are following with your system to find all the functions needed.
I have a lot of experience in software design, development, and selling, and I use functional decomposition as the first step of development. I use it as a base for the contract, so the client knows what they will get and I know what I must provide.

What is Functional Decomposition?


Fundamental and the anti-fundamental representation of $U(n)$

Question:
I guess that conventionally one thinks of the fundamental representation and the anti-fundamental representation of $U(n)$ as the complex $n-$dimensional representation and its complex conjugate.
But $U(n)$ being a rank $n$ group shouldn't there be $n$ fundamental representations of it corresponding to the $n$ fundamental weights of it (dual to its $n$ simple roots)?
In the fundamental representation I think of the Cartan of ${\cal u}(n)$ to be spanned by the $n$ diagonal matrices of ${\cal u}(n)$ which have all $0$s except a $1$ then I guess the $n$ vectors $(0,..,1,..0)$  (the $1$ shifting through the $n$ positions) can be thought of as the $n$ weight-vectors of the representation?

And the same vectors with the $1$ replaced by $-1$ be thought of as the weight vectors of the anti-fundamental representation? (since conjugate transpose of any element of ${\cal u}(n)$ is negative of it?)

Naively the above does seem to depend on whether I think of the Lie algebra of $U(n)$ to be $n\times n$ Hermitian or skew-Hermitian matrices depending on whether or not I have an "$i$" while taking the exponentiation from the Lie algebra.
It would be helpful if someone can help disentangle this (possibly there is being a mix of what is an intrinsic property of the group and what is convention)

Is there an analogoue of the above construction for $U(n)$?
Comment: There's a clash of terminologies between what mathematicians and what physicists call "fundamental" representations. Cf. https://math.stackexchange.com/q/444401/96384, https://math.stackexchange.com/q/2109949/96384, https://math.stackexchange.com/q/3229123/96384. Upshot: What physicist call "the fundamental" and "antifundamental", mathematician might call the "defining" (or "standard") rep. and its dual; which both are among the larger class of rep.s that mathematicians call "fundamental", of which there are as many as the rank of the root system.
Comment: What is a fundamental representation (in the phrase "$n$ fundamental representations")?
Comment: @Qiachu Yuan I guess one definition of a "fundamental representation" is that these are those whose highest weights are fundamental weights. Now there is one fundamental weight corresponding to every simple co-root and there will be as many simple co-roots as the rank of the Lie algebra and hence my guess about that count.
Answer: In some contexts, the repns $\bigwedge^k \mathbb C^n$ for $k=1,\ldots,n$ are called "fundamental". The highest weight on the group is $(h_1,\ldots,h_n)\rightarrow h_1\ldots h_k$. These are not the standard positive simple roots $h_i/h_{i+1}$, but are obviously mutually expressible.
In somewhat more detail: perhaps it is best to use $SU(n)$, rather than $U(n)$, so that the group and algebra are semi-simple, rather than merely reductive, so certain terminologies are completely correct, etc.
First, irreducibility can be proven by the highest-weight criterion: there is a unique vector in $\bigwedge^\ell \mathbb C$, namely, up to scalars, $e_1\wedge\ldots\wedge e_\ell$, annihilated by the standard unipotent radical, upper-triangular matrices (in the Lie algebra). This is not instantaneous, but is a do-able exercise.
Second, then, that vector has the obvious, expected eigenvalue: diagonal $h_1,\ldots,h_n$ in the group acts by $h_1\ldots h_\ell$. [Edit: previously, the $\ell$ was an erroneous superscript...]
Comment: Thanks for your answer! Could you kindly elaborate on your answer a bit? Like if you give a few lines of explanation as to why the anti-symmetric powers of $\mathbb{C}^n$ are at all irreducible representations of $U(n)$ and in what sense they are "fundamental" and what are their weights (..like what is the eigenvalue way of defining the $h_i$s..)
Comment: garret Thanks for the update. I didn't understand the notation you used in the last line when you say, ``$h_1...h^l$". Could you explain that? And what is the choice of Cartan subalgebra that you are using to specify your weights? So is there any sense in which all representations of $U(n)$ can be constructed from $\wedge ^k \mathbb{C}^n$ for various $k$?
Comment: Oop, sorry, that should have been subscript $\ell$, not superscript. The Cartan subalgebra is diagonal things. Yes, the idea was to say that all repns can be constructed in a "virtual" sense that we must allow "subtractions" of (direct summand) repns to obtain everything from direct sums of multiples of the exterior-power repns.


what is the difference between thunk, futures, and promises?

Question: There are wiki articles about them: (http://en.wikipedia.org/wiki/Futures_and_promises, http://en.wikipedia.org/wiki/Thunk_(delayed_computation)). But I am not sure what are the exact differences between the three as a programming language concept? Are futures and promises only applicable in concurrent programming?
Answer: An example of each, using javascript since everybody can read it.
Please don't use this code in production, use a real library, there are plenty of good ones.
var a, b, c, async_obj;  // assume exist

// CommonJS - for reference purposes

try {

  async_obj.asyncMethod(a, b, c, function (error1, result1) {

    if (error1) {
      console.error(error1);
    } else {
      console.log(result1);
    }

  });

} catch (ex1) {
  console.error(ex1);
}

// Thunk - "a parameterless closure created to prevent the evaluation of an expression until forced at a later time"

function makeThunkForAsyncMethod (cb) {
  return function () {
    async_obj.asyncMethod(a, b, c, cb);
  }
}

var my_thunk = makeThunkForAsyncMethod(function (error1, result1) {
  if (error1) {
    console.error(error1);
  } else {
    console.log(result1);
  }
});

setTimeout(function () {
  try {
    my_thunk();
  } catch (ex1) {
    console.error(ex1);
  }
}, 5e3);

// Promise - "a writable, single assignment container which sets the value of the future"

function makePromiseForAsyncMethod () {
  var
    future_then_cb,
    future_catch_cb,
    future
  ;

  future = {
    then: function (cb) {
      future_then_cb = cb;
    },
    catch: function (cb) {
      future_catch_cb = cb;
    };
  };

  try {
    async_obj.asyncMethod(a, b, c, function (error1, result1) {
      if (error1) {
        if (future_catch_cb) {
          future_catch_cb(error1)
        }
      } else {
        if (future_then_cb) {
          future_then_cb(result1);
        }
      }
    });
  } catch (ex1) {
    setTimeout(function () {
      if (future_catch_cb) {
        future_catch_cb(ex1);
      }
    });
  }

  return future;
}

// Future - "a read-only placeholder view of a variable"

var my_future = makePromiseForAsyncMethod();

my_future
  .then(function (result) {
    console.log(result);
  })
  .catch(function (error) {
    console.error(error);
  })
;

A Promise chain would be like the above contrived example, but it would work on collections and be more robust.
Comment: codes does explain a lot, but if you can add more explanation, better.
Comment: still can't get the fabricate diffs, is `thunk` kind of lazy function ?
Comment: @zinking yes basically. I think of it as a wrapper function like for middleware.  Like a python decorator but whenever you want.
Answer: in functional programming, the most difference between thunk and promise is, thunk is pure while promise is impure.
function thunkDemo() {
  return function(callback) {
    asyncMethod(someParameter, callback);
  };
}

function promiseDemo() {
  return new Promise(function(resolve, reject) {
     asyncMethod(someParameter, function(err, data) {
        if(err) return reject(err);
        resolve(data);
     });
  });
}

when thunkDemo is called, the asyncMethod will not be called until the inner method called, so thunkDemo is pure with no side affect.
when promiseDemo is called, it will call asyncMethod immediatly, which means, it's not pure.
Answer: Thunk is a general concept of a small function which is used only to adapt the call or prepare/modify it in some way and then redirect to the proper function. Things like promises, futures, closures, wrappers, stubs or implementations of the concept of virtual function tables in some OO languages (like C++) are just special use cases of thunks (thunks are often used to implement them).
Answer: These are quite broad terms, and their usage and interpretations vary with context. So a specific answer can only be given for a specific context.
In javascript promise libraries for example, the terms "deferred" and "promise" are used for what your linked wiki article refers to as "promise" and "future" respectively, in that a "deferred" is the interface for resolving or rejecting the value, and "promise" is the interface for reading it, with some more specifics that allow easily constructing new promises for dependent values, but not actually changing the original promise.
I just stumbled upon the JS library "co" (https://github.com/visionmedia/co).
It was the first time I heard of "thunks", and it seems to be using the term in a slightly different sense from slf's answer, and much more specific than your linked wiki as well. It is not a parameterless function that returns the value, it is a function accepting a callback that will call the callback with the value, often asynchronously.
In this specific library's case, thunks and promises are very close to each other: a promise is an object with a "then" method function that sets a callback for getting the value; a thunk is directly a function that sets a callback for getting the value.


Preserving session in HttpClient

Question: I'm attempting to log into a wesbite. On my first request, I do a POST on the login page with the username and password and log in successfully. Using the same instance of HttpClient, I do a second request on a different page on the website, this time a GET request, but this time, the page returned is not logged in. I think this is due to the fact that the second request is being done in a new session.
After the first request, among the many cookies it returns, this is the session ID cookie:
name: ASPSESSIONIDSCSCSBCS
value: GBAJALJBOGKBFLAELPNKEDOE

And after the second request, among many other cookies, I have two different session ID cookies:
name: ASPSESSIONIDSCSCSBCS
value: GBAJALJBOGKBFLAELPNKEDOE

name: ASPSESSIONIDSCSCSBCS
value: MBAJALJBDBOKPEHNCDDFOCBC

I'm assuming that because the session id is different during the second request, it ignores cookies with the first session id.
How do I fix this?
Edit: This is my code
public HttpClient httpclient = new DefaultHttpClient();
public CookieStore cookieStore = new BasicCookieStore();
public HttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

//The first request
 HttpPost httppost = new HttpPost("http://www.deeproute.com/deeproute/default.asp");
 List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
 nameValuePairs.add(new BasicNameValuePair("cookieexists","false"));
 nameValuePairs.add(new BasicNameValuePair("name", mUser));
 nameValuePairs.add(new BasicNameValuePair("password", mPassword));
 nameValuePairs.add(new BasicNameValuePair("subbera", "Login"));

 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
 res = httpclient.execute(httppost, localContext);

//The second request
 HttpGet rosterGet = new HttpGet("http://deeproute.com/deeproute/?sel=rosterlook&myleagueno=6&myteamno=12");
 res = httpclient.execute(rosterGet, localContext);

Comment: See https://stackoverflow.com/q/23251941/32453
Answer: I think you should overwrite cookieStore with a
 cookieStore = (BasicCookieStore) httpClient.getCookieStore();

only after success in login..
after that I think you should set again the Context with new cookieStore..
Let me know!

Preserving session in HttpClient


Evaluate output of different dimensionality reduction methods

Question: I used PCA, ICA, and FA to perform dimensionality reduction on my data. How can I measure which method performed best? If I reduce my data to 3 dimensions and plot it, what type of trends would represent a good transformation?
Comment: Then perhaps you should use some measure of "clusteredness" as the measure of how well dimensionality reduction worked?
Comment: This depends on what you are trying to achieve with dimensionality reduction. Why are you doing it?
Comment: I'm doing it as a preprocessing step to clustering.
Answer: All three methods have different assumptions and way of calculating components. These are data transformation techniques and the actual dimension reduction depends upon the correlation between the variables. For example in PCA, the eigen values represent percentage variance explained by the PCs. These are eigen values of the correlation matrix of the data. Suppose in my data analysis I see my eigen values are not very different. This means my variables are not very highly correlated. If I decide to choose few PCs for the purpose of dimension reductions, I am actually loosing valuable information (I wont do it). On the other hand if the first few eigen values are large compared to the rest, I can happily perform dimension reduction without loosing valuable information. you may look at the scree plot for this pattern. Similarly ICA focuses on Independence and FA assumes N(0,1) factors and the rest as error. To perform FA you need to decide on the number of factors and that may not be easy for all kind of problems. To summarize - you should evaluate the result in context with your data and have a theoretical understanding of these techniques.
Comment: I think for pre-processing step to cluster analysis, PCA should be helpful. For predictive analytics, I would recommend first separate the variables as per their predictive power and then apply the transformation (if required). Please note that adding additional technique not necessarily improves the accuracy. You should try multiple combination of models with/without the transformation and evaluate them in out of sample data. After that you will know which is best technique for your data.
Comment: What would you suggest if my data is mostly uncorrelated?
Comment: Could you please elaborate what is the nature of your problem? I mean what is the exact objective you are trying to achieve during/after the dimensionality reduction?
Comment: I'm using it as a pre-processing step to hierarchical clustering and may try to use it as a pre-processing step to some sort of predictive analytics as well.
Answer: I had the same question recently and bump into the nice notebook here https://www.kaggle.com/arthurtok/interactive-intro-to-dimensionality-reduction
In general, the idea is to run your dimensionality reductions, transform data and visualize to see if it is now possible to create clusters on it (like in your case). You can see than using for example PCA and its principal components how realistic is to use them to cluster the data. Here you are definitely limited by the amount of axes.
Alternatively, one can think about the reconstruction of the data (from Hands-on book from Géron)
<code>X_reduced = pca.fit_transform(X_train)
X_recovered = pca.inverse_transform(X_reduced)
</code>
And calculate the mean squared distance between the original data and the reconstructed data. In this case the error shows not the best DR technique but what technique reduces dimensions more accurately and/or makes it possible to recover the original data set. It might be useful in some cases as well
Answer: Consider using a holdout sample and evaluate MSE there.
Often when dimensionality reducing, the end goal is to get a simpler model in order to predict more accurately in small samples. If that is indeed the purpose, splitting your sample in two, estimating on one, and then assessing fit on the other will tell you a lot. If your sample is too small for this, perhaps K-fold cross validation may be informative as well (essentially, like doing a 10% holdout 10 times and averaging the error on the holdout sample).
Make sure to compare with a reasonable benchmark, e.g. OLS.
Comment: This is being automatically flagged as low quality, probably because it is so short.
At present it is more of a comment than an answer by our standards. Can you expand
on it? We can also turn it into a comment.


svg image zoom , pan and edit

Question: I have an svg image. I want to zoom when the mouse scroll and I want to drag the image. I am able to drag and zoom it when it is an image. But I want the svg image to be in the object for further editing.

I used these following scripts:
 - jquery.kinetic.min.js
 - jquery.mousewheel.min.js
 - imagepanner.js
To zoom the abc.svg. It is working fine. But If i place it as an object like this:

 <object id="abc_svg" data="Corp_BluePrint_FACT_Accounting_updated.svg"  width="900" height="900" type="image/svg+xml"> </object>

the zoom and pan is not working when i place it as an object as above
Answer: svg-pan-zoom seems to be a good option for you. It is a simple pan/zoom solution for SVGs in HTML. I have worked with this lib with a number of projects, and it just works like a charm.
Check out this simple demo 404 and find out more on their GitHub page.
Comment: Thanks for the idea.. But here in demo widows.load is used. I have Many functions in my code SO i can't use windows.load. Is there any alternative?
Comment: I want to call the svg image in this object to zoom and pan

svg image zoom , pan and edit


flagged question - flag declined - question deleted

Question: Just wondering. I flagged a question about code to bypass AD/SharePoint permissions to access files. The flag was declined and I was told to comment rather than flag. But some time later the question was "removed from SharePoint Stack Exchange for reasons of moderation" and can now no longer be accessed. Was my flag valid in the first place, then?  If so, why does it still show as declined in my profile, but the question has been moderated away?
Comment: maybe user deleted question him/her self ?
Comment: @MuhammadRaja: You can't moderate yourself. At least not in this context.
Comment: Difficult to answer without seeing the question.
Comment: It's in my flag history http://sharepoint.stackexchange.com/users/flag-summary/3476 -- The title of the question was "Using js/other code to access files bypassing AD/sharepoint permissions". The hover popup shows the following in the preview: "My key goal is to use some form of js as a basis for security authentication in sharepoint (e.g. sessions).I have a subsite within my organization and it was locked down by the admins who stopped ..." -- In the question body the asker described how s/he wanted to circumvent the restrictions that the IT staff had set on the site.
Comment: My flag comment was "Not sure if bypassing security is a welcome topic". It was overruled by someone with the comment " declined - It's a valid question, and in my opinion the answer is "don't". Please expand your comment into an answer rather than flag. Thanks." But now the question has been deleted for reasons of moderation. Go figure.
Answer: Just saw this, and I am pretty sure I declined this flag.
My reasoning, from what I remember, was that while technically bad practice, there was nothing wrong with the question per se. It really needs a good answer explaining why this is a bad idea. I don't think there is any reason to censor these sorts of questions - rather they are an opportunity to add useful information to the site as Anders says.
If the question had obviously malicious or facetious intent then that would be a different matter.
No idea why the question was deleted. Community is a robot. It may be responding to a number of delete requests reaching a threshold.
Comment: No worries. Thanks @SPDoctor, for taking the time to clarify. I was not aware that there are robots scouring and deleting questions, but thinking about it, it **does** make sense.
Comment: Sorry I can't add more detail - I don't know that much about the inner workings of StackExchange. The SE team are tweaking these rules and algorithms all the time.
Comment: That's fine. I was not expecting you to justify or explain to me the inner workings of SE. I'm still on a learning curve in this here place and often marvel at how things work here. It's not a bad place to be. No grovels from my side after the explanations given above.
Comment: We don't have an option "Helpful but declined" when dealing with flags. Your other several dozen flags were all helpful and were acted on. Please keep flagging posts that may need mod attention. Thanks.
Answer: I am not sure why "Community" (a special account on StackOverflow) have deleted this Q, but I agree with my fellow moderator that even though a question is not a best practice, it should be allowed.
The answers should then ofcourse mirror the fact that this is not a good practice, so that this is evident for other users later browsing by.
My reasoning is that the more info there is to be found describing bad practices, the better the chance that the bad practices is not followed in the future?
Comment: The Community account is probably enforcing the general SE theme of "... if what you are aiming for is malicious, please take it somewhere else (and by that I mean outside Stack Exchange)." quoted from here: http://meta.stackexchange.com/questions/133497/is-there-any-se-site-where-questions-related-to-hacking-are-on-topic
Comment: Community is a robot. If one of the SE admins had done it you would see their individual moderator account.


Managing Test Data For Jmeter for Master - Slave Configuration

Question: I am doing performance testing with a master slave configuration. Currently I am using 4 Slave Machines, and have unique test data files on each slave machine.  I am wondering if there is a best practice or recommendation on whether to have unique Test Data per Slave or have all of the same Test Data on all of the slave machines.
Answer: If you want to have a configuration in which each thread should use unique data, even across slave machines, then you should use different Test Data files on different test machine. As you have to place this Test Data file on each slave machine (with same location as on master) it means JMeter pick Test Data (CSV file) from the local machine and not from the Master, so placing different data set on different machine will ensure uniqueness of the test data parameters being used by each thread in distributed mode. This is what I have used and it works fine.
Additionally, there is a field in CSV Data Set Configuration i.e. "Sharing Mode" may be it is helpful for using same Test Data across slave machines. But, I have never tried this one. you can refer to this link for more information about sharing mode.
But, just to keep it simple, use different test data files over different machines.
Comment: Thanks, for the feedback. I thought that having unique data across all of  the slaves was the best approach, but wanted to see how other people handle this.


backup: Incremental backup of really huge directories?

Question: I have 2 servers running linux, one of them hosts picture sharing service (currently there's 193G of pictures) and I want to have incremental backup. Copying whole site every time is not an option so I want something like rsync but it should be able to use previous versions of backup and just hardlink up to date files. Is there some existing solution for this?
Comment: Rsync does do exactly that already using the `--link-dest` option.  Many tools use rsync exactly like you describe.
Comment: http://serverfault.com/questions/349983/git-style-incremental-backup-with-rsync/349986#349986
Comment: Thanks people! Now i'll go play around with all of that. First will try vanilla rsync with --link-dest.
Answer: rsnapshot perfectly fits the bill here.
rsnapshot
Comment: @Daniel, it is simply stable not abandoned.  Rsync usage hasn't really changed, filesystems really haven't changed.  So why would a backup tool that simply copies files need to be updated?  The core component of rsnapshot is rsync, which is separate program and is still being updated.  Long term stability is a very good sign for a backup tool.
Comment: seems it is, but what i'm afraid of is its last release (2008), seems it has been abandoned :(
Answer: I'd recommend you rdiff-backup, which is using the rsync library. It creates incremental backups. The best thing is that the most recent backup is always stored as-is, so you can just use cp or scp etc. to restore data. If you need older data, there's an argument that lets you restore data.
We're using it to backup about 450GiB of data every night.
Example: Show backups:
root@xenbackup:~# rdiff-backup -l /backup/new/web1_example_org/
Found 26 increments:
    increments.2012-02-24T14:38:25+01:00.dir   Fri Feb 24 14:38:25 2012
    ...
    increments.2012-03-14T07:00:55+01:00.dir   Wed Mar 14 07:00:55 2012
    increments.2012-03-15T06:53:51+01:00.dir   Thu Mar 15 06:53:51 2012
    increments.2012-03-16T06:54:03+01:00.dir   Fri Mar 16 06:54:03 2012
    increments.2012-03-17T07:35:28+01:00.dir   Sat Mar 17 07:35:28 2012
    increments.2012-03-18T06:23:44+01:00.dir   Sun Mar 18 06:23:44 2012
    increments.2012-03-19T06:16:30+01:00.dir   Mon Mar 19 06:16:30 2012
    increments.2012-03-20T06:17:56+01:00.dir   Tue Mar 20 06:17:56 2012
Current mirror: Wed Mar 21 06:20:32 2012

Example: Back up folder /var/www on web1.example.org to local /var/backups:
root@xenbackup:~# rdiff-backup firstname.lastname@example.com::/var/www /var/backups

There's some cool documentation here.
rdiff-backup creates a subdirectory called rdiff-backup-data where it stores its incremental data and logs. You can even tell it to delete data older than 2weeks or so. Check the docs, this thing is amazing! :-)
Comment: seems fitting, but again, last release in 2009.
Comment: Well, I'm using a lot of software which was released some years ago. As long as it works, there's nothing to complain. And it's open source, so anyone is welcome to contribute to it.
Comment: My current experience is, that rdiff-backup is very slow. Can't recommend.
Answer: Just for completeness sake, dirvish is a great tool that performs this task as well.


Why does our Solar system not feel the effects of dark matter the way our galaxy does?

Question: It is said that stars rotate around the nucleus of our galaxy at too high a speed than should be possible based on the amount of visible matter. An explanation given for this is dark matter. However, the orbits of our planets and other objects in our solar system appear to follow predictable Newtonian/Einsteiniam rules. Why do we not see the same rotational anomaly in our Solar system that we see in the wider galaxy?
Comment: I would think scale size is important
Comment: Dark **energy** has nothing whatsoever to do with this.
Answer: Because the effect is negligible compared to gravitational disturbances from various visible masses in the Solar system, see Does Dark Matter affect the motion of the Solar System? on Science Blogs:

"Let's calculate it," the professor said to me, and so we spent the next half-hour doing just that. When we finished, we'd found that about $10^{13}$ kg of dark matter ought to be felt by Earth's orbit, while around $10^{17}$ kg would be felt by a planet like Neptune. These values are tiny; the Sun has a mass of $2 ✕ 10^{30}$ kg, while values in the $10^{13} – 10^{17}$ kg range are the mass of a single modest asteroid. Someday, we may understand the Solar System well enough that such tiny differences will be detectable, but we're a good factor of $100,000+$ away from that right now. And that number is only down to around 100,000 now thanks to some new observations, which were egregiously misrepresented by MIT Technology Review. Dark matter is negligible when it comes to Solar System orbits, and it isn't even close to being detectable.

So why do we detect the effects of dark matter in the motion of galaxies but not in the Solar system? As pointed out in the comments, the difference is scale: effects detectable at the scale of galaxies become too small when scaled down to a single planetary system. For details of calculations see Xu-Siegel's Dark Matter in the Solar System and Constraints on Dark Matter in the Solar System by Pitjev-Pitjeva.


Stop Pipes From Pulling Through The Wall

Question: I had shower valves replaced about a month ago, and ever since then now if you pull the shower knob it pulls out a great deal of pipe through the cut-out.  I'm thinking the easiest solution to this would be to caulk the cut-outs, but I am not sure if there are any simpler solutions or negative impacts on doing such.  Images below - what is the best way to handle this?
Comment: TBH, since you _paid_ a plumber to do this, I'd call him up and kindly request that he fix it. If necessary, work your way from a nice request to a strong demand at each additional phone call until you reach satisfaction. This strikes me as being pretty shoddy workmanship from a pro. Additionally, did your contract with him include patching the drywall, or was that explicitly to be on your?
Comment: Caulking is only for sealing against water from getting into the wall.  Those pipes would need to be anchored so they are stopped from moving.
Comment: waitaminute... From the question: "I had shower valves replaced about a month ago". From a comment: "a pro did this initially about 2 years ago". Which is it? Call the guy who was there a month ago and have him make it right...
Comment: @crip659 - any recommendation on anchoring them?  There is only the drywall cut-out that was removed (open area in the rear image) and the backside of the tub to anchor to....what would be the best method for anchoring in this scenario
Comment: @FreeMan - yes a pro did this initially about 2 years ago, it was originally hidden and tucked away behind a medicine cabinet but since we are now remodeling the bathroom it has come to light.  I have a pro coming tomorrow to do drywall repair so fingers crossed i'll be able to support the pipes preperly before then.  The issue i have now run into is one of the screws is completely stripped so I'm having to google on how to remove a stripped screw before I can progress on this piece
Comment: Where that drywall cutout is, my house has a tasteful cabinet door done in the style of the rest of the house. *I can change my tub faucet in 5 minutes*.  You might consider making that a cabinet door yourself. Anyway, anchoring down the tub faucet appropriately *is part of the job*.  Mine clamps to the holes in the tub, I'm not sure why yours doesn't.
Answer: To expand on Jack's good answer:
There is approximately 3" from the inside of the drywall closest to the camera to the side of the plumbing closest to the camera.
It appears that the plumber used the pipe tape (the silver metal band with all the holes), to try to attach the fixture to the 2x6, then weakly attached the 2x6 to some 2x4 above and below.

I would remove the screws holding the pipe tape, then pull all that lumber out (if possible without causing significant drywall damage.
I would then reuse one of those pieces of lumber (if any are long enough) to lay horizontally behind the fixture so that it is snug between the studs either side.
I would then reuse the pipe tape to firmly attach the fixture to the selected piece of wood.
Then I'd pull that piece of wood toward me, pulling the escutcheons toward the wall on the other side and screw the horizontal piece into the studs.

Doing it this way (attach the pipe to the board, then the board to the studs) ensures you get the board attached to the studs in the right place for however tight or loose you made the pipe tape and ensures the escutcheons are snugly against the wall inside the tub.

To make this process easier, you'd want to cut the drywall back further on the left & right sides. You'll want to cut at least to the edge of each stud, if not to the center of the stud. You'll have to patch it anyway and this will provide more room for you to work, give you access to the studs in order to attach your horizontal board, and actually make the patch easier to execute. If you need more info on patching drywall, there are dozens of questions on this site - do a search then ask a new question if you're still left scratching your head.
Comment: the support of the house is all the way in each corner, i'm not certain how this was originally set-up, but I agree it is def shoddy work, and i'm trying to make the best of it!  Not sure how much more drywall I will need to cut (but I have a pro coming tomorrow to patch it for me)
Comment: so completely undo what is done....take the piece of wood that is already there, turn it horizontal, pull the pipes back as far as I can, attach to the horizontal piece of wood, then attach the horizontal wood to the stud that is cut (what the wood is currently attached to).  Am i Understaning you correctly?  If not, I am totally fine cutting more drywall to add in a new horizontal board, I'm just not clear on if I want to install it above or below or even behind the current piping (Behind meaning between the pipes and the shower)
Comment: Almost, @user2676140. Those 2 pieces of 2x4 on the flat (showing us their 4" face) don't look like they're doing a lick of good, plus they're in the wrong place to support the cross piece. I'd suggest connecting your horizontal piece to the actual house framing that's still tucked away to the left & right of the opening. Those studs will be very firmly held in place, and if you firmly connect the cross blocking to them, it won't move, thus your fixture won't move either.
Answer: That anchoring job looks pretty weak. You need to determine exactly where the movement's coming from. I think you need to install a 2x4 horizontally between the studs to the right and left of your valve and then clamp the valve to it. You will have to remove the jury rig that's there but it's not doing it's job anyway.
Comment: geez...i had a plumber come out and do this...i thought something wasn't right due to the amount of movement, but that's irritating as can be that I paid the amount I paid and it's not done right!  When you say a 2x4 horizontal between the studs, do you mean run it between the shower wall and the back of the pipes, then screw the 2x4 into the studs, and brace the piping to the 2x4?  I feel like that'll be a tight tight fit getting the 2x4 in there.
Comment: @user2676140  Yes, between the wall and either in front of, or in back of, or below the valve and screw to the studs. Hard to say which without knowing the clearances.... experiment.  You could, and maybe should, get the plumber back to fix it.
Answer: This isn't rocket science, and you have many options. You just need to spread the load so that it isn't just a small area of drywall carrying the force of a pull. Don't go cutting drywall out. It's not at all necessary.
First, I'd try simple: Get some of the plumbing strapping like you have on that block. Loop it around the pipes and screw it to the back of the block. That alone might do it. If you angle the screws a bit you'll get good tension.
Or, fit some wood blocks between the pipes and the drywall as spacers, then screw additional blocks to connect those to the existing 2x6. Picture two hands with fingers wrapped around the pipes from the outside, and with palms resting on the 2x6.
Answer:
I had shower valves replaced about a month ago, and ever since then now if you pull the shower knob it pulls out a great deal of pipe through the cut-out. I'm thinking the easiest solution to this would be to caulk the cut-outs, but I am not sure if there are any simpler solutions or negative impacts on doing such. Images below - what is the best way to handle this?

The easiest solution is to have the plumber that did the shoddy work come out and fix it properly. The contract has a requirement that the work be done in a "good and workmanlike manner". And along with that comes a warranty that it was so done.
That requirement/warranty is either express or implied. Express, if the contract contained that language; implied if the contract did not contain that language, in which case, the Common Law applies, and that holds that the quality of work requirement and warranty is implied.
A "good and workmanlike manner" means, generally, and depending on jurisdiction, that the work be done with

that degree of efficiency and knowledge which is possessed by those of ordinary skill, competency, and standing in a particular trade or business for which the contractor is employed.

Contact the plumber and have them make it right.
Answer: Simple fix is to place the 2x6 backing in front of the valve and use strap to fasten valve with 2 vertically.
In other words from the back you should see the brass valve body as well as the showerhead riser, then the 2x6 behind that, then strap as needed... not the way I would have done it in the first place (I'm a plumber 35 years)... but a relatively easy fix if you can't get them to fix it right.
Answer: With all due respect this is a very old shower valve and may need replacement in a few years. Personally, if it were mine, I would rip all this out and install a newer anti-scald, single handle valve which is safer and to code. In the process of doing this, you could install a more secure horizontal brace for the new valve. Luckily for you you have a large access to the rear, which makes your work easier. Any plumbing book can help you with this, or of course, you can ask more questions in this forum or at your hardware store in the future.


Please merge "ast" and "abstract-syntax-tree" tags

Question: I think abstract-syntax-tree should be the master tag for ast
Answer: You can do this yourself, providing you have enough rep.  Which if this is you then you do.
Retag all the questions from ast to abstract-syntax-tree
Then propose a new synonym to convert all further questions tagged ast are automatically converted to abstract-syntax-tree.
UPDATE:
AS Roger has pointed out, a Diamond Moderator will be able to merge these tags for you as there are a fair few questions to be re-tagged.
Comment: All: I've manually retagged probably a dozen tags since joining SO. Early in SO's life, there were often only a handful and doing it manually seemed... OK. 20 is about the point where I lose patience; there's 50+ "ast" tags. Glad to hear somebody might do it en masse, which is the reason for the polite "retag-request".
Comment: There are 50 [ast] and 46 [abstract-syntax-tree].  Manual merges are *discouraged* for that many.  Diamond moderators can rename these tags with a single click and no noise on the homepage.  However, we can use [synonyms](http://stackoverflow.com/tags/ast/synonyms) for that now, and they can merge after it's voted in.
Comment: @Roger - Didn't realise they are discouraged.  Each time I have asked it has been a case of DIY.
Comment: @Barry: For low numbers, but I can't recall anyone saying about 50 is close to low enough in normal circumstances.
Comment: @Roger - Fair enough.  I seem to remember re-tagging about 25-30 or so a while back.  Now I'm pretty sure I wasted my time :-)  Cheers
Comment: @Barry: Thanks for that effort anyway! If you have 2k, you can vote for the synonym, which seems to be how things will play out more often from here on out.
Comment: Gah, you include the update and I remove my downvote to have someone add another... but anyway, see http://meta.stackexchange.com/questions/38987/how-many-retags-should-you-do-before-asking-a-moderator
Comment: @Roger - ah well such is life! Thanks anyway - I have kept a record of that link for future.


Can I check which devices are connected to the router I'm connected to through a range extender (Booster)?

Question: We have a wireless internet connection here in our flat. But in my room, I don't get the Wifi range, so I'm using a TP-Link Range extender/Repeater/Booster to get the range. So right now I'm connected to the Range extender and not to the actual Wifi router.
Is there a way to know the which devices are currently connected to that router?
P.S. We share a same network. But I'm just connected to that router through the range extender.
Answer:
Go to the Admin Page of Actual Wifi Router > Wireless > Wireless Client list > This would show you all client including the ones connected to range extender
Go to Admin Page of Range Extender > Wireless > Wireless Client list > This would show you all client connected to range extender

Subtract 2 from 1 and that gives you the list of devices just connected to Actual WiFi Router


Why are bread pans rectangular?

Question: I assume it's so that heat from the oven can reach the core of the bread loaf within a certain amount of time, without over-exposing (and therefore burning) the top of the loaf.  Is that the case, or is there a different reason?
Comment: How would you explain the success of loaves that are baked round?
Comment: I suspect but can't prove that a rectangular loaf makes it easier to cut even slices that people want. Bloomers are almost as easy to cut, but slicing a boule can be awkward depending on the length of your knife
Answer: I don't think there is a baking reason behind the design.  Here is a loaf pan from 1897, for example.  Perhaps the popularity of the rectangular loaf can be traced back to the Pullman Palace Car Company in 1868. In the same article the author points out that early 18th century European bakers were using square tin pans to create loaves with minimal crust. I would suggest that this was more of a style preference, as opposed to physics.
Comment: The Pullman loaves (and pans) were unusual by modern standards in that the entire loaf was contained in the rectangular form, rather than puffing out over the top. Now I wonder if the original formed loaves were more in the Pullman style, and the overflow was a later affectation.
Answer: For this, I'll turn to Elizabeth David's English Bread and Yeast Cookery (1977), which is a very useful resource for the history of bread-baking.
In a chapter beginning on page 206 entitled "Moulds and Tins for Bread and Yeast Cakes," she begins by noting that:

Bread baked in pans or tins of uniform shape and capacity was a late
  development.  Indeed, it seems to have been mainly a British one,
  Holland being the only other European country in which the method is
  in general use.

She observes that most other European countries at that time used pans and tins only for certain kinds of sandwich bread, as well as special cases like German practice of making heavy steamed loaves like pumpernickel.  (My copy of Larousse Gastronomique goes so far as to refer to all rectangular sandwich bread as "tin loaves" or "tin-shaped" and specifically associates it with England; the only benefit listed there is that it produces uniform thin slices.)
Earlier, bread was typically baked in free-form loaves, placed directly on the oven floor using a peel, or sometimes baked in earthenware crocks that were glazed on the inside only (and were typically round).  Beginning in the 17th century, round hoops made of wood, tin, or iron were also sometimes used as moulds for loaves.  (The tin option, even at this early date, seems to have sometimes been adjustable in size, allowing the hoop to be expanded for different size loaves.)  Occasionally round iron pots were used as well.
So, the first response to the question is that it's very possible to bake loaves in different shapes, and for thousands of years round (or somewhat oblong) loaves were probably the most popular, a circle being the shape most prone to even baking.
David finds the first historical reference to tins (presumably rectangular) in 1807 (p. 208):

[...] [I]t is Mrs Rundell, writing in the second edition of A New
  System of Domestic Cookery (1807), who makes the earliest English
  cookery book reference I have yet found to tin loaves: 'If baked in
  tins the crust will be very nice', says Mrs Rundell.
[...] And how was it that only the Dutch and the English took readily
  to bread baked in tins while the system was obviously rejected by the
  rest of Europe?  Of course, at the time it must have seemed
  wonderfully convenient -- it still does -- to settle a batch of dough
  comfortably into space-saving tins, simply cover them with a cloth and
  transfer them into the heated oven when the dough had risen for the
  second time. This meant much less handling in the shaping of the
  dough; the tricky notching, cutting or 'scotching', as the earlier
  writers called this part of dough management, could be dispensed with;
  and if the dough had been made up too slack no harm would be done; it
  would be confined within the walls of the tin and so could not spread
  and flatten out, but would spring upwards.

David here implicitly provides several reasons why rectangular loaves might be superior in tins: they produced a more compact loaf by being in a more compact shape, they avoided the complications of slashing required for best oven spring in round loaves, they confined the dough more efficiently, and they provided relatively close walls allowing the loaves to climb better (even if the dough was a bit too slack).
David does hint at the explanation offered in the question, due to new types of ovens in the 19th century (pp. 208-209):

By the early nineteenth century domestic cooking methods had already
  much changed.  In the towns coal ranges with ovens were being
  installed in kitchens [...] and housewives or their cooks no doubt
  found that in the new ovens bread baked in tins or crocks was more
  satisfactory than the old hand-moulded 'crusty' loaves, the all-round
  exposure to high heat in a small space without radiation from above
  causing a hard crust to develop before the inner part of the loaf had
  properly grown.

Note that this isn't a feature specifically of the rectangular shape, as round crocks could also provide the shielding (as they had done for centuries before).  Nevertheless, the popularity of the new tins (rectangular or otherwise) grew partly to accommodate the changing baking techniques required in the new ovens.  (It's possible the changing flour types -- especially the growing prevalence of white flour along with the demise of the village hearth for baking -- led to an interest in producing an even and adequate crust, something that led to longer, thinner loaves elsewhere as in the development of the French baguette during the same period.)
The rectangular tins did have some useful features, as grudgingly noted by authorities in the mid-1800s (p. 209):

[...] [M]ost householders continued to make their bread as they had
  always done, often taking the prepared dough to a communal oven or to
  a local bakery to be baked.  When Eliza Acton [author of The English
  Bread Book (1857)] did this at Tonbridge she put her dough into large
  round earthen crocks, rather shallow, wide at the top and with sloping
  sides.  The tin loaf was given short shrift by Miss Acton. 'The loaves
  technically called bricks, which are baked in tins,' she remarks, 'are
  of convenient form for making toast or for slicing bread and butter.'

David goes on to note that for many years afterward, authorities continued to emphasize the superiority of earthenware crocks for better tasting bread.  Nevertheless, with the tin production on the rise in England, cheap bread tins became common, and apparently the "bricks" (rectangular loaves) with them.

As noted in moscafj's answer, Pullman loaves have a somewhat different (though related) history, coming out of the aristocratic cuisine and affectation for white bread.  As early as the 18th century, square pans with lids were used to produce uniform bread with a fine crumb and little crust, to provide the most even, soft, and perfectly square bread for applications when appearance was paramount.  Pullman later selected this type of bread for train cars because the square loaves could be stacked more easily and thus a larger quantity could be stored in a tight place.  It's likely that similar space and stacking concerns influenced the adoption of Pullman-like loaf shapes for commercial white bread in the 20th century.

Why are bread pans rectangular?


Python library to return date format

Question: I need to return the date format from a string. Currently I am using parser to parse a string as a date, then replacing the year with a yyyy or yy. Similarly for other dates items. Is there some function I could use that would return mm-dd-yyyy when I send 12-05-2018?
Comment: Not really. I can convert it easily, what I need is the format string. I need strings like mm-dd-yyyy as output when I pass a string
Answer: Technically, it is an impossible question. If you send in 12-05-2018, there is no way for me to know whether you are sending in a mm-dd-yyyy (Dec 5, 2018) or dd-mm-yyyy (May 12, 2018).
Comment: Agreed. however, it is possible using some assumptions. Such as month would appear before the day. Also, I am planning on looking at a large dataset to resolve ambiguity, even if one value doesn't resolve correctly the final result would have a higher probability of being correct
Answer: One approach might be to do a regex replacement of anything which matches your expected date pattern, e.g.
date = "Here is a date: 12-05-2018 and here is another one: 10-31-2010"
date_masked = re.sub(r'\b\d{2}-\d{2}-\d{4}\b', 'mm-dd-yyyy', date)
print(date)
print(date_masked)

Here is a date: 12-05-2018 and here is another one: 10-31-2010
Here is a date: mm-dd-yyyy and here is another one: mm-dd-yyyy

Of course, the above script makes no effort to check whether the dates are actually valid.  If you require that, you may use one of the date libraries available in Python.
Comment: Thanks, this should help resolve a few of my use case and would surely help reduce the amount of code. I should have made it more clear. I am looking at a varied dataset. Formats could be mm/dd/yyyy, m/
Comment: Previous comment got posted from my phone before I could finish typing. M/d/yy. HH:MM, 13-jan-2018, 20190324 etc
Comment: Parser is able to resolve most of these dates with little or no additional parameters. I then search for 2 digit date followed by 4 digit date. Then 2 digit month, 1 digit month, month code, month name, 1 digit date,2 digit date, (hour, mins ,secs, pm appropriately) to form the string.
Answer: I don't really understand what you plan to do with the format. There are two reasons I can think of why you might want it. (1) You want at some future point to convert a normalized datetime back into the original string. If that is what you want you would be better off just storing the normalized datetime and the original string. Or (2) you want to draw (dodgy) conclusions about person sending the data, because different nationalities will tend to use different formats. But, whatever you want it for, you can do it this way:
from dateutil import parser

def get_date_format(date_input):
    date = parser.parse(date_input)
    for date_format in ("%m-%d-%Y", "%d-%m-%Y", "%Y-%m-%d"):
        # You can extend the list above to include formats with %y in addition to %Y, etc, etc
        if date.strftime(date_format) == date_input:
            return date_format

>>> date_input =  "12-05-2018"
>>> get_date_format(date_input)
'%m-%d-%Y'

You mention in a comment you are prepared to make assumptions about ambiguous dates like 12-05-2018 (could be May or December) and 05-12-18 (could be 2018 or 2005). You can pass those assumptions to dateutil.parser.parse. It accepts boolean keyword parameters dayfirst and yearfirst which it will use in ambiguous cases.
Comment: Thanks for the answer. I am working with an org in our company that has a few decades worth of research data stored as some form of text format. I am currently trying to identify the structure of all these files. Which is step one to create a data model for these. So find out if the file had headers lines, columns names, column separators, data types, possible formats for dates. Properties that can help identify keys. Etc.  I posted the code in the code review site under the title identify structure of a text file using python. After some manual modification of the format file we can forward e
Comment: Engineer the code to load the data into some sort of a structured database
Comment: @UttaranBanerjee I suggest doing the date conversion at preload stage rather than deducing a format and leaving conversion to the load step. If you already have the date there is no point in postponing the conversion. If you do, your assumptions about mdy, dmy, ymd will be baked into the specification with no reliable way to review them. So convert to a date as best guess at preload, and also retain the original string representation so that it can be reviewed.
Answer: Take a look at the datetime library. There you will find the function strptime(), which is exactly what you are looking for.
Here is the documentation: https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
Comment: No, `strptime` takes a string *and* a format and produces a data structure. It does not take a string and return a format.
Comment: Thanks for your input Carlos, however I am looking for the format as output. Not a string representation of the date in a particular format. Am I missing something?
Comment: Then I misunderstood the question, sorry. I don't know of any library that returns the format. Also, I don't see how that could work, as identifying the date and the month would be impossible if the day is lower or equal to 12.

Python library to return date format


What would happen if a star passed through the barycenter of two binary stars?

Question: I was doing some research on Alpha Centauri A and B, and thought to myself: 'What would happen if something passed directly through the barycenter of these two stars?' I may theorise that a passing star will offset the barycenter with its gravity, sending the two stars in whatever direction it would go. I am not certain about this, nor am I certain that anyone has the answer. But if they do, please answer, I'd really like to know!
Answer: If we assume the binary pair have equal masses, then by symmetry a star passing through their barycenter at right angles to their rotation plane will not change their symmetry.
I did some simple simulations where a star with mass 0.1 flies through a binary in an originally circular orbit.
The first case is with an interloper moving at speed 20. It passes through, losing a bit of momentum to the binary, that now moves slowly in the same direction.

The second is an interloper moving more slowly, with speed 1. Now the binary moves along more, and the interaction causes a quasiperiodic oscillation in seimajor axis.
Just dropping the interloper with zero velocity makes it bound to the binary, oscillating back and forth, driving complex quasiperiodic or chaotic motion.
It is possible to make the pair scatter by throwing in a sufficiently heavy interloper with enough momentum that first drags the binaries close, transfers enough momentum to unbind the system, and then passes along.
Of course, if the direction is not exactly symmetric things can turn messy. Note that there are non-chaotic solutions too.
To sum up, interlopers can deposit energy and momentum, split binaries, or create chaotic tangles. But it is not the barycenter that is the important part.
Comment: only slightly related (squiggles): ["Pythagorean Three Body Problem" - need some points from an accurate solution for comparison](https://space.stackexchange.com/q/15364/12102) I found out that plug-and-play ODE solvers don't always give the best results when there are close approaches, which I think is called a "stiff problem"? (also [see](https://math.stackexchange.com/q/1536162/284619))
Comment: Very nicely done.
Answer: No, a star passing through the barrycenter or anywhere between the stars or nearby wouldn't send the stars flying away nor would it cancel out anything.  The effect would depend on how large your passing through star was, how fast it passed through and from what angle it approached, that is, how close it passed to each of the Alpha Centauri stars.
How much of a kick or push it gives each object would depend on the relative direction, speed and distance and the gravitation or mass of your passing star, so it might pull the stars closer together, it might push them father apart, but in that would just be adding a vector to the motion of the stars that was already present.
Comment: Yeah. Basically it depends on all parameters: masses, speeds and positions of all stars involved. It's a nice topic for a computer simulation.
Answer: If you imagine all three stars have similar mass, which would be a normal thing to assume as a first approximation, and assuming the incident speed is larger than the orbital velocity (it likely would be, because it is getting pulled in), then the interaction would seem to be likely to happen with one of the stars in the binary, moreso than the other.  So for a short time, those two stars would behave like two objects undergoing "Rutherford scattering."  It would indeed depend sensitively on the details (especially the incident angle), but it does seem pretty likely to me that it would disrupt the initial binary.  It's possible that the interloping star could even grab one of the stars into a binary with itself, leaving the other one behind, but if the star comes in fast, it seems pretty likely that the original binary will at the very least be made highly eccentric, and quite likely disrupted altogether.  But yes, there's no substitute for an orbital simulation.
Now, it occurs to me you might be imagining the third star comes in along the axis of the original binary.  In that special case, the incident star would have no effect at all if the original binary had two equal mass stars in a circular orbit-- it would simply speed up the whole initial binary toward it, and then return it to its original movement after it passes.  But it wouldn't leave the stars moving-- it would erase its effect as it leaves, and all that would linger is an overall shift in the location of the barycenter.  But it's a very special case there.
Comment: Are you sure about Rutherford scattering?    I don't want to say that's wrong, because in many ways the vast empty space is similar to the tiny nucleus of atoms that Rutherford experimented with but in Rutherford's case it was positive affecting positive with repulsion.  Gravity is always attractive.  Stealing a star is possible.   The 3 body situation allows for several ways it could go.


Open source reporting library for Java with drill down functionalities

Question: I am developing a stand alone desktop application using Java. I want to find a good reporting module for java with drill down capabilities so user can switch between reports. I have used libraries like RDLC reporting in .Net and something similar is highly appreciated. Any suggestions and opinions are warmly welcome.
Answer: Jasper Reports. They also provide sample reports (their HyperLink report example is rather simplistic though).
There also is GUI designer for report templates called iReport.
Answer: How about Eclipse BIRT.
BIRT is an Eclipse-based open source reporting system for web applications, especially those based on Java and Java EE. BIRT has two main components: a report designer based on Eclipse, and a runtime component that you can add to your app server. BIRT also offers a charting engine that lets you add charts to your own application.


Drupal modules to display external RSS feed

Question: what Drupal modules should be installed and enabled to display external RSS feed? I mean not default Drupal Aggregator module, but another, more flexible way to display feed in any page as content. (I had all this preconfigured, but a long time ago)
Answer: Feeds (previously FeedsAPI) is the one you want. Here is a quote about it (from the module's project page):

Import or aggregate data as nodes, users, taxonomy terms or simple database records.

One-off imports and periodic aggregation of content
Import or aggregate RSS/Atom feeds
Import or aggregate CSV files
Import or aggregate OPML files
PubSubHubbub support
Create nodes, users, taxonomy terms or simple database records from import
Extensible to import any other kind of content
Granular mapping of input elements to Drupal content elements
Exportable configurations
Batched import for large files


Bug on Microsoft launcher

Question: Minecraft Java launcher falsely states that internet is not available but it is and works with every other application. Brand new computer with nothing installed (Christmas Present). The error seems to be around since Sept 2021 but why isn't it fixed. Is there a place to get an updated launcher?
Answer: I didn't notice the bit at the bottom: "Is there a place to get an updated launcher?", which is why I didn't answer sooner.
If updates are failing, you can download the latest Minecraft launcher from here. You may need to log in to your account.

Bug on Microsoft launcher


How can I teach my cat to claw his scratching post instead of the curtains?

Question: We're getting more and more scratch marks on our curtains. What would be the best way to make our cat scratch his scratching post instead?
Answer: I would suggest positioning the scratching post in a highly visible location. Cats use scratching to mark their territory and placing the scratching post near the curtains or where the cat is scratching will help give the cat alternatives. Additionally, I have had success with catnip and scratching posts as the cat relates the sensation of catnip and the scratching post, giving positive memories. Also, spraying the cat with water, or making a loud noise when the cat scratches at the curtains will help deter the cat from using them as his personal claw sharpening post.
Additionally, trimming the cat's claws may help limit the damage caused to the curtains if/when the cat decides to use the curtains instead of the post. Just make sure to stay clear of the quick on the cat's nails.
Answer: The curtains need to be prevented from moving and being enticing to the cats to catch and grab at. I would suggest tying the curtains back. This serves two purposes. Makes them heavier and less likely to move in  any breeze. It also bunches them so they can be pushed behind a chair perhaps, to stop them from dangling down to the ground.


How do I identify pin 1 on a ribbon cable connector?

Question: I have a ribbon cable that is not labeled and does not have a notch to prevent it from being installed backwards.  How can I identify which pin is #1 on the connector?
Answer: Pin 1 on a ribbon cable (the cable itself, not the terminators) is usually colored differently than the other pins - often red.
Comment: I'm assuming you have an IDE (ribbon) cable so, typically on motherboards, they'll mark a '1' on the board to indicate pin #1. For IDE cables, newer motherboards have a open tab in the connector so that the cable you insert into the interface can only face the correct way. The interface on the cable will usually have filling tab to eliminate confusion.
Comment: This is correct.
Comment: It is, so long as you then know what pin #1 on the socket is...
Answer: See which edge of the cable (the cable, not the connector) is painted.
Answer: Usually flat cable has one of it strand with a colored strips (usually red). So pin #1 will be on that side. if the pins are not lined up in the connector it will be the one the furthest to the side.
Answer: Im not sure why sangretus response is doing so well. According to your post the ribbon is not marked. Additionally, the cable is just a wire so "wire #1" is arbitrary.
On the motherboard side osij2is is correct, they should have a #1 printed next to the terminal. On the other side your hardware user manual should help you determine where pin #1 is.
Comment: That being the case (and I'm not equipped to say that it is), it then doesn't matter which way you connect the notchless/pinkless/labelless cable, so long as both ends are oriented toward pin #1 correctly, and therefore you are more correct.
Answer: You could use a multimeter to identify it, and the label/mark it for future use.
Comment: Won't do you any good when the other 30 or so pins also have voltage on them.
Comment: From where?  The intent is to test the cable directly, not while the cable is connected to anything.


Restore precompiled header

Question: I have a C++ console project that I included a precompiled header in the setup. I accidentally deleted the file from my project and now I can't compile because I get error C1083: Cannot open precompiled header file: 'Debug\Project.pch': No such file or directory. Do I have to re-create the project and import all the code into it? I tried re-creating a file named "stdafx.cpp" that contains only #include "stdafx.h", but that does not work. How do I fix this?
Comment: Writing code without using source control is a Really Bad Idea.  These accidents happen, source control is your fallback.
Comment: Seems tangential, you wouldn't check machine-specific generated files (like pre-compiled headers) into source control.
Comment: @HansPassant This is just a minor project; I use Git for most of my projects.
Answer: Right-click stdafx.cpp in Solution Explorer and choose Properties. Under C/C++ > Precompiled Headers, set "Precompiled Header" to "Create (/Yc)". You may also need to set "Precompiled Header File" to "stdafx.h" and "Precompiled Header Output File" to whatever makes sense ("$(IntDir)$(TargetName).pch" in most cases).
Unless there are other issues too, that should do it.
Comment: Thanks! Worked perfectly!
Comment: You're welcome. I spent quite a while trying to solve the same problem back in the day, and am happy to save someone else the trouble.

Restore precompiled header


Expand only those pivot items with more than one entry (Excel VBA)

Question: Ok, so I am trying to have Excel VBA code go through a pivot table and expand out only those entries in the last row field that don't have ONLY one entry in them. By default, the last row field is collapsed.
What I have so far:
Sub Test()
    With ActiveSheet.PivotTables("OBJSUMMARYPT")
        Dim pvtitem4, pvtitem5  As PivotItem
        For Each pvtitem4 In .RowFields("OBJECT CODE GROUPING").PivotItems
            For Each pvtitem5 In .RowFields("CONTRACT & CONTRACT TITLE").PivotItems
                If pvtitem5.Name <> "NON-CONTRACT" And pvtitem4.RecordCount > 0 And pvtitem5.RecordCount > 0 Then
                    .PivotFields("OBJECT CODE GROUPING").PivotItems(pvtitem4.Name).ShowDetail = True
                End If
            Next pvtitem5
        Next pvtitem4
    End With
End Sub

This expands too many of them, because it isn't cross-referencing if there are any pvtitem5s in pvtitem4 that have records, and I am not figuring out the syntax to do so.
I recognize that single entries that aren't listed as "NON-CONTRACT" will be shown and I don't take issue with that; that is fine to happen. I want to get fewer false positives than what I am getting now.
Answer: Found the solution:
Sub Test()
    With ActiveSheet.PivotTables("Table")
        .PivotFields("Cat6").PivotItems("TestObject").Visible = False
        Dim pvtitem4, pvtitem5  As PivotItem
        For Each pvtitem4 In .RowFields("Cat5").PivotItems
            On Error Resume Next
            If pvtitem4.DataRange.Column = Null Then GoTo pvt4
            .PivotFields("Cat5").PivotItems(pvtitem4.Name).ShowDetail = True
pvt4:
        Next pvtitem4
        .PivotFields("Cat6").PivotItems("TestObject").Visible = True
    End With
End Sub

It works by filtering out what I don't want expanded, then determining which other categories are still visible in the pivot table and expanding them, then unfiltering.


Who is Wisdom in Proverbs

Question: Proverbs chapter 8 uses a personification of Wisdom. Some people take this personification as a description of God, or of the Messiah. Is there any textual justification for this?
Comment: +1 great question. Are you referring especially to v22ff? You may find [this thoughtful article](http://www.reformation21.org/articles/does-proverbs-speak-of-jesus.php) interesting.
Comment: A Spirit being who played as a child before the Eternal, who also was with the Eternal when He prepared the heavens, Proverbs 8:26-31. She is a Angel to the 7 Churches, 9:1.
Comment: Related question: [Why is Wisdom personified as a woman?](http://hermeneutics.stackexchange.com/q/7883/2215)
Comment: Wisdom was birthed according to Proverbs 8:24 so she was a powerful angel that granted humans practical wisdom (most of Proverbs deals with this). Wisdom regarding doctrinal matters and divine revelations derives from the Holy Spirit, I believe.
Answer: The key to understanding Wisdom's identity lies in both the genre of the book itself and the textual clues within the book.
Genre
The Book of Proverbs is classified as wisdom literature. This genre existed prior to the generation of the proverbs or the compiling of the book itself. The society into which these proverbs were written was already familiar with the concepts of "wisdom" and "proverbs," and they sought for wisdom and valued it dearly. No one wanted to be a fool. Everyone wanted to be wise and successful.
The Book of Proverbs presents the wisdom of God as the true wisdom. Essentially, its function is to point the wisdom-seeker back to God. Thus, the function of the Book of Proverbs in the canon of Scripture is (...no surprise here...) redemptive in nature. (And so we discover that the book is not so out of place in the canon as scholars have traditionally thought.)
Textual Clues
Throughout the book the term "wisdom" is used interchangeably with "righteousness", and likewise, the term "foolishness" is used interchangeably with "wickedness." For example, Proverbs 10:18-21:
<code>He who conceals hatred has lying lips,
  And he who spreads slander is a fool.
When there are many words, transgression is unavoidable,
  But he who restrains his lips is wise.
The tongue of the righteous is as choice silver,
  The heart of the wicked is worth little.
The lips of the righteous feed many,
  But fools die for lack of understanding.
</code>
(Notice that hatred, lying, and slander in the first verse would normally be characteristic of the "wicked," but here the wise man names the "fool." In the second verse, the man of transgression is contrasted not with the "righteous," but with the "wise." In the third verse we might expect the tongue of the "wise" to be as choice silver, but he instead names the "righteous." In the fourth verse, righteousness is explicitly contrasted -- not with "wickedness," but with "foolishness.")
This is why the wise woman of Proverbs 31 is characterized by the fear of the Lord, and why the wisdom of Proverbs so often points us in the exact same direction of the rest of Scripture: to humility, ministry, love, Godly character, compassion, etc.
Lower-Case "wisdom"
It isn't hard to see during a quick read through the book of Proverbs that true "wisdom" is to walk in God's ways.
Upper-Case "Wisdom"
Who would qualify as the "personification of God's ways"? Well, God, I suppose. It isn't hard to make the connection to Jesus, the perfect God-Man. The following verse comes to mind:

[Jesus:] "For John came neither eating nor drinking, and they say, 'He has a demon!' The Son of Man came eating and drinking, and they say, 'Behold, a gluttonous man and a drunkard, a friend of tax collectors and sinners!' Yet wisdom is vindicated by her deeds." -Matthew 11:18-19

The question in my mind is whether Wisdom is Jesus or the Spirit, but I suppose I'm splitting hairs at this point.
Answer: The bible in Isaiah 11 describes 7 spirits(the spirit of the Lord,wisdom,understanding, counsel,power,knowledge and the spirit of the fear of the Lord). So the fullness of the spirit refer to the completeness of these 7 spirits that characterize the manifestation of the Holy Spirit. so the personification of wisdom in the proverbs 8 refers to the Holy Spirit. We understand that in the days of the old testament, the Holy Spirit was not yet revealed to Men.
Comment: It talks about 6 Things(6 spirtits) what the Holy Spirit provided Jesus. Right? It doesn't count 7 spirits.
Answer: Throughout much of the Book of Proverbs we see 'Wisdom' as a female personification. Since God has always been referred to by male terms, and since Jesus was a man, we must look elsewhere for an explanation of who Wisdom was.
She appears in Proverbs 1:20ff:

Wisdom crieth without; she uttereth her voice in the streets:She crieth in the chief place of concourse, in the openings of the gates: in the city she uttereth her words, saying, How long, ye simple ones, will ye love simplicity? and the scorners delight in their scorning, and fools hate knowledge? Turn you at my reproof: behold, I will pour out my spirit unto you, I will make known my words unto you. Because I have called, and ye refused; I have stretched out my hand, and no man regarded; But ye have set at nought all my counsel, and would none of my reproof: I also will laugh at your calamity...

In some places, material about the personified Wisdom is intermixed with philosophical wisdom and in other places, either meaning could be construed. An ambiguous passage that nevertheless tells of Lady Wisdom is Proverbs 3:13-19:

Proverbs 3:13-19: Happy is the man that findeth wisdom, and the man that getteth understanding. For the merchandise of it is better than the merchandise of silver, and the gain thereof than fine gold. She is more precious than rubies: and all the things thou canst desire are not to be compared unto her. Length of days is in her right hand; and in her left hand riches and honour. Her ways are ways of pleasantness, and all her paths are peace. She is a tree of life to them that lay hold upon her: and happy is every one that retaineth her.  The LORD by wisdom hath founded the earth; by understanding hath he established the heavens.

Consistent with the above, we find in Proverbs chapter 8 that she was with God when he created the world:

Proverbs 8:27: When he prepared the heavens, I was there: when he set a compass upon the face of the depth:

1 Clement mentions Wisdom as a female personification in a late first-century Christian context, and she is also mentioned in Luke 7:35, in terms that seem to rule out any confusion with the Holy Spirit:

Luke 7:35: But Wisdom is justified of all her children.

Sophia (Wisdom) is found as a Gnostic Christian goddess, and we find a complex (and boring) book(s) of instruction now known as Pistis Sophia. The Catholic Church also adopted Wisdom and her daughters, Faith, Hope and Love as saints, but they are almost certainly mythical.
Proverbs was written in the form we know it around the time of the Babylonian Exile, some time after fertility figurines believed to represent Asherah ceased to be used. This could suggest that Wisdom represents an aniconic evolution of Asherah, or a replacement figure more acceptable to the theocracy.  Mark S. Smith says in The Early History of God, page 13, that scholars such as G. Bostrom, H . Ringgren, W. F. Albright and others have compared the figure of Wisdom to the Canaanite goddess Asherah. If Wisdom was not the post-Exilic understanding of Asherah, she was certainly a female spirit/goddess who was revered in Judaism, and apparently in early Christianity, up until the end of the first century CE.
Comment: I disagree with your premise that "gender" precludes an allegorical reference to "The Most High" or "Jesus".  First, gender doesn't necessarily apply to "the Most High", (who is apparently "Spirit"), or "another Divine"--especially in Mystic Literature.  Second, as seen in the Shepherd of Hermes, or The Consolation of Philosophy, (Boethius), gender is relevant to connote and portray, "The Mystic Romance"--and is irrelevant to identify who the portrayal is an allegory of.
Comment: @e.s.kohen I agree that Hebrew grammar makes these things more ambiguous than would be the case in English. Perhaps I could add: i) Wisdom was with God at creation, therefore is not God; ii) When Luke intends to refer to the Holy Spirit, he does so (2:27;4:1,14,18;11:13) and there is no reasonable explanation of the Holy Spirit's "her children"; similarly when Luke speaks of Jesus, he of course says "Jesus" or "Christ."  I understand you disagree, but I am satisfied that Wisdom is not a member of the Trinity.
Comment: @e.s.kohen .../cont:  Although this answer and comments are necessarily brief, the wider body of evidence and scholarly opinion points to Wisdom being the post-Exilic name for the now-banned Asherah, or a theologically acceptable replacement for her.
Comment: Dick, **(A.)** I agree with your analysis that Wisdom is not the "Most High"; **(B.)** However, I do not think that Wisdom as allegorical for Christ should be so quickly dismissed, considering the parallel between Prov. 8:12-31, and John 1:3; and also 1 Cor 1:21; **(C.)** I also do not believe it is proper to inject the Presupposition that Proverbs was a book worshipping "Asherah"; **(D.)** If you could point out a connection between Asherah and this "Mystical, Personified Wisdom" in Scripture, or in Secular texts--I would accept that it is proper to inject this--but not before.
Comment: @e.s.kohen I do not propose to change your views: each reader should take from my answer what he or she will; some agreeing with everything, some agreeing a little and some respectfully disagreeing.  Asherah, seemingly the most prominent goddess in pre-Exilic Israel/Judah, disappears from the archaeological record at the time of the Exile; Wisdom becomes part of the literary record shortly afterwards, with no extant reference to her prior to the Exile.  They may be the same, or perhaps Wisdom was a theologically acceptable replacement for Asherah.
Comment: This seems entirely circumstantial, and inconclusive.  I am not opposed to the idea--I am just interested in knowing if there is any actual, solid, connection, that's all.  If you pointed to a text that personifies wisdom as "Asherah", or equates wisdom to "Asherah", I would probably bury myself in studying that manuscript--and you probably wouldn't hear from me for a while. :)
Comment: @e.s.kohen Seems like you want to see the Bible say Wisdom is Asherah, in the same way it says Gideon's real name was Jerubaal - this does not happen. You will need to be satisfied with the outcome of 1000s of hours of scholarly research.  I cited *Early History of God*.  Some pertinent material from this book is online at https://books.google.com.au/books?id=1yM3AuBh4AsC&pg=PA134&lpg=PA134&dq=asherah+wisdom&source=bl&ots=BGK_kx-ul9&sig=hwXzEPveaPIonQXILQgkzlvnqpE&hl=en&sa=X&ei=cZlmVYPmOpHk8AWA4IPoAQ&ved=0CFEQ6AEwDA#v=onepage&q=asherah%20wisdom&f=false
Comment: **(A.)** I would be satisfied with a textual reference, associating the two--from any culture.  **(B.)** I have read through a lot of the argument of that text, and I was correct in my hypothesis that the evidence was circumstantial, as they note similarities in imagery, (the tree of life in Prov. 3:18), and the "evergreen cyprus" in Hos 14:9, and they note, "Other examples .. imagery are less convincing, (pg. 135). "perhaps alludes, (pg. 136)"; **(C.)** In other words, even the author doesn't shy away that this is entirely conjecture, substantiated by circumstantial evidence.
Comment: Cont. There are cases where we know that Biblical imagery followed after something--else.  It is unambiguous in the text--requiring no speculation, or conjecture. But, we are required to make leaps connecting "Asherah" and "Wisdom".  Here we have to engage in gymnastic imagery associations/leaps involving trees, whereas we know that In the case of astrology, that pattern of Israel's march and campsite was preceded by the advent of Akkadian/Chaldean astrology, which is also seen in Ezekiel's vision, (lion in the east, man, ox, and scorpion/eagle) ... Frankly, Zoroaster is closer, than Asherah.
Comment: I genuinely don't understand which part of Luke 7:35 "seems to rule out any confusion with the Holy Spirit". The New Testament speaks repeatedly of Christians as being *born of the Spirit, and of water*.
Comment: Wouldn't it be more accurate to say that Israel, as a collective entity, is like Asherah? Both Israel and Asherah are described to be married to El.
Comment: +1 "'Wisdom' as a female personification" There is a large scholarly literature on the idea of Wisdom as a personification in ancient Jewish literature. Some argue this is what John was drawing on in John 1, where he (so they claim) personifies the logos - there is obvious conceptual similarly between God's word and God's wisdom.
Answer: Wisdom could be an angel
Just a little perception on my part...

In the Scriptures, it say "In the beginning was the Word (Lord Jesus before His earthly birth). The Word was with God. The Word was God (The Father)".
In Genesis we have "God (The Father) saying 'Let's make (create / produce) man in our own image. God (The Lord Jesus) went to earth and made/created /produced man; and "The Spirit of God was over the waters of the earth' Here we have God (The Triune or Trinity).* Note the spelling and meaning of God and God*.
Also "All things were made by Him and without Him was nothing made" So you can see, *Wisdom being an angel would have been made and not birthed (begotten).
Jesus came to earth and  was born (birthed / begotten) of God (The Most High) & of woman.
God the Creator of the heavens and the earth made / created us. Both man & woman were made / created. Man from the earth and woman from the rib of man. After the making / creating of Man (Adam) & woman (Eve), they then procreated (see link "c" below) and children were conceived & born to them.

Birth / begotten is for those born of the earth from Adam & Eve on. made is for those made or created such as "All Things-(see #3 above)".
This seems to conflict with "God (The Lord) made man in their own image", but who can know the mind of God. We try to understand. God's thoughts are not our thoughts. Only God can know what God's thoughts are!
Make / Create / Produce is to "bring into existence"
Procreate is to Reproduce a representation/copy of the original. (We all look alike-Men have two eyes, two ears, one mouth and one nose, etc. but each man's image has different features. The same as with a woman (the same but different!)
a) https://www.quora.com/What-is-the-difference-between-born-and-begotten
b) https://wikidiff.com/beget/begat
c) https://wikidiff.com/create/procreate
Comment: Welcome to Hermeneutics! This is all interesting information, but it doesn't seem related to the question "Who is Wisdom?" Can you make a connection? I added a title to help, but could explain just a little more of your reasoning. We don't want to give answers that just have a lot of Bible information, *we want only the information that relates to the specific question.*

Who is Wisdom in Proverbs


Are the Aelfinn and Eelfinn outside the pattern?

Question: Are the Aelfinn and Eelfinn outside the pattern?
From Wikipedia:

The Aelfinn and Eelfinn live in twisted worlds, which allow them to read the Pattern more effectively than humans may.

Or does the pattern encompass multiple worlds/dimensions?
Answer: A quick search of the Interview Database doesn't turn up a direct answer.
However, I believe the 'Finn are inside the Pattern. I shall outline my reasoning below.
The Pattern includes all worlds, parallel worlds, mirror worlds, everything that has existed and will exist. See for example, Verin's conversation with Egwene when the Dream ter'angreal is handed over in TDR 21. It has been confirmed that the 'Finns world is a parallel world.
The only things we know of that exists outside the Pattern are The Dark One, and The Creator.
As for their abilities, it's not unprecedented for those inside the Pattern to be able to read the Pattern. See Mins viewings, see Foretelling and Prophecy.
So no, I believe the 'Finn are part of The Pattern.
Comment: Thank you. I suddenly had the thought that since Lanfear died in the Aelfinn world and was then resurrected by the Dark One, their world should be part of the pattern. But, as you say, the Dark One too is outside the pattern.
Answer: This topic has been debated for a while and their are no hard answers to the Question.The Wheel of Time Wiki states that:

Collectively, the name of two species of extradimensional humanoids, the Aelfinn and their counterparts the Eelfinn. Each live in a dimension quite different from that of the real world, seemingly apart yet connected.

While The 13th Depository has an interview with Robert Jordan with him saying:

The Aelfinn and Eelfinn are a pair of nonhuman races who inhabit realms separate from the main world of the Wheel. Jordan answered some questions about them at Dragoncon in September 2005:
  Do the Finns inhabit a perpendicular world? No, it is a parallel world.
  Does the physical location of the world of Finns have anything to do with the bells ringing when the ta'veren were in together? No.
  Have the Finns existed as long as the Wheel? Yes.
  Do they have souls? Yes.
  Are the Finns from human stock? No.
  Did they originate in their current location? Yes.
  Are they related to Tel'aran'rhiod or do they control Tel'aran'rhiod? No.

So I assume with the fact that they have souls that they are a part of the pattern.
Answer: In the Wheel of Time Companion it specifically states that the Eelfinn and Aelfinn possess souls, live in a different world whose location is unknown, and have existed as long as the Wheel. This reinforces early discussions and information regarding the Finn, but unfortunately doesn't tell us specifically about whether or not they're part of the Pattern.
However, I think that telling us they have souls, and have existed as long as the Wheel, is as good as telling us that they're part of the Pattern.
We do know now that the Pattern encompasses many worlds, such as those reached through Portal Stones and tel'aran'rhiod. The only confirmed being outside the Pattern is The Dark One, and presumably also the Creator.


Anchoring a Deimos base

Question: Some astronauts have just arrived in Mars orbit! They're fixing to set up a small refueling station/outpost on Deimos. One problem, how might they keep their small habitat and associated structures from simply floating away at the slightest jolt in Deimos's low (only  0.003 m/s2) gravity?
Comment: @TheImperial, everything comes with a cost, and in space you're usually looking for the simplest solution to meet your needs, which usually has the lowest cost.  You could bore deep holes, fill them with some rock-solid foam, and use the result as footings to bolt down the habitat - but the expence compared to just pounding in some stakes and connecting cables is very high.  An interesting question might be to ask what the costs would be for various ways of holding down an object in low-G.  But, if we've answered your question, life is good!
Comment: Please help us out by narrowing the question.  Why wouldn't anchors work?  You know, like the stuff used to hold tents in place here on earth, but more impressive?  What have you considered that doesn't meet your needs that leads to asking the question?
Comment: Cables. They drive spikes in to the satellite and anchor the station with cables / guy-wires / stays.
Comment: This was essentially what I am asking for, I did think of cables but wanted to know if there are other/better ways
Answer: Don't anchor at all.
Use Deimos as a navigation point, and build the base --with spin-- a couple miles off.
The costs of living and working in microgravity are enormous, and you have an opportunity to avoid them here. With spin, your crew can pump fuel more easily...and use real toilets among many other benefits.
Comment: Take a leaf from another recent question and mount your spin base on Deimos' pole, using it's mass as an angular momentum/heat sink. The gravity comes from spin, but you have a vast store of material readily available to be used for whatever the heck you need to use it for.
Comment: This. The escape velocity at Deimos's surface is smaller than 6m/s. It would be a pain to go anywhere.
Answer: Gravity, as you point out, is not sufficient to hold something on the surface.
You would need something to anchor your base to the rock beneath: screw piles

Screw piles, sometimes referred to as screw anchors, screw-piles, helical piles, and helical anchors are a steel screw-in piling and ground anchoring system used for building deep foundations. Screw piles are manufactured using varying sizes of tubular hollow sections for the pile or anchors shaft.
The pile shaft transfers a structure's load into the pile. Helical steel plates are welded to the pile shaft in accordance with the intended ground conditions. Helices can be press-formed to a specified pitch or simply consist of flat plates welded at a specified pitch to the pile's shaft. The number of helices, their diameters and position on the pile shaft as well as steel plate thickness are all determined by a combination of:

The combined structure design load requirement
The geotechnical parameters
Environmental corrosion parameters
The minimum design life of the structure being supported or restrained.

Screw piles are wound into the ground much like a screw into wood.

Once you have the screw piles in place, you either directly build on them or use cables to keep the position of the base.
Reminder: you need to investigate the geology of the body before placing a random screw pile on it.
Answer:
Hit it hard just before you land.  Soften it up to molten.  You could use a bomb or thermite.  Better though would be an incoming impactor which passes your station and hits Deimos at speed.
Settle down into the molten rock.  It will be toasty warm.  Stay inside your ship for just a bit.  Play Scrabble.
The molten rock will resolidify.  Hopefully you like the view because you wont be moving after that.

Anchoring a Deimos base


Why popular line detection use Infrared(IR) based sensor?

Question: Popular line sensor use  IR LED as transmitter and IR photodiode as receiver to distinguish reflective color such as white and less reflective color like black. Consider that infrared LED is hard to see by naked eye therefore hard to know if the LED still working or not and infrared ambient noise in not less than visible light why it is so popular?
Comment: Start by asking yourself: "*What other alternatives are there?*" and tell me your answer.
Comment: @Harry. Visible light, the reason is mentioned in my question above.
Comment: So your eye sensitivity peaks around 500 nm wavelength. A silicon photodetector peaks at 900 nm wavelength. What fits your robot's needs: a human sensor or a silicon sensor?
Comment: Another method is squarewave modulation of the light source; the receiver signal is similarly correlated with the squarewave, and averaged over some long period to remove most of the noise. Analog Muxes may provide the correlation behavior.
Answer: Most likely because there are commonly available devices that have an infrared emitter and detector pair in a single unit.
Easy to install, easy to use.
There is, of course, a lot of ambient infrared.  But, the detectors have a filter in front of them to only allow a certain (narrow) range of infrared wavelengths.  The emitters only transmit in that particular range.  This reduces interference from ambient infrared.
So, an IR emitter detector pair is actually less sensitive to ambient IR than an unfiltered visible light LED emitter/detector pair would be to ambient visible light.

You could do the same with an LED of a particular color as an emitter and a bare phototransistor or photodiode as a detector - but you would have to have a color filter to make it only receive from your LED.
There aren't many easily available filters that match the typical LED colors so you would have to find some piece of transparent plastic or glass of the correct color.  Good luck with that.
There may well be commercially available colored visible light emitter/detector pairs.
IR is common, available, cheap, and gives good results so that's what gets used.