What is the difference between currying and partial application?

Question: I quite often see on the Internet various complaints that other peoples examples of currying are not currying, but are actually just partial application.
I've not found a decent explanation of what partial application is, or how it differs from currying. There seems to be a general confusion, with equivalent examples being described as currying in some places, and partial application in others.
Could someone provide me with a definition of both terms, and details of how they differ?
Answer: Currying is converting a single function of n arguments into n functions with a single argument each. Given the following function:
function f(x,y,z) { z(x(y));}

When curried, becomes:
function f(x) { lambda(y) { lambda(z) { z(x(y)); } } }

In order to get the full application of f(x,y,z), you need to do this:
f(x)(y)(z);

Many functional languages let you write f x y z. If you only call f x y or f(x)(y) then you get a partially-applied function—the return value is a closure of lambda(z){z(x(y))} with passed-in the values of x and y to f(x,y).
One way to use partial application is to define functions as partial applications of generalized functions, like fold:
function fold(combineFunction, accumulator, list) {/* ... */}
function sum     = curry(fold)(lambda(accum,e){e+accum}))(0);
function length  = curry(fold)(lambda(accum,_){1+accum})(empty-list);
function reverse = curry(fold)(lambda(accum,e){concat(e,accum)})(empty-list);

/* ... */
@list = [1, 2, 3, 4]
sum(list) //returns 10
@f = fold(lambda(accum,e){e+accum}) //f = lambda(accumulator,list) {/*...*/}
f(0,list) //returns 10
@g = f(0) //same as sum
g(list)  //returns 10

Comment: You're saying that partial application is when you curry a function, and use some, but not all of the resulting functions?
Comment: more or less, yes. If you only supply a subset of the arguments, you'll get back a function that accepts the rest of the arguments
Comment: @JasonBunting, Regarding your first comment, what you were talking about is *decurrying*. Currying is taking a multi-arg function as input and returning a chain of 1-arg functions as output. De-currying is taking a chain of 1-arg functions as input and returning a multi-arg function as output. As elaborated on http://stackoverflow.com/a/23438430/632951
Comment: @Mark: I guess this is just one of those concepts that brings out the pedant in me - but an appeal to authoritative sources does little to satisfy, since they all seem to point to one another. Wikipedia is hardly what I consider an authoritative source, but I understand that it's hard to find much else. Suffice it to say that I think we both know that of which we speak and the power thereof, regardless of whether or not we can agree (or disagree) on the particulars of the vernacular! :) Thanks Mark!
Comment: Would changing a function f(a, b, c, d) to g(a, b) count as partial application? Or is it only when applied to curried functions? Sorry to be a pain, but I'm angling for an explicit answer here.
Comment: g(a,b) would be a partial application only if g == f(a,b) and g(a',b') == f(a,b,a',b'). Partial application has to go in the order the arguments are specified
Comment: If you re-arranged the arguments like that, I guess it can still be considered currying. You can then go ahead and call g(x) and get back a function that accepts "a" and then "b" as arguments. Or call "g(c)(a)" and get back a function that accepts "b".
Comment: Anent your statement: _Currying is converting a single function of n arguments into n functions with a single argument each_ - I understand just the opposite; currying is taking multiple, one-argument functions, then _composing_ a multiple-argument function.

Whereas a partially applied function is creating from a function that accepts multiple arguments a function that requires fewer, e.g.

`var Add = function(a,b) { return a + b; } var AddOne = partial(Add, 1);`

Can you cite sources for your explanation/understanding?

Here is one I read: http://bit.ly/CurryingVersusPartialApplication
Comment: But the same is not true for currying? I could translate f(a, b, c) into g(c) -> h(a) -> i(b), and that would still be currying? And then I couldn't use these functions for partial application?
Comment: @Jason: Your source says the same thing that I do—in its example, it takes a pre-curried multi-argument function defined using "define/curried" and re-composes it back uisng partial application. For a clearer definition of currying and partial application that are the same as mine, see http://en.wikipedia.org/wiki/Currying .
Comment: "Currying is converting a single function of n arguments into n functions with a single argument each". Isn't changing a function signature f(a, b, c, d) to f(a)(b, c)(d) also currying? Do the resulting functions _have_ to have a single argument each?
Answer: The easiest way to see how they differ is to consider a real example. Let's assume that we have a function Add which takes 2 numbers as input and returns a number as output, e.g. Add(7, 5) returns 12. In this case:

Partial applying the function Add with a value 7 will give us a new function as output. That function itself takes 1 number as input and outputs a number. As such:
Partial(Add, 7); // returns a function f2 as output

                 // f2 takes 1 number as input and returns a number as output

So we can do this:
f2 = Partial(Add, 7);
f2(5); // returns 12;
       // f2(7)(5) is just a syntactic shortcut

Currying the function Add will give us a new function as output. That function itself takes 1 number as input and outputs yet another new function. That third function then takes 1 number as input and returns a number as output. As such:
Curry(Add); // returns a function f2 as output

            // f2 takes 1 number as input and returns a function f3 as output
            // i.e. f2(number) = f3

            // f3 takes 1 number as input and returns a number as output
            // i.e. f3(number) = number

So we can do this:
f2 = Curry(Add);
f3 = f2(7);
f3(5); // returns 12

In other words, "currying" and "partial application" are two totally different functions. Currying takes exactly 1 input, whereas partial application takes 2 (or more) inputs.
Even though they both return a function as output, the returned functions are of totally different forms as demonstrated above.
Comment: Partial application transforms a function from `n-ary` to `(x - n)-ary`, currying from `n-ary` to `n * 1-ary`. A partially applied function has a **reduced scope** (of application), that is, `Add7` is less expressive than `Add`. A curried function on the other hand is as expressive as the original function.
Comment: I believe the more distinctive trait is when we curry f(x,y,z)=>R, we get f(x) which returns g(y)=>h(z)=>R, each consuming a single argument; but when we partially apply f(x,y,z) as f(x) we get g(y,z)=>R, that is, with two arguments. If not for that trait, we could say that currying is like partial application to 0 arguments, thus leaving all arguments unbound; however in reality f() partially applied to 0 arguments is a function consuming 3 args at once, unlike curried f().
Comment: Once again the correct answer isn't the first or the most voted: The simple explanation of the signature of curry vs. partial at the end of this answer is really the easiest way to resolve the question.
Comment: What does the comment `f2(7)(5) is just a syntactic shortcut` mean?  (I know very little.)  Doesn't `f2` already contain/"know about" 7?
Comment: @Pacerier, is there a `curry` implementation somewhere (don't think it's in `functools`)
Comment: I am having a hard time with curry vs partial because in functional language, such as OCaml, there is no difference between currying and partial application. This holds because in functional languages, functions are first-class objects.
Comment: So how does currying work in case of variable number of arguments, e.g. in Common Lisp: `(defun foo (&rest args) ...)`. This would result in an infinite number of curried 1 argument functions, yes? I could not find a Common Lisp implementation of `curry` and would be curious.
Answer: Note: this was taken from F# Basics an excellent introductory article for .NET developers getting into functional programming.

Currying means breaking a function with many arguments into a series
  of functions that each take one argument and ultimately produce the
  same result as the original function. Currying is probably the most
  challenging topic for developers new to functional programming, particularly because it
  is often confused with partial application. You can see both at work
  in this example:
let multiply x y = x * y
let double = multiply 2
let ten = double 5

Right away, you should see behavior that is different from most
  imperative languages. The second statement creates a new function
  called double by passing one argument to a function that takes two.
  The result is a function that accepts one int argument and yields the
  same output as if you had called multiply with x equal to 2 and y
  equal to that argument. In terms of behavior, it's the same as this
  code:
let double2 z = multiply 2 z

Often, people mistakenly say that multiply is curried to form double.
  But this is only somewhat true. The multiply function is curried, but
  that happens when it is defined because functions in F# are curried by
  default. When the double function is created, it's more accurate to
  say that the multiply function is partially applied.
The multiply function is really a series of two functions. The first
  function takes one int argument and returns another function,
  effectively binding x to a specific value. This function also accepts
  an int argument that you can think of as the value to bind to y. After
  calling this second function, x and y are both bound, so the result is
  the product of x and y as defined in the body of double.
To create double, the first function in the chain of multiply
  functions is evaluated to partially apply multiply. The resulting
  function is given the name double. When double is evaluated, it uses
  its argument along with the partially applied value to create the
  result.
Answer: Interesting question. After a bit of searching, "Partial Function Application is not currying" gave the best explanation I found. I can't say that the practical difference is particularly obvious to me, but then I'm not an FP expert...
Another useful-looking page (which I confess I haven't fully read yet) is "Currying and Partial Application with Java Closures".
It does look like this is widely-confused pair of terms, mind you.
Comment: Can't believe you got 20 upvotes for a couple links and an admission you don't really know the difference between curry and partial application. Well played, sir.
Comment: @Jon links you posted are informative, but it will be better to expand your answer and add some more info here.
Comment: Currying is to do with tuples (turning a function that takes a tuple argument into one that takes n separate arguments, and vice versa). Partial application is the ability to apply a function to some arguments, yielding a new function for the remaining arguments.   It is easy to remember if you just think currying == to do with tuples.
Comment: The first link is spot-on about the differences. Here's another one I found useful: http://bit.ly/CurryingVersusPartialApplication
Comment: Someone's mad they're not Jon Skeet
Comment: @Jon see http://meta.stackoverflow.com/questions/275464/why-was-my-flag-for-a-link-only-answer-from-2008-declined
Comment: Interesting links, although they do offer conflicting ideas of what currying is.
Comment: @Zaheer: This answer is over 6 years old, and the other answers already cover it. I don't think there's much to be gained from expanding this now.
Answer: I have answered this in another thread https://stackoverflow.com/a/12846865/1685865 .  In short, partial function application is about fixing some arguments of a given multivariable function to yield another function with fewer arguments, while Currying is about turning a function of N arguments into a unary function which returns a unary function...[An example of Currying is shown at the end of this post.]
Currying is mostly of theoretical interest: one can express computations using only unary functions (i.e. every function is unary). In practice and as a byproduct, it is a technique which can make many useful (but not all) partial functional applications trivial, if the language has curried functions. Again, it is not the only means to implement partial applications. So you could encounter scenarios where partial application is done in other way, but people are mistaking it as Currying.
(Example of Currying)
In practice one would not just write
lambda x: lambda y: lambda z: x + y + z

or the equivalent javascript
function (x) { return function (y){ return function (z){ return x + y + z }}}

instead of
lambda x, y, z: x + y + z

for the sake of Currying.
Comment: Would you say that currying is a specific case of partial application then?
Comment: @SpoonMeiser, No, currying is not a specific case of partial application: A partial application of a 2-input function is not the same as currying the function. See http://stackoverflow.com/a/23438430/632951 .
Answer: Currying is a function of one argument which takes a function f and returns a new function h. Note that h takes an argument from X and returns a function that maps Y to Z:
curry(f) = h
f: (X x Y) -> Z
h: X -> (Y -> Z)

Partial application is a function of two(or more) arguments which takes a function f and one or more additional arguments to f and returns a new function g:
part(f, 2) = g
f: (X x Y) -> Z
g: Y -> Z

The confusion arises because with a two-argument function the following equality holds:
partial(f, a) = curry(f)(a)

Both sides will yield the same one-argument function.
The equality is not true for higher arity functions because in this case currying will return a one-argument function, whereas partial application will return a multiple-argument function.
The difference is also in the behavior, whereas currying transforms the whole original function recursively(once for each argument), partial application is just a one step replacement.
Source: Wikipedia Currying.
Answer: Simple answer
Curry: lets you call a function, splitting it in multiple calls, providing one argument per-call.
Partial: lets you call a function, splitting it in multiple calls, providing multiple arguments per-call.

Simple hints
Both allow you to call a function providing less arguments (or, better, providing them cumulatively). Actually both of them bind (at each call) a specific value to specific arguments of the function.
The real difference can be seen when the function has more than 2 arguments.

Simple e(c)(sample)
(in Javascript)
We want to run the following process function on different subjects (e.g. let's say our subjects are "subject1" and "foobar" strings):
function process(context, successCallback, errorCallback, subject) {...}

why always passing the arguments, like context and the callbacks, if they will be always the same?
Just bind some values for the the function:
processSubject = _.partial(process, my_context, my_success, my_error)
// assign fixed values to the first 3 arguments of the `process` function

and call it on subject1 and foobar, omitting the repetition of the first 3 arguments, with:
processSubject('subject1');
processSubject('foobar');

Comfy, isn't it?

With currying you'd instead need to pass one argument per time
curriedProcess = _.curry(process);   // make the function curry-able
processWithBoundedContext = curriedProcess(my_context);
processWithCallbacks = processWithBoundedContext(my_success)(my_error); // note: these are two sequential calls

result1 = processWithCallbacks('subject1');
// same as: process(my_context, my_success, my_error, 'subject1');

result2 = processWithCallbacks('foobar');
// same as: process(my_context, my_success, my_error, 'foobar');

Disclaimer
I skipped all the academic/mathematical explanation. Cause I don't know it. Maybe it helped

EDIT:
As added by @basickarl, a further slight difference in use of the two functions (see Lodash for examples) is that:

partial returns a pre-cooked function that can be called once with the missing argument(s) and return the final result;
while curry is being called multiple times (one for each argument), returning a pre-cooked function each time; except in the case of calling with the last argument, that will return the actual result from the processing of all the arguments.

With ES6:
here's a quick example of how immediate Currying and Partial-application are in ECMAScript 6.
const partialSum = math => (eng, geo) => math + eng + geo;
const curriedSum = math => eng => geo => math + eng + geo;

Answer: The difference between curry and partial application can be best illustrated through this following JavaScript example:
function f(x, y, z) {
    return x + y + z;
}

var partial = f.bind(null, 1);

6 === partial(2, 3);

Partial application results in a function of smaller arity; in the example above, f has an arity of 3 while partial only has an arity of 2. More importantly, a partially applied function would return the result right away upon being invoke, not another function down the currying chain. So if you are seeing something like partial(2)(3), it's not partial application in actuality.
Further reading:

Functional Programming in 5 minutes
Currying: Contrast with Partial Function Application
Comment: " a partially applied function would return the result right away upon being invoke" - that's not correct, is it? when I partially apply a function, that expression returns a function, not "a result". Ok, you probably meant that this latter function, when called with the remaining arguments, returns the result, unlike digging one step down into currying. But no one actually says you have to specify all the remaining arguments: you can partially-apply the result of partial application, and that will once again be a function, not a "result"
Answer: I had this question a lot while learning and have since been asked it many times. The simplest way I can describe the difference is that both are the same :) Let me explain...there are obviously differences.
Both partial application and currying involve supplying arguments to a function, perhaps not all at once. A fairly canonical example is adding two numbers. In pseudocode (actually JS without keywords), the base function may be the following:
add = (x, y) => x + y

If I wanted an "addOne" function, I could partially apply it or curry it:
addOneC = curry(add, 1)
addOneP = partial(add, 1)

Now using them is clear:
addOneC(2) #=> 3
addOneP(2) #=> 3

So what's the difference? Well, it's subtle, but partial application involves supplying some arguments and the returned function will then execute the main function upon next invocation whereas currying will keep waiting till it has all the arguments necessary:
curriedAdd = curry(add) # notice, no args are provided
addOne = curriedAdd(1) # returns a function that can be used to provide the last argument
addOne(2) #=> returns 3, as we want

partialAdd = partial(add) # no args provided, but this still returns a function
addOne = partialAdd(1) # oops! can only use a partially applied function once, so now we're trying to add one to an undefined value (no second argument), and we get an error

In short, use partial application to prefill some values, knowing that the next time you call the method, it will execute, leaving undefined all unprovided arguments; use currying when you want to continually return a partially-applied function as many times as necessary to fulfill the function signature. One final contrived example:
curriedAdd = curry(add)
curriedAdd()()()()()(1)(2) # ugly and dumb, but it works

partialAdd = partial(add)
partialAdd()()()()()(1)(2) # second invocation of those 7 calls fires it off with undefined parameters

Hope this helps!
UPDATE: Some languages or lib implementations will allow you to pass an arity (total number of arguments in final evaluation) to the partial application implementation which may conflate my two descriptions into a confusing mess...but at that point, the two techniques are largely interchangeable.
Answer: A lot of people here do not address this properly, and no one has talked about overlaps.
Simple answer
Currying: Lets you call a function, splitting it in multiple calls, providing one argument per-call.
Partial Application: Lets you call a function, splitting it in multiple calls, providing multiple arguments per-call.

One of the significant differences between the two is that a call to a
partially applied function returns the result right away, not another
function down the currying chain; this distinction can be illustrated
clearly for functions whose arity is greater than two.

What does that mean? That means that there are max two calls for a partial function. Currying has as many as the amount of arguments. If the currying function only has two arguments, then it is essentially the same as a partial function.
Examples
Partial Application and Currying
function bothPartialAndCurry(firstArgument) {
    return function(secondArgument) {
        return firstArgument + secondArgument;
    }
}

const partialAndCurry = bothPartialAndCurry(1);
const result = partialAndCurry(2);

Partial Application
function partialOnly(firstArgument, secondArgument) {
    return function(thirdArgument, fourthArgument, fifthArgument) {
        return firstArgument + secondArgument + thirdArgument + fourthArgument + fifthArgument;
    }
}

const partial = partialOnly(1, 2);
const result = partial(3, 4, 5);

Currying
function curryOnly(firstArgument) {
    return function(secondArgument) {
        return function(thirdArgument) {
            return function(fourthArgument ) {
                return function(fifthArgument) {
                    return firstArgument + secondArgument + thirdArgument + fourthArgument + fifthArgument;
                }
            }
        }
    }
}

const curryFirst = curryOnly(1);
const currySecond = curryFirst(2);
const curryThird = currySecond(3);
const curryFourth = curryThird(4);
const result = curryFourth(5);

// or...

const result = curryOnly(1)(2)(3)(4)(5);

Naming conventions
I'll write this when I have time, which is soon.
Answer: For me partial application must create a new function where the used arguments are completely integrated into the resulting function.
Most functional languages implement currying by returning a closure: do not evaluate under lambda when partially applied. So, for partial application to be interesting, we need to make a difference between currying and partial application and consider partial application as currying plus evaluation under lambda.
Answer: I could be very wrong here, as I don't have a strong background in theoretical mathematics or functional programming, but from my brief foray into FP, it seems that currying tends to turn a function of N arguments into N functions of one argument, whereas partial application [in practice] works better with variadic functions with an indeterminate number of arguments. I know some of the examples in previous answers defy this explanation, but it has helped me the most to separate the concepts. Consider this example (written in CoffeeScript for succinctness, my apologies if it confuses further, but please ask for clarification, if needed):
# partial application
partial_apply = (func) ->
  args = [].slice.call arguments, 1
  -> func.apply null, args.concat [].slice.call arguments

sum_variadic = -> [].reduce.call arguments, (acc, num) -> acc + num

add_to_7_and_5 = partial_apply sum_variadic, 7, 5

add_to_7_and_5 10 # returns 22
add_to_7_and_5 10, 11, 12 # returns 45

# currying
curry = (func) ->
  num_args = func.length
  helper = (prev) ->
    ->
      args = prev.concat [].slice.call arguments
      return if args.length < num_args then helper args else func.apply null, args
  helper []

sum_of_three = (x, y, z) -> x + y + z
curried_sum_of_three = curry sum_of_three
curried_sum_of_three 4 # returns a function expecting more arguments
curried_sum_of_three(4)(5) # still returns a function expecting more arguments
curried_sum_of_three(4)(5)(6) # returns 15
curried_sum_of_three 4, 5, 6 # returns 15

This is obviously a contrived example, but notice that partially applying a function that accepts any number of arguments allows us to execute a function but with some preliminary data. Currying a function is similar but allows us to execute an N-parameter function in pieces until, but only until, all N parameters are accounted for.
Again, this is my take from things I've read. If anyone disagrees, I would appreciate a comment as to why rather than an immediate downvote. Also, if the CoffeeScript is difficult to read, please visit coffeescript.org, click "try coffeescript" and paste in my code to see the compiled version, which may (hopefully) make more sense. Thanks!
Answer: I'm going to assume most people who ask this question are already familiar with the basic concepts so their is no need to talk about that.  It's the overlap that is the confusing part.
You might be able to fully use the concepts, but you understand them together as this pseudo-atomic amorphous conceptual blur.  What is missing is knowing where the boundary between them is.
Instead of defining what each one is, it's easier to highlight just their differences—the boundary.
Currying is when you define the function.
Partial Application is when you call the function.
Application is math-speak for calling a function.
Partial application requires calling a curried function and getting a function as the return type.
Answer: There are other great answers here but I believe this example (as per my understanding) in Java might be of benefit to some people:
public static  Function partiallyApply( BiFunction aBiFunction, A aValue ){
    return b -> aBiFunction.apply( aValue, b );
}

public static  Supplier< X > partiallyApply( Function aFunction, A aValue ){
    return () -> aFunction.apply( aValue );
}

public static  Function<  A, Function  > curry( BiFunction bif ){
    return a -> partiallyApply( bif, a );
}

So currying gives you a one-argument function to create functions, where partial-application creates a wrapper function that hard codes one or more arguments.
If you want to copy&paste, the following is noisier but friendlier to work with since the types are more lenient:
public static  Function< ? super B, ? extends X > partiallyApply( final BiFunction< ? super A, ? super B, X > aBiFunction, final A aValue ){
    return b -> aBiFunction.apply( aValue, b );
}

public static  Supplier< ? extends X > partiallyApply( final Function< ? super A, X > aFunction, final A aValue ){
    return () -> aFunction.apply( aValue );
}

public static  Function<  ? super A,  Function< ? super B, ? extends X >  > curry( final BiFunction< ? super A, ? super B, ? extends X > bif ){
    return a -> partiallyApply( bif, a );
}

Comment: The following gave me the key insight:
"So currying gives you a one-argument function to create functions, where partial-application creates a wrapper function that hard codes one or more arguments."
Answer: Currying
Wikipedia says

Currying is the technique of converting a function that takes multiple arguments into a sequence of functions that each takes a single argument.

Example
const add = (a, b) => a + b

const addC = (a) => (b) => a + b // curried function. Where C means curried

Partial application
Article Just Enough FP: Partial Application

Partial application is the act of applying some, but not all, of the arguments to a function and returning a new function awaiting the rest of the arguments. These applied arguments are stored in closure and remain available to any of the partially applied returned functions in the future.

Example
const add = (a) => (b) => a + b

const add3 = add(3) // add3 is a partially applied function

add3(5) // 8

The difference is

currying is a technique (pattern)
partial application is a function with some predefined arguments (like add3 from the previous example)
Answer: In writing this, I confused currying and uncurrying.  They are inverse transformations on functions.  It really doesn't matter what you call which, as long as you get what the transformation and its inverse represent.
Uncurrying isn't defined very clearly (or rather, there are "conflicting" definitions that all capture the spirit of the idea).  Basically, it means turning a function that takes multiple arguments into a function that takes a single argument.  For example,
(+) :: Int -> Int -> Int

Now, how do you turn this into a function that takes a single argument?  You cheat, of course!
plus :: (Int, Int) -> Int

Notice that plus now takes a single argument (that is composed of two things).  Super!
What's the point of this?  Well, if you have a function that takes two arguments, and you have a pair of arguments, it is nice to know that you can apply the function to the arguments, and still get what you expect.  And, in fact, the plumbing to do it already exists, so that you don't have to do things like explicit pattern matching.  All you have to do is:
(uncurry (+)) (1,2)

So what is partial function application?  It is a different way to turn a function in two arguments into a function with one argument.  It works differently though.  Again, let's take (+) as an example.  How might we turn it into a function that takes a single Int as an argument?  We cheat!
((+) 0) :: Int -> Int

That's the function that adds zero to any Int.
((+) 1) :: Int -> Int

adds 1 to any Int.  Etc.  In each of these cases, (+) is "partially applied".


How can you wipe and reinstall OSX on a Mac Mini (which has no optical drive)?

Question: If you are a new disk and wiping them to setup a DIY Fusion disk, how does the Mini carry on working afterwards... haven't you just wiped the OS? Without an optical drive, how can you clean the disks and still be able to reinstall an OS?
Comment: I found this, might help - https://discussions.apple.com/thread/5815647 Note, on a barebones machine, the OS will be downloaded by Recovery if there's no existing partition. It will download the OS the machine was first sold with.
Comment: Can you go into more detail on "Recovery" - does it 'magically' get an OS from the web or is there a secret recovery partition?
Comment: On a fully installed system, there's a hidden partition, on a new drive it will use the magic of the interwebz to fetch the OS. See http://support.apple.com/kb/HT4718
Answer:
Without an optical drive, how can you clean the disks and still be
  able to reinstall an OS?

Simplest and cheapest way: create a bootable volume from the OS X Installer on a USB Stick.
2 days ago I used the (free) DiskMakerX to clone the 10.10.3 OS X Installer (it works also with older OS X versions) from AppStore to a USB Stick and used that bootable clone to start from it and install OS X on another volume. Everything worked fine.
Answer: You could also try Internet recovery
To do this boot your Mac while holding option+command+R Then when it loads (takes about 5 mins) go to disk utility and format your drive. After you have done that go back and select the option Reinstall OS X.
Hope this helps.
Answer: This guide explains how to create a bootable USB installer, from the installer you'll be able to wipe the internal disk through disk utility before installation
Answer: I have been able to use OS X purchases from my App Store and use for clean install. Assuming you have gotten updates since lion was released? Go to your purchases and option + click the OS you want installed. The limit is naturally set so you cannot load an OS older then your machine.


How to make pages/word documents open in preview first?

Question: As you know word documents open by default in pages, and it takes time to do that. Is there any way I can make those documents open in preview first? (plus any other kind of document that you may know) It would obviously be way faster and less cumbersome.
Comment: Pages does open docx files, just tested it to be sure - and had to test as I have done it often before and when I read that it was not possible I could not believe it...
Comment: It depends whether you mean .doc or .docx. Preview can open .doc [so can be set as default] but it cannot open .docx. Hmm, I just tested, Pages can't open .docx either.
Comment: I did manage to find one that worked & one that didn't. I don't use anything MS often enough to have any kicking around to test.
Answer: If you do a right click on this file, but before that you can hold down the Option key  and click "Always open with".  Then just select Preview.
Comment: And tested this as well. Works and opens fine.
Comment: RE: "but before that you can hold down the Option key " --  The **⌥** _key_ can be pressed and held after the context menu appears as well, it does not necessarily need to be done before. This is because a _right-click_ can be initiated by a _control click_ which would require the **⌥** _key_ to be pressed and held after the context menu appears, not before.
Answer: If all you want to do is see the contents of the file, no need to open it at all. Just use Quick Look. Select the file and the hit the spacebar to view the contents.
Documentation
View and edit files with Quick Look on Mac
Quick Look offers a fast, full-size preview of nearly any kind of file without opening the file. You can rotate photos, trim audio and video clips, and use Markup—directly in the Quick Look window.
On your Mac, select one or more items, then press the Space bar. A
Quick Look window opens. If you selected multiple items, the first
item is shown.

Browse items (if you selected multiple items): Click the arrows near
the top-left of the window or press the Left Arrow or Right Arrow
key. In full screen, click the Play button  to view the items as a
slideshow.
Show items in a grid (if you selected multiple items): Click the
Index Sheet button  or press Command-Return.
Open an item: Click Open with [App].
Share an item: Click the Share button , then choose how you want to share the item.

When you're done, press the Space bar or click the Close button  to close the Quick Look window.


Example of convergence in distribution but not in probability

Question: While I was looking for an example of a sequence of random variables which converges in distribution, but doesn't converge in probability, I have read that it should be enough to consider a sequence of independent and identically distributed non-degenerate random variables. I don't understand why... Can someone explain (or correct if it isn't right)?
Thank you
Comment: They all have the same distribution (identically distributed) so there is convergence in distribution. But if they are not degenerate then there is no convergence in probability (independent).
Comment: @drhab Sorry for answering so late, let's take X and Y indep. and identically distributed and $X_n = X  \forall n \in \mathbb{N}$. It's clear that there is convergence in distribution. If there is convergence in probability, then it must be $P(X=Y)=1$. I want to show that in this case there is $c \in \mathbb{R}$ such that $P(X=c)=P(Y=c)=1$. I think I'm able to do this if X and Y are discrete (suppose $P(X=c)<1  \forall c \in \mathbb{R}$, then $P(X=c)=(P(X=c))^2=0 \forall c$, absurd, where the last equality follows from indep.). Could you help me for the general case?
Comment: If $X,Y$ are independent with $P\left(X=Y\right)=1$ and $F$ denotes
their common CDF then$F\left(x\right)=P\left(X\leq x\right)=P\left(X\leq x\wedge Y\leq x\right)=P\left(X\leq x\right)P\left(Y\leq x\right)=F\left(x\right)^{2}$.
This implies that $F\left(x\right)\in\left\{ 0,1\right\} $ for each
$x\in\mathbb{R}$. Then the characteristics of $F$ as a CDF (right-continuous, non-decreasing, non-constant and taking values in $[0,1]$) tell us that $F=1_{[c,\infty)}$ for some constant $c$. This implies that
$P\left(X=c\right)=1$.
Answer: Choose the probability space $([0,1],\mathscr{B},m)$. ($\mathscr{B}$ consists of all Borel sets of $[0,1]$, $m$ is the Lebesgue measure.)
Let $X_{2n}(\omega)=\omega$, $X_{2n-1}(\omega)=1-\omega$.
Show that $X_{2n}$ and $X_{2n-1}$ have the same distribution. (Uniform distribution.)
Show that $\{X_n\}$ does not converge in probability.
Comment: the most simple exam ever seen
Comment: Wow, I'm THAT stupid.
Comment: I don't really understand this. Can you unpack further?
Comment: @Learningstatsbyexample I've posted the proof in my answer. https://math.stackexchange.com/a/4652815/481713
Comment: @paperskilltrees I've posted the proof in my answer. https://math.stackexchange.com/a/4652815/481713
Answer: Here is an example of a sequence of random variables $\{X_n\}_{n\geq1}$ defined on $\Omega$ which converges in distribution to $X:\Omega\to\mathbb{R}$ but does not converge in probability to $X$.
Consider the abstract space $\Omega=\{0,1\}$ and
\begin{cases}
X_n(0)=0\\
 X_n(1)=1\\
X(1)=0\\
 X(0)=1
\end{cases}
all with probability $\frac{1}{2}$.
Then we have
$$X_n\xrightarrow[]{\text{dist}}X$$
because $F_n=F$, where $F_n$ and $F$ are the distribution functions of $X_n$ and $X$ respectively.
However, $$X_n\xrightarrow[]{\text{prob}}X$$ does not hold since we have $|X_n(\omega)-X(\omega)|=1$, for $ \omega\in\Omega$. Thus
$$P(\omega \in \Omega: |X_n(\omega)-X(\omega)|>\epsilon)\not\to 0.$$
Comment: So just pick 2 different random variables with the same distribution. Amazing I struggled so hard when the answer is so simple, I keep getting this idea that any type of convergence must mean the $X_n$ must look more and more similar to $X$. My iq must be sub 50.
Answer: Let $X_0 = \text{Uniform}[0,1]$,
$X_{2n} = X_0$, $X_{2n+1} = 1 - X_0$
$X_n$ has the uniform distribution on $[0,1]$, so they converge in distribution.
Suppose $X_n$ converges in probability to some random variable $X$, then
\begin{align}
P(|X_n - X| > \epsilon) + P(|X_{n+1} - X| > \epsilon) &\ge P(|X_n - X| > \epsilon \text{ or } |X_{n+1} - X| > \epsilon)\\
&= P(\max(|X_n - X|, |X_{n+1} - X|) > \epsilon)\\
&= P(\max(|X_n - X|, |1 - X_{n} - X|) > \epsilon)\\
&\ge P(\max(|X_n - X|, |1 - X_{n} - X|) > \epsilon \text{ and } |X-\frac{1}{2}| > \frac{1}{4})
\end{align}
Given that $|X - \frac{1}{2}| > \frac{1}{4}$, it's impossible for both $X_n$ and $1 - X_n$ to be within $\epsilon$ of $X$. Therefore $P(|X_n - X| > \epsilon) + P(|X_{n+1} - X| > \epsilon)$ cannot possibly go to zero.
Comment: This is an addendum to Eclipse Sun's [answer](https://math.stackexchange.com/a/1348195) showing that $(X_n)$ does not converge in probability (Eclipse Sun skipped the details).


Is it possible to get other eeveelutions in Let's Go?

Question: I know that pokemon LGP/LGE is a remake of the gen 1 games that only had eevee evolve into vaporeon, jolteon, and flareon, but lets say i wanted leafeon for example. Would you be able to at least transfer that leafeon from another game into this one? Or is there a way to get it ingame?
Just wondering!
Comment: If my post has answered your question, don't forgot to accept by clicking on the check mark next to it :) Be sure to do that with any of your other questions. I noticed you have a few that seem to have been answered
Answer: Unfortunately no. As you stated, the Let's Go series only support Generation 1 Pokémon (with the exception of Meltan and Melmetal, which were released in Generation 7). Therefore, you cannot obtain any other Eeveelution aside from Vaporeon, Jolteon, and Flareon.
Comment: Note this also applies to Pokemon which gained an evolution in newer games, like Chansey and Onix
Comment: Ah, thank you. Thats a shame, though. The gen 1 eeveelutions arent exactly my favorite
Comment: *Let's Go: Eevee* quasi-sort-of-but-not-really breaks this answer. While your partner Eevee can't evolve, it can learn some special moves that all match the various types Eevee can evolve into, so Eevee has a really wide range of flexibility. And, each of those moves has a secondary effect (fire burns, grass seeds the target, fairy clears status effects, etc). That's about as close as you can get to getting the non-Kanto Eeveelutions.
Comment: @Ellesedil sure, but whats a sylveon without its ribbons?


Merging multiple 16-bit image bands to create a True Color Tiff

Question: I'm trying to merge three Tiff band images in python, red, green and blue into a True color image. PIL does not support the file depth as they are 16-bit files with 11-bit values. I have seen it mentioned to use a sequence of Image objects. However after attempting to research this I'm unsure how to approach it.
Comment: Will QGIS read the images correctly? Are they 16bits per band with only 11 value bits or 16bit colour (5bits per channel + 1)? Is each band a separate 1 band image?
Comment: They are 16-bits per band with only 11-bit values with individual bands. The answer below does work with 8bit values but GDAL was able to import and convert them to the 11-bit values needed.
Answer: Hopefully this is useful. Take note, it is written for python3 and needs specific libraries.
First you would need to read each tiff band as a numpy array using something like this:
import numpy as np
from osgeo import gdal
import os.path

def file_test(input_file):
    return os.path.isfile(input_file)

def open_tiff(tiff_file):
    print(tiff_file)
    if file_test(tiff_file):
        return gdal.Open(tiff_file)
    else:
        print("Error!")

def tiff_to_array(tiff_file, lon_offset_px=0, lat_offset_px=0):
    gdo = open_tiff(tiff_file)
    tiff_array = gdo.ReadAsArray(lon_offset_px,lat_offset_px,1000,1000)
    tiff_array = np.array(bytescale(tiff_array, low=0, high=255), dtype=np.int16)
    gdo = None
    return tiff_array

This is used to create image array. I use the scikit-image library to do some enhancements.
import numpy as np
from scipy.misc import bytescale
from skimage import exposure
from matplotlib import pyplot as plt

def create_composite(red_band, green_band, blue_band):
    img_dim = red.shape
    img = np.zeros((img_dim[0], img_dim[1], 3), dtype=np.float)
    img[:,:,0] = red
    img[:,:,1] = green
    img[:,:,2] = blue
    p2, p98 = np.percentile(img, (2, 98))
    img_rescale = exposure.rescale_intensity(img, in_range=(p2, p98))
    return bytescale(img_rescale)

image = create_composite(red, green, blue)
plt.imshow(image)

You could convert each band to 8-bit using scipy.misc.bytescale first before passing it to the function.


Empty cart should remove coupon discounts in commerce

Question: Is there anyway to remove all the discounts if cart becomes empty?
Answer: I think this one is debatable from a functional perspective.
On first glance, it feels like if a cart is emptied then the coupon should be removed, but on the flip side, if they are simply changing their order and the cart is emptied along the way during that process, why should they have to re-enter the coupon?  The coupon itself is still valid, so if they have entered it, and then the cart later becomes valid for that coupon, why should it not then automatically re-apply?
I believe the only way to clear the coupon code as you wish would be to detect if the cart is empty (i.e. has no lineitems) and then post (e.g. by ajax) to update-cart an empty coupon code...something like:
<form method="POST" id="remove-coupon">
    {{ csrfInput() }}
    {{ redirectInput('/cart') }}
    <input type="hidden" name="action" value="commerce/cart/update-cart">
    <input type="hidden" name="couponCode" value="">
    ...etc


Make Exchange 2007 use the correct SSL certificate

Question: I have an SBS 2008 server contososerver.contosodomain.local which is externally accessible with the domain remote.contoso.com and an SSL certificate for the external domain which we installed using the SBS 2008 wizard. This works great for OWA because IIS serves the remote.contoso.com certificate. I also want to turn on external POP3/IMAP4/SMTP however when I try, I get served the internal certificate that SBS generated automatically (using its internal CA) which has the alternate names remote.contoso.com, contososerver.contosodomain.local and contososerver. I tried removing this certificate from Exchange but it won't let me because it needs it for its internal receive connector. So how do I tell Exchange 2007 to use the real certificate for external POP3/IMAP4/SMTP?
Answer: The procedure seems to be easier in SBS 2010 because Exchange 2010 has certificate management in its GUI. The steps are as follows:

Open Exchange Management Console.
Expand and select Server Configuration.
You should see several certificates, typically including:

Your trusted certificate for the external domain associated with the IMAP, POP, IIS and SMTP services.
Your SBS certificate for both internal and external domains associated with the SMTP service.
An internal certificate for the internal domain associated with the SMTP service.
An internal certificate for the placeholder Sites site that existed before you ran the Internet address wizard.

You can't delete your SBS certificate because one of its alternate names is for your internal domain and it's still the selected certificate for that domain.
Select the internal certificate for the internal domain name and assign the SMTP service to the certificate. When prompted, overwrite the existing default SMTP certificate. You will be warned that the SBS certificate still takes precedence because it is signed by a CA.
Now you can remove the SBS certificate.


Saving pineapple plant

Question: All my pineapple plants leaves turned yellow, and drying in about a month. My mother most likely over watered it, about 2-3 times a week. It currently has a fruit which is completely yellow now. How can I save it and grow new leaves??  Thanks a million!
Comment: Thank you for your response! I do have 6x "ratoon suckers" already removed from the mother plant and one is still attached but not visible from that angle. It was just said to see the mother plant dying... Unfortunately the plant was store bought and the fruit was labeled not edible. But gorgeous!
Comment: Glad that you removed the ratoons already and can have more pineapples. Too bad you can't eat the one on the mother plant, though.
Answer: Pineapples die after fruiting, but usually produce suckers beforehand which replace the mother plant. I unfortunately don't see any suckers on your plant. There's more information about the three different types of suckers, and how best to propagate them, here.
I would eat that lovely pineapple, if were you - the more golden the pineapple, the sweeter the taste.

Saving pineapple plant


Correct way to do a Thomas-Fermi approximation for cold gases

Question: I have calculated the total Gross-Pitaevskii energy for a 2D Bose-Einstein condensate in an harmonical trap, using a variational gaussian wave function with a variational parameter b. Now I want to compare the variational energy to the Thomas-Fermi result.
I know that the Thomas-Fermi approximation means that you neglect the total kinetic energy in comparison to the interaction energy, but I was wondering how to do it specifically in this case. I namely have three different possibilities in mind:
1) Just remove the kinetic energy term from the energy expression I found with the variational wave function, and keep the value of the variational parameter b as it was before.
2) Remove the kinetic energy term from the energy expression I found with the variational wave function, and calculate a new value for the variational parameter b for this specific case.
3) Use the Thomas-Fermi approximation in the GP equation to find a new expression for the wave function (instead of the one I used before) and use this one to calculate the energy.
I can't seem to decide which of these three is the right one. Can anyone give a convincing argument as to which method I should use?
Answer: You simply take $|\psi|^2=1/g[\mu-V(x)]$.
This because now your time independent GPE is
$\mu\psi=(V+g|\psi|^2)\psi$


Wok seasoning.. Again

Question: Hi so after removing old seasoning on my wok with vinegar baking powder and a lot of scrubbing, i tried to season it again. But i could not get any good results ( https://i.stack.imgur.com/ekj0K.jpg )
As you can see the oil did not act as a layer but like some drops dripping.. I am sure i didnt use too much (it was really a thin layer) but once starting to burn, the oil grouped in these weird lines. Could that be the patterns of my towel showing off? I am really confused... I am doing it over the gas stove because i dont have any oven. If anyone can help it is really annoying because its the only pan i have right now and the small seasoning i made still peeled when cooking... Thanks!!
Comment: Rule #1 - don't burn the oil. Pan too hot.
Answer: Just to expound upon what @Tetsujin wrote above, if you burned the oil start again. And by start again, I mean scrub off the burnt residual oils and go from there
If you don't have an oven you will need to be extra careful. The beauty of an oven is you can set the temperature more easily. I would recommend you try and find a place to season it that has an oven. This will help you avoid this issue in the future.
Comment: If there's too much oil it will keep dribbling towards the centre of the pan. So a) use less oil, b) use a paper towel & keep spreading it around & c) you burned it so you'll have to start over.
Comment: Well by burn i meant polymerise or something like that, becoming brown then black with smoke and all, cause i used pretty low flame. I seasoned my pan before and it did the same reaction, but as a layer not as "stripes" like this, and the seasoning was effective (i just forgot soup inside for a day so it went off). I just don't understand why it does not stay as a layer..
Comment: @Tetsujin glad to see we are on the same page! Good luck Nat!

Wok seasoning.. Again


Is it mandatory to install Java for the correct operation of Ubuntu / Xubuntu etc?

Question: Hi, sorry for the lack of knowledge, maybe this is a stupid question. Is it necessary to install java after installing Ubuntu for the correct operation of the system? I mean for a standard user who only uses the pc for some tricks and basic things.
Comment: No, although I don't know what is "a standard user who only uses the pc for some tricks and basic things". Can you state it less vaguely?
Comment: By standard user I meant someone who only uses a PC to watch videos, listen to music, documents, etc. Although it may not be the ideal word. I like the command line and fiddle with settings to put the system as I please. I love Linux but I don't have much time to spend on the PC
Answer: No it is not, and certainly not after a full install. I used Ubuntu for the past year without a need for Java until recently when I needed to install it for a Java programming course. Aside from that it never came up.
There are applications in the Software Centre that say they use Java, but I would assume if you install them the required Java libraries would be installed as dependancies.
Comment: Thank you very much for the quick answer.
Answer: If those "tricks" don't involve Java applications, no.
python is rather important in Ubuntu nowadays, but you can expect to have all applications and dependencies necessary for the OS' operation preinstalled.
Comment: Thank you very much.


Will changing app shapes be affected by themes?

Question: I have just desovered 'developer mode' and there is an option to change the app shape. But I have a theme installed on my phone and I don't know if me having a theme will not let the shape change or will make my theme disable so the app shape can change? Basically can I have a theme enabled and still change my app shape?
Answer: Icon Shapes
Home screen icon shape changing is the feature by android. It was first introduced in Android 8.0 Oreo. Later, in Android 9.0 Pie and Android 10 Q, more shapes are added. Shapes include Square, circle(default),squircle,teardrop etc.
Themes
Theme is a feature provided by some manufacturers(Samsung, Xiaomi, Oneplus, Realme etc). Theme changes complete look and feel of devices by its color,icon styles, positioning etc.
Note: I am using stock android, I don't know whether manufacturers provide icon shape changing on their theme app.
Comment: (Sorry for the off) Welcome in the 2k club! Please review more - I think the site strongly needs more VLQ + suggested edit reviewers.


OpenNLP HeadRules

Question: I'm trying to train a parser for a new model using the openNLP tutorial http://sourceforge.net/apps/mediawiki/opennlp/index.php?title=Parser#Training . The only problem is that is requires a head_rules file. I can't seem to find any information anywhere on generating this file and the the only link to a head_rules file can be found here:
http://opennlp.sourceforge.net/models/english/parser/head_rules but I can't make sense of it. Does anyone know how to generate this from  training data?
Answer: This is the head rules file.
Create a textfile under parser director. copy the head rules text into it. Remove the txt extension of the file. Name the file head_rules
http://opennlp.sourceforge.net/models/english/parser/head_rules

OpenNLP HeadRules


How many days it take to reflect income tax paid on form 26as?

Question: Today, I have paid my payable amount of income tax through Government Website as Self Assessment Tax using Chalan 280.
Now, I want to file my ITR but same tax paid amount is not available in FORM 26AS...How many days it take to reflect in form 26as...
Answer: It takes anywhere from few days to month.
You need not wait. You can manually add the BSR, date, Serial number and file the returns.


Building a ledger for indoor use with with some cut to size 2 by 4s, should I stain or paint them?

Question: I'm builduig a ledger for indoor use (to support a work surface) with with some 2 by 4s cut to size, my question is, should I stain or paint them to protect them? for spills etc, or is staining indoor wood purely for cosmetic reasons?
Answer: A true wood stain does not build a "film" on the surface. It only changes the color of the porous wood fiber near the surface. You will want a film-forming finish if your goal is to make it easier to clean up spilled liquids. A paint will do this, but if you want to preserve the look of the wood, then 1 to 3 coats of a polyurethane based finish will also work well. Polyurethane is a clear, durable finish that is resistant to many chemicals and also to normal wear and tear.
Answer: It doesn't matter unless the room is going to have an extreme amount of humidity, temperature changes, or was subject to a lot of chemicals.  What you are worried about with a ledger is warping or the bolts rusting.  If I wanted to protect a piece of wood from elements I would use an oil based primer and paint as I would use in a bathroom.
Answer: Stain or paint - whatever suits your fancy, or colour scheme. :)


What would cause my truck to shut off during me cranking it?

Question: My 1999 Mercury Mountaineer shut off during mid crank. It acted as if it wanted to crank then it shut off. Everything shut down. Outside and inside lights shut off. When I tried to crank it, it didn't say or do anything. So I tried jumping it off and it charged a little bit but not enough for it to crank. It made a ticking sound while I was turning the switch but that's all it did. I waited a little while to see if it would charge but it never charged enough to crank. What could be my problem?
Answer: I'm just spit balling here but it may be possible battery's life has come to an end. Cranking a vehicle draws a lot of current from the battery acting as a big straw that sucks current away from other components (ECU and dashboard). I would first proceed by changing the car battery.
This depends on if the vehicle failed to start first time ^
The other possibility is some vehicles have a safety feature that shuts the vehicle down if it has failed to start a number of times. So if the vehicle was repeatedly cranking this may have kicked in. this safety feature disengages after around 10 15 minutes (possibly more depending on vehicle).
Assuming after you charged the vehicle the lights came back on (safety feature disengaged) could you have possibly burnt the starter motor out? Or could it possibly be jammed?
^ This would depend on the vehicle failing to start Repeatedly
I'm sure some other person with more experience will be along shortly with what could possibly be a common fault of the vehicle.
Answer: It sounds as though either its a bad battery or the battery has lost connection. Your best bet is to take the battery out of your vehicle and charge it. If it comes up to full charge, put it back into the vehicle and see if that does the trick. If it won't charge, take it to an auto parts store and have them load test it. They can tell you if it's bad or not.


How many tags is ideal for a question?

Question: Sometimes when I set 3 tags on a question I feel like I didn't give my question the right paradigm to be answered completely within the question scope. However setting 4 tags feels like an overkill and I' afraid will drive people's focus away from answering the question. What do you think?
Answer: You might be treating tags a bit too mechanically. There is no ideal {X} number of tags anymore so than one might say there's an ideal number of words for a title.
Tags are an ad hoc categorization system to highlight the "key concepts" present in your question. If one tag adequately describes the scope of your question, so be it. If you need more than five tags, you're likely adding too much detail.
Start with the tags tab to see how this site chooses to categorize their questions. Then scan the body of your question to identify the top concepts that describe your question. Sometimes it helps to pretend you're at the help desk's main reception, and you're trying to get redirected to the department and personnel who can help you without getting into a lot unnecessary detail.

"How can I help you?"
"I have a questions about Tridion 2011 [2011]… It's about the Content Manager Explorer [CME]… I'm having trouble extending the user interface [gui-extensions]."

Also note that tags should not be used to add context to your question — all the necessary information should be contained in the body of your question — so tagging should have little effect on changing the question's focus or getting it answered.

How many tags is ideal for a question?


Mixtures of seeds of flowers for a roof

Question: From one side of our apartment we have a view on a roof of a shop in the same building. The view is not very enticing, as you may see from the photos. As there are some plants growing here and there, I was wondering if it would work (apart from gathering the garbage...) to simply seed some mixtures of seeds of flowers there? Do you think they would grow without any help from my side? If yes what mixture/which flowers you would recommend and when should I seed them (we are living in Villach, Austria)? I am not sure how much the roof can carry so I do not want to add any additional soil or walk there if not necessary.
Answer: How deep is the growing medium on the roof? What is the growing medium? It's important to note that green roofs in the US are engineered, with specific layers of different media to ensure proper drainage. I assume that that is also the case in the EU. The fact that you have plants already growing on the roof is very encouraging - it looks as if someone has already engineered the soil. ..
In the northern US, we use sedums and sempervivums on green roofs because they require far less water and can withstand drought. You could also look at "rock garden plants" like Talinum and Erodium (really, any fleshy-leaved plant) for variation on the roof.  For example, Talinum calycinum (with the excellent common name of Jewels of Opar) flowers in late summer in Wisconsin. Erodium can be both a spring and summer bloomer, depending on species.
Comment: I have no idea what is the growing medium and how deep it is. I will simply try some mixture of seeds of sedums and sempervivums, thanks!
Comment: Still one question: do you think it is safe to walk on the roof? I wanted to gather the garbage, but I am afraid the roof will not keep me (I weight under 60kg)...
Comment: Are you in an area that gets a lot of heavy, wet snow? If so, then I would think you could walk on it, since the weight of snow can be up to 125 kg per a square of 30 cm (300 lbs/sq ft). If not, it looks like maintenance workers are expected to walk on the roof, given that their is a skylight and what may be cooling units up there. The roof should've been built to hold a worker's' weight (for example, in California, US, roofs on which maintenance workers are expected to walk must be able to carry a weight of 125+ kg).
Comment: We live in Austria, 500 m above the see level, so I assume it is a lot of snow here (but we moved here a few weeks ago so I have never experienced winter here by myself). Ok, thanks, I think I will try to walk on it.
Comment: I was on the roof to gather the garbage, and it kept me :).
Comment: Glad to hear it :)

Mixtures of seeds of flowers for a roof


What belt can you use to bypass the ac compressor on a 2003 Honda accord 3.5 6cyl

Question: Not sure if there's even an option. I can't find a bypass pully for it. The way the 03 is set up not sure if there's a way to run a smaller belt.
Comment: Is the ac pulley  squealing or seized, preventing the serpentine belt from running? One way to determine which pulley seized or making noise would be removing the serp belt and hand turning each driven pulley. Some spring loaded belt tensioners lose their ability to maintain belt tension and allow belt squealing. If you can deflect the serp belt easily with fingers then the tensioner may be worn out.
Answer: There's no real way to use a shorter belt, that's due to the idler pulley between the AC and alternator. You could feasibly bypass both the AC and idler pulley, but the problem would then be there wouldn't be very much surface area contact between the belt and the alternator pulley, so you'd most likely get a LOT of squealing, which would give you charging problems as well.
Here's the layout of your serpentine system:

If you did chose to go this route, you'd need to measure around the belt path to get a circumference and then convert it into a belt number. The inside length of the belt for your Accord should be 84.06" long and have six ribs. If looking at Gates belts, this equates to a part number of: K060841. If you can measure and get the length of what the new belt should be, you should be able to create a new part number for this. For instance, if the new belt length should be 70.5" long, the new belt number might be K060705. You may have to do some hunting choosing some numbers which are up/down from this to come up with a match. When you find a close enough match, you'll want to err on the side of short rather than long. Then, you'll want to purchase a belt next size up and next size smaller, so you'll be able to find something which will work for you. Once you get the one which does work, return the other two for a refund. If you don't want or can't find a Gates belt, use the number to cross reference to other manufacturers to find what you need.
Comment: Is there definitely nothing that will be in the way of the belt in its new path  from the alternator to the crank shaft pulley?
Comment: @HandyHowie - While you raise an interesting point, that would be for the OP to see for themselves. Thinking on the J-series V6 engines, I think there's a motor mount in the road.
Comment: I agree.  Just wanted to make sure that the OP didn't presume you knew for definite and didn't do any checks before buying a shorter belt.
Answer: The question raised is why do you want to bypass the A/C compressor?  If the compressor is failed or seized, it would make more sense to replace the A/C compressor than to try to engineer a new serpentine system for a mass production engine.  There have to be thousands of Honda 3.0L engines that use that same compressor (just a cursory check on that serpentine belt shows it to have been used in 10 different Honda and Acura models between 2002 and 2017).
Second option would be to find the serpentine belt from a trim level that didn't have A/C.  Long ago that was easy since A/C was usually an expensive option and the most basic (and therefore numerous) trims didn't have it.  Unfortunately, not possible with your Accord.  I don't find an Accord of that generation without A/C.  Honda has since decided that it is cheaper to make millions of one thing than to make a half million each of two kinds of thing.
If the compressor is fine and you just want to "remove" the A/C (we used to do that to our volkswagens as teenagers, thinking we were making the car faster), it is a lot simpler to just leave it there and leave it turned off.  Turned off, it's no different than another idler pulley and doesn't add enough drag to make any meaningful difference.


How can I map the "Archived" folder to "All Mail"?

Question: I would like to map the "Archived" folder that's created when you Archive mail to the "All Mail" folder in my Gmail account.  How can I do this?
Comment: Related question on superuser: http://superuser.com/questions/315171/how-to-stop-mail-app-in-lion-creating-an-archive-folder-for-archiving-in-gmail
Comment: Actually, there is a solution:

http://superuser.com/questions/315171/how-to-stop-mail-app-in-lion-creating-an-archive-folder-for-archiving-in-gmail
Answer: For some reason stackexchange isn't letting me comment on the approved answer.
In any case, jtbandes' comment is incomplete, you have to set the custom app shortcut as:
"Message>Move To>All Mail"
Note the lack of spaces between the words. This is critical; it won't work otherwise. Simply typing "All Mail" will trigger multiple, redundantly named menu items with the keyboard shortcut.
I've assigned mine to Command-Y to approximate the Gmail shortcut.
I learned this from a comment by LaraCroft_NYC at https://discussions.apple.com/thread/2572960?start=0&tstart=0
Comment: I think your "comment" works great as a workaround answer :-) The reason you couldn't comment is your [reputation](http://apple.stackexchange.com/faq#reputation) the more you commit the more privileged you are. Hint: if you read through the FAQ, you will also get a shiny [Analytical](http://apple.stackexchange.com/badges/74/analytical) [badge](http://apple.stackexchange.com/badges) as a reward.
Answer: You can't do this in Lion. File a bug if you want to be able to do this.
Comment: I was afraid this was going to be the answer...
Comment: Yes, unfortunately. To help matter, though, you can create a keyboard shortcut (in Keyboard preferences) for Message > Move To > All Mail.
Comment: I have multiple accounts (all Gmail) so, I would need to create 3 different shortcuts.  I created an AppleScript to move messages to [Gmail]/All Mail though and then created a service so I can run it from a shortcut.  The AppleScript is here:  https://gist.github.com/1134751  I'm not thrilled with it's performance though.
Comment: @Owen: http://www.indev.ca/MailActOn.html
Answer: The odd thing is that for me, until this morning, (Aug 11/11) the archive button was sending emails to the All Mail folder. Suddenly today Mail created a new "archive" folder and is now putting archived emails there instead of All Mail.
I thought was dreaming, but I checked my all mail folder and I have emails there dated since I upgraded to Lion until yesterday.
Huh?
Comment: That's expecially strange since the Mail help states: "An Archive mailbox is created for each account whose messages you archive. For example, if you archive a message sent to your MobileMe account and a message sent to your Gmail account, an Archive mailbox is created for each account.

Archived messages remain in the Archive mailbox until you delete or move them. Depending on the account type, the Archive mailbox is stored on the mail server."


Field intensity for electric field and vector potential

Question: In general, the intensity of an electric field is given by
$$
I = \frac{c\epsilon_0}{2}E_0^2
$$
where $E_0$ is the peak amplitude of the electric field. Let's say we have an electric field
$$
E(t) = E_0 \sin(\omega t).
$$
Without having any other potential, the electric field is connected to its corresponding vector potential $A(t)$ via
$$
E(t) = -\frac{1}{c}\dot{A}(t).
$$
If we compute the vector potential by above electric field, we get
$$
A(t) = -c\int_0^t\,dt'\,E(t') = E_0\frac{c}{\omega}\cos(\omega t).
$$
We could compute the intensity for a given vector potential via
$$
I=\frac{c\epsilon_0}{2}E_0^2=\frac{c\epsilon_0}{2}\frac{A_0^2}{c^2}=\frac{\epsilon_0}{2c}A_0^2
$$
$\textbf{but}$ I wonder how to define the peak amplitude $A_0$ since $\cos(\omega t)/\omega > 1$ is possible. A choice would of course be
$$
A_0 := E_0\frac{c}{\omega}
$$
but that's not very general since the time-dependent function could be anything. What I mean in general is that, if an intensity is given, the time-dependent parts $f(t)$ and $F(t)=\int_0^t\,dt'\,f(t')$ in
$$
E(t)=E_0 f(t)~~~, ~~~ A(t) = A_0 F(t) = -c E_0 F(t)
$$
should only be in [-1,1] or not? One could also think of using $\text{max}_t A(t)$, resp. $\text{max}_t E(t)$ to compute the intensity but that's not how I have seen it in several computer codes (which is the main reason I ask this).
Comment: "$\cos(\omega t)/\omega > 1$" this inequality makes no sense.
Answer:
One could also think of using [...] $\text{max}_t E(t)$ to compute the intensity

That's the definition of peak intensity. Anything else is OK if it can be derived from it, and incorrect if it differs from what can be derived from that.
That includes using $\text{max}_t A(t)$, unless you're in some restricted situation (say, a monochromatic beam, or some similarly minor variation) where it coincides with what you can get from $\text{max}_t E(t)$.

but that's not how I have seen it in several computer codes (which is the main reason I ask this).

If those codes are considering only restricted situations in which their alternative approaches coincide with the correct results, then they're doing it right. If they're using alternative approaches that do not coincide with what can be derived with the correct definition, then they're doing it wrong.
Since you do not give any precise details about what you did see in those codes, and what the underlying assumptions are about the configurations that they're built to handle, there is nothing more we can say at present.
Comment: Dear Emilio, thanks for your answer. That is also what makes most sense to me. I was confused because, in above mentioned software, they used $A(t)=A_0\int\,dt\, \sin(\omega_1 t)\sin(\omega_2 t)^2:=A_0\, F(t)$ where $F(t)$ can exceed 1 and $A_0$ was computed by a given intensity.
Comment: @Lukk It's extremely hard to comment further without more detailed context. If they're using something that doesn't quite correspond to the actual peak intensity then that certainly sounds fishy ─ though, on the other hand, to be frank, the experimental uncertainties in the intensities of pulsed lasers can often be so short that the differences can be completely moot. Still, without more context, there's nothing more I can say.


Swift/ObjC circular import

Question: I am working on an existing large codebase that is predominately Objective-C but is in the process of converting to Swift.
New classes are being implemented in Swift, but some of these classes need to be accessed from existing ObjC code. In an attempt to follow both ObjC and Swift best practices, the new classes do not have a prefix, but are defined with a prefix for ObjC.
/**
 Create contrived class that is named XXClassA in ObjC and ClassA in Swift.
 */
@objc(XXClassA) class ClassA: NSObject {
    let foo = "bar"
}

So far this has been working great; Swift code uses ClassA() and ObjC uses [[XXClassA alloc] init]. Once all ObjC code that references XXClassA is removed, @objc(XXClassA) can also be removed from the Swift class.
Unfortunately this breaks down if you have an ObjC class reference XXClassA and then the Swift code attempts to use that new class inside of ClassA.
Say I create an ObjC class, named XXClassC and it instantiates itself using an XXClassA (which is really the Swift class ClassA)
//
//  XXClassC.h
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@class XXClassA;

@interface XXClassC : NSObject

-(instancetype)initWithA:(XXClassA *)classA;

@end

NS_ASSUME_NONNULL_END

The circular reference is now in place. If I attempt to use XXClassC from inside of the ClassA, the initializer is not available.

If I redefine ClassA as this instead, all is well again.
class XXClassA: NSObject {
    let foo = "bar"
}

I understand why this is happening and the fix I have in place, however I want to continue to use this pattern of prefixed ObjC classes. Any ideas on how to avoid the circular import, but also keep the naming convention?
Full code sample here: https://gist.github.com/justAnotherDev/78483f9d94e40fd90c38
Answer: I'm having the same problem. My workaround is:

Use an objc-style prefixed name for the Swift class.
Add a typealias: typealias ClassA = XXClassA.
Always use the unprefixed name from Swift code.

With this pattern it's at least easy to remove the prefix when the last objc dependency is gone.

Swift/ObjC circular import


MySQL user per database performance implications?

Question: There is a PHP application that uses only one MySQL username. And there are several databases in the MySQL server. Each database is used by a different company. Should I keep "one MySQL" for the entire system or should I switch to "user per database"? Will I have performance increase if I switch to "user per database"?
Comment: @ilhan I would still recommend setting up seperate users. It doesn't require much work and can be beneficial
Comment: This should be a security concern, not a performance concern. Do the companies have direct access to the database, or is everything going through APIs/software?
Comment: @Phil, they don't have database access.
Comment: It sounds like `USE company_db` is your level of security.
Answer: Using different users will not reduce or increase the performance. It is clearly a security issue.
Usually you don't want users from company A to be able to access company B data.
I would recommend to create separate users for each application and grant them only the necessary permissions.
If you run the application using a user with admin rights you risk a lot when the application gets compromised.
Comment: However, it sounds like there is _one_ application that works for _all_ databases (ie, companies).


WiFly Shield - Bluetooth?

Question: Will the WiFly Shield from SparkFun labs be able to connect to a Bluetooth network?
Answer: No, definitely not. It connects to WiFi (802.11a/b/g) networks, not Bluetooth (802.15.1).
I don't think an Arduino Bluetooth shield is available commercially today. Your best bet is to either buy an Arduino with Bluetooth integrated or figure out how to connect a USB or RS-232 Bluetooth adapter.
By the way, on behalf of electrical engineers, I apologize for this 802.11.15.1.a.b.g nonsense. Collectively, we're bad at some things, and naming protocols appears to be one of them.
Comment: USB or RS-232 are bad suggestions. Simplest would be one with a TTL serial connection. Eg this one: http://www.sparkfun.com/commerce/product_info.php?products_id=9913

You can connect it directly to the UART pins on your microcontroller.

RS-232 would require an interface chip, and USB would require a microcontroller with USB host, and lots and lots of complicated code to interface with it.

WiFly Shield - Bluetooth?


How can I animate an iPhone screen within a blender animation?

Question: I rendered an iPhone with a black screen in Blender and then animated it so the camera pans in a circle around the iPhone. I exported this as an AVI file. Then I took my real iPhone and took a screen recording. How can I use After Effects to overlay the black screen from the fake rendered iPhone with this recording while the AVI video pans the camera around the rendered phone? I am new to After Effects.
Answer: You can use your screen recording as a video texture in Blender.
This would then require no tracking / layering in After Effects.
Here's an example of how to go about this.
Answer: I made an attempt to use a green screen my rendering the iphone again with a green front and then using track motion within After Effects. Results aren't great, it doesn't track well and it's very wobbly but it seems like I'm on the right track.


are there limits for the number of buck converters I can run off a single power supply

Question: I am trying to design an led array that includes 4 different types of leds. I am thinking of using several adjustable (cccv) buck converters in parallel on a single set of daisy chained PSU 24v 10A. In the design I could end up using up to 4 converters, 1 set to 19.2v @ 0.7A, 2 set to 19.2v @ 1.4A with PWM dimmer, and 1 set to 24v @ 1.05A. Those are the raw numbers using the Fv and Fc for the leds, I will likely end up slightly under current on all sets. What if any issues are there with this type of set up? Thank You
Comment: Could, thinking, several, trying, likely, slightly = freaking show a circuit/picture cause nobody here reads minds or tarot cards. In answer to the question in your title, yes there is a limit.
Comment: What does "cccv" mean? You can have either constant current supplies or constant voltage ones. Why do you need 3 buck converters set to 19.2V instead of 1?
Comment: Having a single source of 24v all inputs for converters would be connected in parallel to it.
Comment: Wesley, there are sold converters with the capacity to provide adjustable constant current and adjustable constant voltage. the reason for 3 converters set to 19.2 is to allow blocks of leds to be dimmed independent of the other blocks.
Answer: I have had boards with 12 different power rails, including two negative (half of the voltages were dedicated to an LCD), but not as much current.
You have 240 watts to begin with.  Total up the values for the buck converters, perhaps conservatively using only 70% efficiency, and you get
$${(19.2\times 0.7)\over 0.7} + {2\times (19.2\times 1.4)\over 0.7} + 24\times 1.05$$
and you get a total of:
$$19.2 + 76.8 + 25.2 = 121.2 \space watts,$$
which is about half of your budget.  So you should be okay.  I wouldn't go more than 3/4 of your maximum, or 180 watts.
Be sure to follow the datasheet's recommendations for whatever caps you may need at the input to the buck converters, and locate them close to the IC's.
Answer: Short answer: No issues, but needs some consideration.
There are some triple converters (TPS65266 f.e.) on the market, because that is what is required on TV sets with LED backlights. If you can get around with one of these, it will reduce you BOM.
If you need to employ multiple converters, each converter will require its own input capacitance. When selecting components, follow datasheet recommendations and take care of maximum allowed ripple current and bias derating.
Multiple converters will cause quite an inrush current that can blow your PSUs fuse. You need to limit it with a thermistor (or oversize your PSU accordingly). You will also want to use soft-start/ramping on the converters and sequence the converters by connecting PGOOD to the next converters ENABLE.
Last but not least: A ferrite bead keeps the converters switching noise from the PSU cable.
Comment: Thank You, so as long as I respect the limits of capacity for the PSU I should be ok. I will only be drawing 4.5A at any given time.


Why did my put lose value overnight

Question: I bought a put option yesterday 10/20/22 with a strike price of $26. The price of the security was at $28.00, and the expiration set for 11/18/22. The security price dropped to $20.00 overnight. Why is  my option almost worthless now. The IV was at 43% when I bought it. Also, if I hold and the price comes back up will my option gain value?
Comment: What is the underlying ticker?
Comment: There's no way a put that is $6 in-the-money is "worthless". It's possible that you just have no bids for that strike, of the broker is just not showing you the actual value. If nothing changes you will make a $6 profit when the put expires (if you buy the security at $20 and exercise the put at $26).
Comment: ACI or Albertsons
Comment: @D Stanley - Today was the ex-div date for a $6.85 special dividend so the options were adjusted to reflect that.
Answer: Albertsons is merging with Kroger so their options are likely no longer tradeable on many brokers (set to closing only). As such you'd likely have to exercise the put to close your position and realize gain. There's a special dividend related to the merger so mind the timing.
Answer: Albertsons announced a Special Cash Dividend of $6.85 per Class A share with an ex-dividend date of October 21 (today).
As a result, the options have been adjusted and the 'Deliverable Per Contract' is now 100 shares Albertsons and $685.00 Cash.
Answer:
Also, if I hold and the price comes back up will my option gain value?

No, puts have negative delta; if the price goes up, your option will lose value. They are essentially partial shorts: you lose money if the stock doesn't go low enough, but unlike a full short your loss is limited to the premium.

Why did my put lose value overnight


why was the Lord Regent killed?

Question: So when I was playing dishonored, I'm on a non-lethal path btw which i did, the Lord regent died when I knocked him out while his confession was playing. is this a bug or something really suppose to happened. I've read in the wiki that when you've played his confession, the guards will take him into custody, while he try to escape, he will be killed. is this what happened?
Answer: If you knocked him out and saw him die after with no guards around, that sounds like a bug. Perhaps the guard thought the Lord Regentbeing unconscious was the same as him fleeing, in which case they would've killed him.
The non-lethal takedown for the Lord Regent involves playing the confession, after which one of the following happens:

The Lord Regent is killed by guards in a non-scripted way if he flees after the confession plays. This can happen if you possess him, or if you attack him or the guards while he's being led out of the tower.
The Lord Regent is arrested, led out of the tower, and then tries to flee and is killed by guards in a scripted way if you're on a high-chaos playthrough.
The Lord Regent is arrested, led out of the tower, and survives to be thrown in Coldridge Prison if you're on a low-chaos playthrough.

Source: http://dishonored.wikia.com/wiki/Return_to_the_Tower
Answer: It is possible for the regent to try to escape if you interfere with his arrest. In this case the guards attack and may kill him. Knocking him out must have triggered that when it became impossible to arrest the unconscious regent.
If you knock someone out and they later die, it is counted as a kill- usually because it's your fault.

why was the Lord Regent killed?


What kind of card sorting is the best?

Question: I have an online grocery website, it includes different categories and subcategories, I want to test the the usability of categories tree, in this case closed card sorting or open card sorting is the most suitable? and how many people should participate ?
Answer: Reverse Card Sort
An existing structure of categories and sub-categories is tested
The reasons are:

Open and closed card sorting techniques are used during the designing phase to understand user's mental models.
You have already built a website with navigation structure / flow
Now, you are trying to do the usability testing to cross check whether the items which you grouped and labelled are easy to find.

I know you have already selected the answer but wanted to post my answer.
Reference: Human Factors International (CUA - Books).
Unfortunately, I cannot share the information from the books, but here is link https://en.wikipedia.org/wiki/Card_sorting
Comment: Are you talking about [Tree Testing](https://en.wikipedia.org/wiki/Tree_testing)?
Answer: Open or closed, are your categories defined and cannot be changed? If that is the case then a closed cardsort, if not then I would use an open sort as you will be able to see if the catergory terminology and major relationships have any underlaying issues.
If you are to use a open sort you will get alot of variation in the catergory definitions so I like to use a minimum of 12 participants, this should find the major issues with multiple particpants confirming the same issues, But if you can get, get as many as you can within your ability and scope of time.
I am not sure about free tools but optimal workshop have an online tool that i believe allows for both cardsorting options, https://www.optimalworkshop.com/optimalsort .
Answer: Open or closed card sorting is the popular ones, but there is another interesting technique that put less mental load on participants, the Delphi method:

In this approach, the first participant creates an initial sort, and then the remaining participants review and modify that sort. This imposes a much lower mental load on the remaining participants, rendering a sort of 200+ items a much more tractable proposition (in theory).

Ref: Card Sorting using the Delphi Method
It's an alternative supported by Donna Spencer who wrote the Card Sorting Book.

What kind of card sorting is the best?


Time to event with a discrete number of time points

Question: I'm planning a clinical study, in which my desired primary outcome is time to event. My new treatment is non-inferior to the current one in it's therapeutic abilities, however it makes an impact much faster. The follow-up points the clinician wishes to perform (apart from baseline) are 3, 6 and 12 months. At 12 months, it is expected that both treatments will be the same. However, at 3 and 6 months, it is expected to be different. I was thinking at first about survival analysis (time to event), but my time is not continuous, it is discrete, and with a very small number of time points. How should I analyze such data ? With an answer to this question, I'll try thinking how to dig up the sample size.
Answer: If you're ready to assume that survival is constant between discrete times, then you can use 'Nelson-Aalen Estimator' and 'Kaplan-Meier Estimator' to get Estimator for survival.
To compare clinical trials  hypothetically, new treatment with current one use Log-Rank Test.(as it is nonparametric test, you can test for time 12 and time (3&6) differently)
After test, choose the better Estimator.


Can I find a clan which I previously left?

Question: How can I find my clan which I had left? I also don't know anything about that clan . I just only know the name and I search too long.
Answer: https://www.clashofstats.com/ keeps track of player's Clan history. If you look up yourself, odds are they know in which clan you were... If it was only for a very short period however, they might have missed it.
Answer: Unfortunately, you're going to have to keep searching. There is no way to see which clans you were previously in. The only way you'll be able to find them is by searching through the Clan Search page and scrolling through until you find it. If you really only remember the name, you might be out of luck. The more information you have for the search the easier it'll be to find them. Best of luck!


What is the maximum SCSI LUN size?

Question: What is the maximum size of single (i)SCSI LUN from perspective of SCSI protocol, what is the limit?
Answer: The answer would appear to be heavily dependent on the generation of the SCSI protocol, as it has gone through a handful of revisions through its days of glory.
First, 512 bytes = 2^9 bytes.
The earliest SCSI protocols used 21-bit LBA. Using 512-byte blocks, this gives 2^21 * 2^9 bytes or 1 GiB addressable space. (2^21 * 2^9 = 2^30.) (source)
Newer SCSI variants allow for 32-bit LBA addresses, which gives you 2^41 bytes (2 TiB) addressable. (source) But also see below.
Current in ATA is LBA48, or 48-bit LBA, although I cannot find any definitive statement on whether any current variant of SCSI uses 48-bit LBA. (It makes sense, though, and some Googling provides some fairly strong indications that such is the case. If anyone has a definitive source either way, please comment.) This gives you 2^57 bytes (128 PiB) addressable over the protocol itself, assuming 512 byte blocks. If we are allowed to raise this to 4096 (2^12) byte blocks, that becomes 2^60 bytes = 1 EiB.
According to a comment left by JdeBP, in SCSI, 64-bit LBA support has been mandatory since the turn of the century. With 512 byte sectors and 64-bit addresses, that gives us 2^73 bytes addressable, or 8 ZiB. A ZiB is 1024^3 TiB.
So the realistic answer with current generation hardware is probably either 8 ZiB or 128 PiB maximum LUN size addressable over (i)SCSI, with the former being more likely.
While a total storage capacity of 128 PiB is possible to approach in really large setups, 8 ZiB seems to me to be well out of pretty much anyone's reach for now. Using these newfangled 8 TB drives, that would require approximately 1000^3 = 10^9 drives, for a power requirement for just keeping them spinning of approaching 10 MW.
Comment: 48 bits are for toys.  ☺  SCSI's 16-byte CDBs use **64-bit** logical block addresses.  This has been the case since the 1990s, and implementing the `read(16)` and `write(16)` commands has been mandatory for DASD targets since the turn of the century.  [As I wrote a decade ago](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/os2-disc-and-volume-size-limits.html) this puts the maximum size supported by the SCSI protocol in the ZiBs.
Comment: @JdeBP I updated the answer. Does it feel less like talking about toys, now? (Note that this is Super User, not Server Fault...)
Comment: Thanks for answer. @JdeBP I've placed this question here, cause no meaningful I got off the google (at least not in 1st result page) and even not here.
Comment: It's a lot easier to find if one knows the answer ahead of time, and searches for "8.0ZiB". ☺  "8ZB" gets one Microsoft on the subject.  The proper way to approach this, though, is not random phrase match by Google Web.  I learned it by buying books on SCSI — several in fact (I read both Schmidt and Sawert on the subject, for starters.) — then reading the actual SCSI standards documents (including the SBC documents) which laid out the newer CDB fomats and command sets that postdated the books, and then writing a SCSI DASD class device driver.
Answer: This is depended on vendor, EMC2 has a limit of 1.999TB in their VNXe3300. It will be a mixture of vendor presenting the LUN, the application layer using the LUN and any OS layer mounting the LUN.
Comment: OP specifically asked about the SCSI protocol itself.
Comment: Yes, so there is no limit. You can use any size LUN that the device can present. There is no limit on the protocol at all. The only limiting factor is the vendor.
Comment: "No limit at all" is misleading, even if the limit is very large. There is *always* a limit *somewhere*. It might be so large that *it does not matter in practice* but that doesn't mean there is no limit, it only means that the limit does not matter in practice.

What is the maximum SCSI LUN size?


Refresh meta data in posted URL

Question: In Facebook, when I post the link http://wisdomuniversity.org, Fascebook includes old metadata (Title, description, etc.). I recently added Open Graph Protocol meta tags, but Facebook still uses the old stuff. How does Facebook refresh this metadata and can I force a refresh?
Answer: You need to ping facebook and notify them to update changes and to do that you can use
URL Linter. It may take some time for facebook to update your changes. I'm not sure how much time they take to update after pinging, but just try it.
EDIT: This is officially from facebook: Open Graph protocol

Editing Meta Tags
You can update the attributes of your page by updating your page's
   tags. Note that og:title and og:type are only editable
  initially - after your page receives 50 likes the title becomes fixed,
  and after your page receives 10,000 likes the type becomes fixed.
  These properties are fixed to avoid surprising users who have liked
  the page already. Changing the title or type tags after these limits
  are reached does nothing, your page retains the original title and
  type.
For the changes to be reflected on Facebook, you must force your page
  to be scraped. The page is scraped when an admin for the page clicks
  the Like button or when the URL is entered into the Facebook URL
  Linter. You can programmatically force your page to be scraped by
  cURL'ing the linter. For example:

curl
> https://developers.facebook.com/tools/lint/?url={YOUR_URL}&format=json

Comment: Thanks, this is perfect. I found that the update was immediate for me.
Comment: No Problem and Yep, The changes seem to reflect immediately, they updated their system sometime ago which is good now.
Answer: Use Facebook debbugger and detect the problems related to og FB metadata, https://developers.facebook.com/tools/debug/. Then, if Fb says your image is too small, pull a bigger image and use odd width for the image e.g. 300px, 500px etc. It seems when FB doesn't find the correct image size, title or description, trends to grab main site metadata.
Comment: Do you know if linkedin have this function too?
Answer: You can update your Open Graph object information but just sending a CURL request, like documented here: https://developers.facebook.com/docs/sharing/opengraph/using-objects
POST https://graph.facebook.com/?id={object-instance-id or object-url}&scrape=true

I hope this helps...
Answer: Tool URL has changed to https://developers.facebook.com/tools/debug. Now GET request should be sent to: https://developers.facebook.com/tools/debug/og/object?q={YOUR_URL}.
If you are getting an error "Error parsing input URL, no data was scraped." try to add following header to a request: Referrer: https://developers.facebook.com
Answer: As of the end of 2016, the way to programmatically notify Facebook of changes in your URL and have it scrape it again is by submitting a POST to this URL:
https://graph.facebook.com/?id={YOUR_URL}&scrape=true

Earlier ways, some noted on this page, have been deprecated.  This is documented here:

The Facebook crawler will re-scrape (and therefore update) objects:

When the object URL is input in the Object Debugger Every 30 days
after the first scrape When an app triggers a scrape using an API
endpoint This Graph API endpoint is simply a call to:

POST /?id={object-instance-id or object-url}&scrape=true
The response from this endpoint will be a JSON object that contains all the
  information about the object that was scraped (the same data returned
  when the Object ID is read from the Graph API).
The id parameter can be either the canonical URL of your object or the
  ID of the object instance in the graph.

Refresh meta data in posted URL


How can I move my progress from one machine to another on Chrome Angry Birds?

Question: I'm playing Google Chrome Birds http://chrome.angrybirds.com/ and how can I move my progress to one computer to another without playing all the levels again?
Answer: I would try copying the following file from one computer to the other:
C:\Documents and Settings\<your user account>\Local Settings\Application Data\Google\Chrome\User Data\Default\Local Storage\http_chrome.angrybirds.com_0.localstorage
(Change the drive letter as appropriate)
Backing up and restoring this file works for me on the same computer, but I'm not sure whether it can be transferred between Chrome installations (or whether more files are additionally required).
Comment: It worked, but it's lacking your username after Documents and Settings.
Comment: @Weslei Haha, that's because I used < and > without properly escaping them as `<` and `>` (so it was removed as an invalid HTML tag). Thanks for the catch!


MSMQ AD permissions

Question: We have a system using two machines to do some processing. Let's call the machine that does the processing PROCESSOR, and the machine giving it items to process SERVER. Both are running Windows Server 2008. We have one Windows Service running on SERVER which needs to use MSMQ to send messages to a public queue PROCESSOR.
On PROCESSOR, we have another Windows Service which pulls items from the queue for processing.
The two machines are in the same domain, and all works fine if we run both services under accounts with domain admin privileges. However, we need the accounts to have the minimum privileges possible (particularly for the service on SERVER).
Before elevating the rights of the account we're using for the service on PROCESSOR, I tried giving it full rights to MSMQ. However, this didn't seem to be enough, and as soon as the service tried to do anything with MSMQ (first thing it does on starting is to check if relevant queues exist), I got an exception saying "Access to Message Queuing is denied".
Does anybody know what permissions need to be granted to an AD account in order for it to be able to use MSMQ?
Thanks,
Andrew
Answer: Run your service under a defined system account, like (I believe Network), then set the permissions on the MSMQ to full control for that.
When I've used this in the past I just cheated and allowed access to "Everyone".  But in a domain setting the best way is to create a domain user and set that for the service and permissions on the MQ.
Answer: You need to set permissions on the objects in Active Directory.
So you'll need Get Properties permission if you are querying objects, for example.
This should be on the MSMQ object under the computer object and the queue object(s) under the MSMQ object.
Also, the defaults are going to be restricted to allowing everyone to send but not receive so you will need to add that access for the domain account you are using to be able to read messages.

MSMQ AD permissions


Samsung stuck at boot options screen

Question: I have a np300e5c that's stuck at the boot options screen. It shows two identical Windows boot manager options, I can't get passed this, every time I select one, it just comes back to the same screen. Any thoughts as to the cause?
Comment: Can you add system specs, what you did before this, any modifications you may have made.
Answer: Try booting from your windows setup DVD and right before it says 'install now' click 'repair your computer'. Then you'll find options to restore your startup process, and that might help you to boot again.
If that doesn't work you can try to boot into safemode to identify your problem.
Answer: Hey, I had the same problem and i disabled secure boot and it seems to have solved the issue.
You can access Secure boot from the boot tab in the setup screen.

Samsung stuck at boot options screen