What is the real difference between Pointers and References?

Question: AKA - What's this obsession with pointers?
Having only really used modern, object oriented languages like ActionScript, Java and C#, I don't really understand the importance of pointers and what you use them for. What am I missing out on here?
Comment: I'm not sure anyone is "obsessed" with pointers. Could the question title not be reworded as the question itself is valuable but the title is just silly. Maybe "What is the difference between modern 'References' and traditional 'Pointers'?"
Comment: yeah but my title is funnier. I've actually learned a lot from these responses, so I would probably phrase the question differently with my new knowledge. Should I change it?
Comment: Yes it was an entertaining title. If it were me though, I'd rephrase it for two related reasons 1) More likely a search would find this in google if the question reflected the actual text of the question 2) Someone asking a similar question wouldn't see yours because of the way you phrased it. IMHO.
Comment: If you make "pointer" your friend, "references" tag along !!
Answer: It's all just indirection: The ability to not deal with data, but say "I'll direct you to some data, over there". You have the same concept in Java and C#, but only in reference format.
The key differences are that references are effectively immutable signposts - they always point to something. This is useful, and easy to understand, but less flexible than the C pointer model. C pointers are signposts that you can happily rewrite. You know that the string you're looking for is next door to the string being pointed at? Well, just slightly alter the signpost.
This couples well with C's "close to the bone, low level knowledge required" approach. We know that a char* foo consists of a set of characters beginning at the location pointed to by the foo signpost. If we also know that the string is at least 10 characters long, we can change the signpost to (foo + 5) to point at then same string, but start half the length in.
This flexibility is useful when you know what you're doing, and death if you don't (where "know" is more than just "know the language", it's "know the exact state of the program"). Get it wrong, and your signpost is directing you off the edge of a cliff. References don't let you fiddle, so you're much more confident that you can follow them without risk (especially when coupled with rules like "A referenced object will never disappear", as in most Garbage collected languages).
Comment: Love the signpost off the cliff example :)
Comment: References in Java and C# aren't as immutable as in C++... they can be changed to reference other objects and can also take null values, both of which can't be done in C++... sort of like a mix of C++ references and pointers (that are garbage collected)
Comment: Brilliantly worded explanation!
Comment: "off the cliff it goes " - well said !
Comment: I'd argue that pointers refer directly to the computer's memory whereas references are aliases for other variables.  If you have an int, and you give it two names, that's essentially a reference. If you have an int and you record its location in RAM -- that's a pointer.
Comment: This explanation was like eating the blue pill , thanks
Answer: You're missing out on a lot! Understanding how the computer works on lower levels is very useful in several situations. C and assembler will do that for you.
Basically a pointer lets you write stuff to any point in the computer's memory. On more primitive hardware/OS or in embedded systems this actually might do something useful. Say turn the blinkenlichts on and off again.
Of course this doesn't work on modern systems. The operating system is the Lord and Master of main memory. If you try to access a wrong memory location, your process will pay for its hubris with its life.
In C, pointers are the way of passing references to data. When you call a function, you don't want to copy a million bits to a stack. Instead you just tell where the data resides in the main memory. In other words, you give a pointer to the data.
To some extent that is what happens even with Java. You pass references to objects, not the objects themselves. Remember, ultimately every object is a set of bits in the computer main memory.
Comment: I totally agree with your comment : "you are missing out on a lot" !
Answer: Pointers are for directly manipulating the contents of memory.
It's up to you whether you think this is a good thing to do, but it's the basis of how anything gets done in C or assembler.
High-level languages hide pointers behind the scenes: for example a reference in Java is implemented as a pointer in almost any JVM you'll come across, which is why it's called NullPointerException rather than NullReferenceException. But it doesn't let the programmer directly access the memory address it points to, and it can't be modified to take a value other than the address of an object of the correct type. So it doesn't offer the same power (and responsibility) that pointers in low-level languages do.
[Edit: this is an answer to the question 'what's this obsession with pointers?'. All I've compared is assembler/C-style pointers with Java references. The question title has since changed: had I set out to answer the new question I might have mentioned references in languages other than Java]
Comment: great answer : gives equal respect to Low level languages like C and high level languages.. !
Answer: This is like asking, "what's this obsession with CPU instructions?  Do I miss out on something by not sprinkling x86 MOV instructions all over the place?"
You just need pointers when programming on a low level.  In most higher-level programming language implementations, pointers are used just as extensively as in C, but hidden from the user by the compiler.
So...  Don't worry.  You're using pointers already -- and without the dangers of doing so incorrectly, too. :)
Answer: I see pointers as a manual transmission in a car. If you learn to drive with a car that has an automatic transmission, that won't make for a bad driver. And you can still do most everything that the drivers that learned on a manual transmission can do. There will just be a hole in your knowledge of driving. If you had to drive a manual you'd probably be in trouble. Sure, it is easy to understand the basic concept of it, but once you have to do a hill start, you're screwed. But, there is still a place for manual transmissions. For instance, race car drivers need to be able to shift to get the car to respond in the most optimal way to the current racing conditions. Having a manual transmission is very important to their success.
This is very similar to programming right now. There is a need for C/C++ development on some software.  Some examples are high-end 3D games, low level embedded software, things where speed is a critical part of the software's purpose, and a lower level language that allows you closer access to the actual data that needs to be processed is key to that performance. However, for most programmers this is not the case and not knowing pointers is not crippling. However, I do believe everybody can benefit from learning about C and pointers, and manual transmissions too.
Comment: -1, it does not explain a thing other than to state that pointer as useful.
Answer: Since you have been programming in object-oriented languages, let me put it this way.
You get Object A instantiate Object B, and you pass it as a method parameter to Object C. The Object C modifies some values in the Object B. When you are back to Object A's code, you can see the changed value in Object B. Why is this so?
Because you passed in a reference of Object B to Object C, not made another copy of Object B. So Object A and Object C both hold references to the same Object B in memory. Changes from one place and be seen in another. This is called By Reference.
Now, if you use primitive types instead, like int or float, and pass them as method parameters, changes in Object C cannot be seen by Object A, because Object A merely passed a copy instead of a reference of its own copy of the variable. This is called By Value.
You probably already knew that.
Coming back to the C language, Function A passes to Function B some variables. These function parameters are natively copies, By Value. In order for Function B to manipulate the copy belonging to Function A, Function A must pass a pointer to the variable, so that it becomes a pass By Reference.
"Hey, here's the memory address to my integer variable. Put the new value at that address location and I will pick up later."
Note the concept is similar but not 100% analogous. Pointers can do a lot more than just passing "by reference". Pointers allow functions to manipulate arbitrary locations of memory to whatever value required. Pointers are also used to point to new addresses of execution code to dynamically execute arbitrary logic, not just data variables. Pointers may even point to other pointers (double pointer). That is powerful but also pretty easy to introduce hard-to-detect bugs and security vulnerabilities.
Answer: I use pointers and references heavily in my day to day work...in managed code (C#, Java) and unmanaged (C++, C).  I learned about how to deal with pointers and what they are by the master himself...[Binky!!][1]  Nothing else needs to be said ;)
The difference between a pointer and reference is this.  A pointer is an address to some block of memory.  It can be rewritten or in other words, reassigned to some other block of memory.  A reference is simply a renaming of some object. It can only be assigned once! Once it is assigned to an object, it cannot be assigned to another.  A reference is not an address, it is another name for the variable. Check out C++ FAQ for more on this.
Link1
LInk2
Comment: Binky was fun - from what I gather Java and C# don't let you address memory directly though, so you're using references and not pointers?
Comment: In Java and C# it usually isn't direct, its abstracted away from you in most cases (and they are pointers).  There are ways of writing unmanaged code blocks (allowing use of pointers) and using the keyword ref (which is like a pointer) in C# though.
Answer: If you haven't seen pointers before, you're surely missing out on this mini-gem:
void strcpy(char *dest, char *src)
{
        while(*dest++ = *src++);
}

Answer: Historically, what made programming possible was the realization that memory locations could hold computer instructions, not just data.
Pointers arose from the realization that memory locations could also hold the address of other memory locations, thus giving us indirection.  Without pointers (at a low level) most complicated data structures would be impossible. No linked-lists, binary-trees or hash-tables.  No pass by reference, only by value. Since pointers can point to code, without them we would also have no virtual functions or function look up tables.
Answer: I'm currently waist-deep in designing some high level enterprise software in which chunks of data (stored in an SQL database, in this case) are referenced by 1 or more other entities. If a chunk of data remains when no more entities reference it, we're wasting storage. If a reference points so data that's not present, that's a big problem too.
There's a strong analogy to be made between our issues, and those of memory management in a language that uses pointers. It's tremendously useful to be able to talk to my colleagues in terms of that analogy. Not deleting unreferenced data is a "memory leak". A reference that goes nowhere is a "dangling pointer". We can choose explicit "frees", or we can implement "garbage collection" using "reference counting".
So here, understanding low-level memory management is helping design high-level applications.
In Java you're using pointers all the time. Most variables are pointers to objects - which is why:
StringBuffer x = new StringBuffer("Hello");
StringBuffer y = x;
x.append(" boys");
System.out.println(y);

... prints "Hello boys" and not "Hello".
The only difference in C is that it's common to add and subtract from pointers - and if you get the logic wrong you can end up messing with data you shouldn't be touching.
Answer: Strings are fundamental to C (and other related languages).  When programming in C, you must manage your memory.  You don't just say "okay, I'll need a bunch of strings"; you need to think about the data structure.  How much memory do you need?  When will you allocate it?  When will you free it?  Let's say you want 10 strings, each with no more than 80 characters.
Okay, each string is an array of characters (81 characters - you mustn't forget the null or you'll be sorry!) and then each string is itself in an array.  The final result will be a multidimensional array something like
char dict[10][81];

Note, incidentally, that dict isn't a "string" or an "array", or a "char".  It's a pointer.  When you try to print one of those strings, all you're doing is passing the address of a single character; C assumes that if it just starts printing characters it will eventually hit a null.  And it assumes that if you are at the start of one string, and you jump forward 81 bytes, you'll be at the start of the next string.  And, in fact taking your pointer and adding 81 bytes to it is the only possible way to jump to the next string.
So, why are pointers important?  Because you can't do anything without them.  You can't even do something simple like print out a bunch of strings; you certainly can't do anything interesting like implement linked lists, or hashes, or queues, or trees, or a file system, or some memory management code, or a kernel or...whatever.  You NEED to understand them because C just hands you a block of memory and let's you do the rest, and doing anything with a block of raw memory requires pointers.
Also many people suggest that the ability to understand pointers correlates highly with programming skill.  Joel has made this argument, among others.  For example

Now, I freely admit that programming with pointers is not needed in 90% of the code written today, and in fact, it's downright dangerous in production code. OK. That's fine. And functional programming is just not used much in practice. Agreed.
But it's still important for some of the most exciting programming jobs. Without pointers, for example, you'd never be able to work on the Linux kernel. You can't understand a line of code in Linux, or, indeed, any operating system, without really understanding pointers.

From here.  Excellent article.
Answer: To be honest, most seasoned developers will have a laugh (hopefully friendly) if you don't know pointers.
At my previous Job we had two new hires last year (just graduated) that didn't know about pointers, and that alone was the topic of conversation with them for about a week. No one could believe how someone could graduate without knowing pointers...
Comment: I'm amazed that someone graduated without knowing at least WHAT are pointers, and also that someone else even hired them.
Answer: References in C++ are fundamentally different from references in Java or .NET languages; .NET languages have special types called "byrefs" which behave much like C++ "references".
A C++ reference or .NET byref (I'll use the latter term, to distinguish from .NET references) is a special type which doesn't hold a variable, but rather holds information sufficient to identify a variable (or something that can behave as one, such as an array slot) held elsewhere.  Byrefs are generally only used as function parameters/arguments, and are intended to be ephemeral.  Code which passes a byref to a function guarantees that the variable which is identified thereby will exist at least until that function returns, and functions generally guarantee not to keep any copy of a byref after they return (note that in C++ the latter restriction is not enforced).  Thus, byrefs cannot outlive the variables identified thereby.
In Java and .NET languages, a reference is a type that identifies a heap object; each heap object has an associated class, and code in the heap object's class can access data stored in the object.  Heap objects may grant outside code limited or full access to the data stored therein, and/or allow outside code to call certain methods within their class.  Using a reference to calling a method of its class will cause that reference to be made available to that method, which may then use it to access data (even private data) within the heap object.
What makes references special in Java and .NET languages is that they maintain, as an absolute invariant, that every non-null reference will continue to identify the same heap object as long as that reference exists.  Once no reference to a heap object exists anywhere in the universe, the heap object will simply cease to exist, but there is no way a heap object can cease to exist while any reference to it exists, nor is there any way for a "normal" reference to a heap object to spontaneously become anything other than a reference to that object.  Both Java and .NET do have special "weak reference" types, but even they uphold the invariant.  If no non-weak references to an object exist anywhere in the universe, then any existing weak references will be invalidated; once that occurs, there won't be any references to the object and it can thus be invalidated.
Pointers, like both C++ references and Java/.NET references, identify objects, but unlike the aforementioned types of references they can outlive the objects they identify.  If the object identified by a pointer ceases to exist but the pointer itself does not, any attempt to use the pointer will result in Undefined Behavior.  If a pointer isn't known either to be null or to identify an object that presently exists, there's no standard-defined way to do anything with that pointer other than overwrite it with something else.  It's perfectly legitimate for a pointer to continue to exist after the object identified thereby has ceased to do so, provided that nothing ever uses the pointer, but it's necessary that something outside the pointer indicate whether or not it's safe to use because there's no way to ask the pointer itself.
The key difference between pointers and references (of either type) is that references can always be asked if they are valid (they'll either be valid or identifiable as null), and if observed to be valid they will remain so as long as they exist.  Pointers cannot be asked if they are valid, and the system will do nothing to ensure that pointers don't become invalid, nor allow pointers that become invalid to be recognized as such.
Answer: For a long time I didn't understand pointers, but I understood array addressing. So I'd usually put together some storage area for objects in an array, and then use an index to that array as the 'pointer' concept.
SomeObject store[100];
int a_ptr = 20;
SomeObject A = store[a_ptr];

One problem with this approach is that after I modified 'A', I'd have to reassign it to the 'store' array in order for the changes to be permanent:
store[a_ptr] = A;

Behind the scenes, the programming language was doing several copy-operations. Most of the time this didn't affect performance. It mostly made the code error-prone and repetitive.
After I learned to understand pointers, I moved away from implementing the array addressing approach. The analogy is still pretty valid. Just consider that the 'store' array is managed by the programming language's run-time.
SomeObject A;
SomeObject* a_ptr = &A;
// Any changes to a_ptr's contents hereafter will affect
// the one-true-object that it addresses. No need to reassign.

Nowadays, I only use pointers when I can't legitimately copy an object. There are a bunch of reasons why this might be the case:

To avoid an expensive object-copy
operation for the sake of
performance.
Some other factor doesn't permit an
object-copy operation.
You want a function call to have
side-effects on an object (don't
pass the object, pass the pointer
thereto).
In some languages- if you want to
return more than one value from a
function (though generally
avoided).
Answer: Pointers are the most pragmatic way of representing indirection in lower-level programming languages.
Answer: Pointers are important! They "point" to a memory address, and many internal structures are represented as pointers, IE, An array of strings is actually a list of pointers to pointers! Pointers can also be used for updating variables passed to functions.
Answer: You need them if you want to generate "objects" at runtime without pre allocate memory on the stack
Answer: Parameter efficency - passing a pointer (Int - 4 bytes) as opposed to copying a whole (arbitarily large) object.
Java classes are passed via reference (basically a pointer) also btw, its just that in java that's hidden from the programmer.
Answer: Programming in languages like C and C++ you are much closer to the "metal". Pointers hold a memory location where your variables, data, functions etc. live. You can pass a pointer around instead of passing by value (copying your variables and data).
There are two things that are difficult with pointers:

Pointers on pointers, addressing, etc. can get very cryptic. It leads to errors, and it is hard to read.
Memory that pointers point to is often allocated from the heap, which means you are responsible for releasing that memory. Bigger your application gets, harder it is to keep up with this requirement, and you end up with memory leaks that are hard to track down.

You could compare pointer behavior to how Java objects are passed around, with the exception that in Java you do not have to worry about freeing the memory as this is handled by garbage collection. This way you get the good things about pointers but do not have to deal with the negatives. You can still get memory leaks in Java of course if you do not de-reference your objects but that is a different matter.
Answer: Also just something to note, you can use pointers in C# (as opposed to normal references) by marking a block of code as unsafe.  Then you can run around changing memory addresses directly and do pointer arithmetic and all that fun stuff.  It's great for very fast image manipulation (the only place I personally have used it).
As far as I know Java and ActionScript don't support unsafe code and pointers.
Answer: I am always distressed by the focus on such things as pointers or references in high-level languages. It's really useful to think at a higher level of abstraction in terms of the behavior of objects (or even just functions) as opposed to thinking in terms of "let me see, if I send the address of this thing to there, then that thing will return me a pointer to something else"
Consider even a simple swap function. If you have
void swap(int & a, int & b)
or
procedure Swap(var a, b : integer)
then interpret these to mean that the values can be changed. The fact that this is being implemented by passing the addresses of the variables is just a distraction from the purpose.
Same with objects --- don't think of object identifiers as pointers or references to "stuff". Instead, just think of them as, well, OBJECTS, to which you can send messages. Even in primitive languages like C++, you can go a lot further a lot faster by thinking (and writing) at as high a level as possible.
Answer: Write more than 2 lines of c or c++ and you'll find out.
They are "pointers" to the memory location of a variable.  It is like passing a variable by reference kinda.


Organic mulch for raised bed

Question: I have 3 raised beds in my backyard where I am growing vegetables (tomatoes, bell peppers, etc).  Right now, I don't have any mulch covering the soil but am thinking that would be a good thing to do to preserve moisture in the soil particularly as summer is upon us.  I am only using organic materials in the vegetable garden (no pesticides, organic fertilizer only) so wanted to know what organic mulch are people using?
Comment: coffee mulch may help as it's gritty, but cakes if you put it in a clump.
Answer: I quite happily steal from the lawn (and neglected hayfield, if you have access to one) to feed the garden - fresh grass clippings make a great mulch IF you don't get them more than 2-3" deep in any one application - they mat well, but that's thin enough that they don't turn into hot slime as they will if piled 6" or more deep. If you can source newsprint to go under it, so much the better; that's not quite as widespread a resource as it used to be.
You can even get more creative and plant a part of the lawn to alfalfa, vetch, clover or other things that you then cut specifically to make mulch from. Kinda depends how much you have the "lawn" disease .vs. how much you are willing to suborn that to garden purposes.
I enjoyed the smell of cocoa-husk mulch, but was not over-fond of the price, nor the tendency to mold. May also be a hazard to dogs (not a problem for my garden.) "Mulch hay", if you are near enough to agriculture to get it easily is hay that got rained on too much to be good animal feed, and cheap. Hay or Alfalfa that are good enough for animal feed are also good mulch, but more expensive. Cubed alfalfa is widely distributed, even in not-so-rural areas. Pine bark and cedar are essentially useless, and also the most common bagged mulches for sale. Straw is nice, but in my area costs more than feed quality hay.
Shredded leaves/leaf mold are good, (though leaf mold is pretty much right up there with "mulch with compost" - nice if you have too much of it, but that's a problem it's not common to have, in practice. And you may not HAVE a large quantity of last fall's leaves handy NOW.
Wood chips are OK when you have a semi-permanent path layout, for paths - not so good as mulch on beds.
Answer: The French biointensive method doesn't use mulch but closely grown plants. The leaves overlap and create a microclimate which didn't need mulching to trap moisture.
But since it's too late now, I'd just use tree mulch which is usually pretty cheap, if not free. As long as you don't mix it in the soil, it ain't going to steal much nitrogen.
Answer: For raised beds, I recommend mulching between rows with browns (shredded leaves) and near plants (where you hoe) use compost.
Then, at the end of the season, you have browns already in your garden, and can till in green compost (or a good nitrogen composted manure, which is cheap) and boom - soil rejuvenation is taken care of.
If you lack a supply of shredded leaves, (actually, anything I write here is just a variation of "get a garbage bag and go get some).
If you find the soil too settled next spring, I find diatomaceous earth to be an amazing amendment for drainage and aeration. (Napa Auto Parts, Oil Absorber #8822). You can also mix 50/50 with Bentonite, which is a more expensive name for Arcillite, which is a fancy way of saying Calcined Montmorillonite Clay, which you can find for $8 a bag at Auto Zone, also as an oil absorber (made by the same company as the 8822, EP Minerals).
Remember a little goes a long way with drainage amendments, and adding more is easy while removing pebbles and sand is a pain.
Back to the mulching - make it work for you instead of turning its removal into another end-of-season chore. Using browns for between rows is a time-tested method, and it's especially good in raised/isolated beds where nutrients are removed by plants. (Also, don't forget the lime every couple of years - use lawn lime, it's a little less concentrated than Garden Lime, but it's the same minerals and 1/5 the cost).
Answer: For the vegetable garden I like using black plastic mulch. 3 mil or thicker black poly sheeting is readily available at hardware stores and is inexpensive. It is not an organic substance but it is allowed under the National Organic Program provided it is removed at the end of the season and it's not PVC. See Allowed Mulches on Organic Farms.
Other than plastic mulch I like items that decompose quickly so they're virtually gone by the next spring. Grass clippings are great provided you care for your lawn organically or don't use herbicides. They have a lot of benefits but I don't like robbing my lawn of those benefits any more. You can collect and save fall leaves and use them as is or make leaf mold over the winter. Straw is a popular choice. There are less weed seeds than hay. Paper, newspaper and cardboard that are not glossy and don't have glossy inks can be used as a base and then something more attractive on top like grass clippings, leaves or straw. A thick 3" layer of compost is also used for mulch which seems counter-intuitive since things grow well in compost but if it's thick enough it will suppress weeds. If you see a weed popping up in it it's usually easy to pull it out if you catch it young. It's also great for your soil.
I know there are other no-till options but I till my vegetable garden beds in early spring to clear out old roots and incorporate fertilizers. For that reason I don't like long lasting mulches like wood chips. I did try some of those compressed coir mulch blocks last year. It worked well, looked nice and was easy to use but not enough of it broke down the next year. Looks like maybe 2-3 years to break down but it can be tilled into the soil.
Still, black plastic poly sheeting is cheap and easy, has many known benefits and is NOP approved. I like it because it helps warm the soil and I can plant earlier, suppresses weeds, retains moisture and has been shown in university studies to increase yields. Red plastic mulch has been shown to increase yields even more but the black plastic is easier to find locally and cheaper.

Organic mulch for raised bed


Problem with internal memory of a S4 mini

Question: I have 1 month old S4 mini with 32 gb of internal storage. . I have only installed 3 apps on it and now it tells me it has insufficient internal memory to install any more. I have 20 photos on it and no contacts. When I go to the storage section of the settings it tells me I have 32.00 of total space and 31.87 gb of available space. It says there is only 185 mb of apps and 13.63 kb of cached data. How can I correct this problem and download more apps? I do not have an sd card installed.
Comment: Welcome to Android Enthusiasts. This question seems to be a  duplicate of [What is the difference between system memory and internal storage?](http://android.stackexchange.com/questions/38722/what-is-the-difference-between-system-memory-and-internal-storage). Check that question and answers and see if it helps solve your problem.
Comment: No, my problem seems to be different. The phone is virtually new, there is no sd card installed and only 3 apps are installed. By accessing settings/more/storage it tells me there is 31.87 gb of free space. Is this not the system memory?
Comment: No, all 31.87gb is not system memory. Most of that is internal storage. In short, Internal storage is like an SD card built in to the phone. (long answer in the question/answer I linked). You may have installed only 3 apps, but there are many other apps installed by the manufacturer/OS. Where apps are installed in part of "system storage", not internal storage. Think of system storage as where the OS and apps go, internal storage is where your pictures and music go.
Comment: Thank you very much! It is unfortunate then that I'll never be able to install more than a few apps onto my phone.
Comment: Brandon, you might wish to check with out [insufficient-menory tag-wiki](http://android.stackexchange.com/tags/insufficient-memory/info), which contains some first-aid and links to more. A "remote diagnostic" is a little hard; if you had a terminal app, I'd ask you to post the output of `df`. Maybe you could [edit] your question and include at least a screenshot of *Settings › Storage* plus names+links of those 3 apps? Also, what Android version is running on your S4?
Answer: Brandon...to find answer for your problem first you need to be sure does you have insufficient space because of full cache or because problem of specific app. If you have problems with every app, then you have cache problem probably. But before try to fix it, first try to download larger app from app you cant to install. if you can do it, then you dont have a problem with a cache.
I dont know you knowledge about working with android, but if you have fair knowledge, you should dont have a problem to fix it.
I dont search for solution for devices without root access, so I will write solutions for rooted devices only
You need:
- rooted device (google it how you can root your device, if it not rooted already)
- root checker (simple app to check if your device rooted correctly)
- super user app
- android terminal emulator
- es file explorer or root explorer (root explorer is not free, but it is very good app)
To fix cache problem, follow these steps:

You gonna need Android Terminal Simulator or equivalent terminal app. This will also require your Android rooted.
Type 'su' (root permission request will be showned, you need to approve it).
Type 'cd /'
Type 'umount /cache'
Type 'mount -o rw,remount -t rootfs rootfs /' (to set the folder access to rw – read write)
Type 'rmdir /cache' (delete cache folder)
I personally using root explorer to do point 5-6
Type 'mkdir /sdcard/cache'
Type 'ln -s /sdcard/cache /cache' (to link cache folder to /sdcard/cache – which shoud have bigger partition size)

(tutorial right goes to jimmy)
if you dont have cache problem, then check for any leftovers of that app at sdcard/android/data
for example I have "insufficient storage space" error when I try to install Shadow Fight 2 (about 90 mb), but I installed Soulcraft (about 200 mb) normally. I found .odex file of Shadow Fight 2 in data folder, and after I delete it, I was able to install Shadow Fight 2 again
However that mean does you already had installed that app before problem. As you said that your device is new and that you installed only 3 apps, then you probably have cache problem
Good luck
Answer: It's possible that your internal memory is getting filled up with crash dumps.  These are saved in /data/log directory that isn't normally accessible.
If your phone is rooted, try clearing out the contents of this directory manually via Terminal Emulator or ADB.  The commands would be as follows:
adb shell
su
rm /data/log/*

If the phone is not rooted - try launching the SysDump utility by opening the Dialer app, dialing #9900#, and pressing Send.  This should open up the utility as seen in this screenshot and allow you to clean up the above folder by tapping the "Delete dumpstate/logcat" button.


How do I know where to place macrons?

Question: How do I use macrons? I understand what they do and how they do it, I just don't understand how you know when and where to place them.
Comment: @JoelDerfner, there are indeed patterns. I should mention that at least the last one on your list has exceptions: consider *alimentum*.
Comment: Welcome to the site!

I'll add to Joonas's answer that, though it's true that you have to learn them by word, there are certain patterns that recur. Any vowel before *nf* or *ns*, for example, is long, as is any vowel before the noun ending *mentum*. There are lots and lots of other patterns like this that you end up sort of gleaning as you go.
Answer: Macrons are mainly pronunciation guides, telling which vowels are pronounced long.
In some cases they can resolve ambiguities, when two words only differ by the length a vowel.
Using them is not necessary, and I would personally consider it better style not to use macrons when writing in Latin, unless there is a special reason.
Macrons were not used in classical Latin.
See this separate question for the arrival of the macron.
I should also point out that there also a sign to indicate short vowels: the breve.
Sometimes the absence of a macron does not make it sufficiently clear that a vowel is short.
For example, we had recently a question about pōpulus and pŏpulus.
Your main question seems to be how to know when vowels are short and when they are long.
The answer is simply that you have to learn the lengths when you learn the vowels.
For example, "man" is vĭr, not vīr.
The singular genitive ending of the first declension is -ī, not -ĭ.
Therefore "man's" is vĭrī.
To get the lengths right, it is not enough to know that the word is vir and the ending is -i, and there are no simple rules that would allow you to efficiently guess where to put macrons in a given Latin word.
As you progress in studying Latin, you will develop some intuition to the lengths.
But it does not come without work, and I can offer no shortcut.
This has the unfortunate consequence that if you have already learned many Latin words and endings without paying attention to lengths and you now want to learn where to put macrons, you have to relearn all vowels to get the lengths right.
In short:
How do you know where to place macrons?
You learn it case by case.
We have instructions for producing a breve or a macron on our meta.
Comment: Just to add: macrons were about as uninteresting to Latin readers as vowel-signs usually are to readers of Hebrew and Arabic. You will only find them in paedagogical contexts. In actual MSS, decorations such as lines (straight or wavy) and hooks are used as abbreviations - for instance u with ~ over it is a very standard way of writing "-um".
Answer: This is a very useful tool: "A Latin Macronizer" at http://alatius.com/macronizer.
It automatically adds macrons to any Latin text, while highlighting ambiguous or unknown words, which you will have to check yourself. It mostly does a very good job, and saves a lot of time.
Its author Johan Winge writes: "The expected accuracy on an average classical text is estimated to be about 98% to 99%. Please review the resulting macrons with a critical eye!"
Note that it has a hard time distinguishing between nom.sg. -a and abl.sg. -ā, and between nom.sg. -us and gen.sg. or nom./acc.pl. -ūs.
Answer: Long ago, on this site, someone gave a link to a short book, downloadable, on quantity and stress. I haven't found it.
While searching I found this
A: What is L&S not good for?
and this:
Vowel Quantity: Where your Dictionary is Wrong  Johan Winge
Comment: Did you mean this book? "Quantity and Quality in the Vowel-System of Vulgar Latin" by N. C. W. Spence: https://www.tandfonline.com/doi/abs/10.1080/00437956.1965.11435415, cited by Asteroides in an answer: https://latin.stackexchange.com/questions/1699/gemination-after-stressed-vowel/6517#6517

How do I know where to place macrons?


Sound card for recording audio

Question: I need to record sound using 2 (or 4, eventually) microphones and then calculate the time delay of arrival of sound at the different microphone pairs. But first, I need a microphone array. And since I'm just starting out, I would like to connect just 2 mics first and calculate the time at which sound arrives at them.
Can I do this using a sound card?
And I heard sound cards will have typically one or two input channels. What are these then? http://www.ebay.com/bhp/external-sound-card-for-laptop
The 'channels' mentioned along with the above devices are not exactly input channels?
Answer: The number of channels mentioned in the products you linked refer to output channels. A Dolby 5.1 system has 6 speakers (center, rear R/L, front R/L, subwoofer), thus 6 channels.
What you're looking for ist usually called audio interface and mostly used in music production studios. Manufacturers are M-Audio, Roland, Behringer (cheap), Focusrite and many more. You can get an overview here. From your previous question I assume that your application is speaker localization. Therefore you probalby don't need high-class converters and pre-amplifiers. If you're planning to use Linux it will reduce your choice.
Comment: Yes I'm plannning to use linux. I will have to use separate pre amplifiers? I'm not having much experience playing with microphones and the lot. And one more thing - Can I use a standard sound card to record audio in 2 microphones? I would like to test my algorithms before moving n to buy the audio interface
Comment: If you use dynamic mics you can get away without pre-amps but if you use condenser mics the level is to low for direct A/D conversion. If you need pre-amps choose an audio interface with builtin pre-amps, it will be cheaper. And yes, you can use a standard sound card to record 2 dynamic mics.
Comment: Any basic tutorials/how to's regarding using the sound card to record from 2 mics? Gosh, I really am a beginner! ;)
Comment: You will most probably need an adaptor from your two mic outputs to you soundcard input. Then you can use any sound recording software (e.g. Audacity) to record the stereo input signal. The left channel and teh right channel represent one mic, respectively.

Sound card for recording audio


What should be the numbers in the fastSTRUCTURE file?

Question: The structure file for fastSTRUCTURE seem to be a table with rows and columns but the cells are all numbers, while my genotypes are simply bases. How could I know what I should insert there?
Comment: What format are your genotypes in at the moment? There is likely some tool someone has written to convert it to the correct format.
Comment: Just table of 'A/C' bases
Comment: 'Table' isn't a format. What are the rows? What are the columns? Is it genotypes or alleles - i.e. is there one or two rows per marker? the more info you give, the easier it will be for someone to help you. Could you add a sample of your genotype format to the main answer so others can see it.
Answer: Numbers, usually in the form of 0/1/2, is a common way many formats represent bases.
For example, if a SNPs has bases which are A/T, then these are encoded as 0/1, with the reference allele/base taking the 0 and the alternate allele/base taking 1.
However, if you read the documentation, it says:

Specifically, rows in the data file correspond to samples, with two
rows per sample (note that only diploids are handled by this
software), and columns correspond to SNPs. The first 6 columns of the
file will be ignored; these typically would include IDs, metadata,
etc. This software only handles bi-allelic loci. The two alleles at
each locus can be encoded as desired; however, missing data should be
encoded as `-9'.

So you should be able to use your base letters here and it will work OK as long as the columns and rows are formatted correctly.


Hard disk raid data lost after restart

Question: I have Ubuntu 12.04 and two disks working via raid. In BIOS I have set them up to use raid. After I restart computer all data changes are lost. I had these drives in another computer, and they worked fine there.
Answer: If you cannot change the drives back on the original controller and you do not have a backup of your files - which you should have - then R-Studio might help you here.
R-Studio
But if you can change back to the old controller - and you love your data - then this would be easier and more reliable than using a software to fix arrays ...
Good Luck!

Hard disk raid data lost after restart


Which set does this small bag of LEGO pieces belong to?

Question:
I just received a box of LEGO bricks and have no idea what sets they make up. This packet was in there unopened and thought someone might know where they are from?
Comment: That's a very small bag with only common elements in it, I doubt anyone will be able to give a definite answer.
Comment: I agree but I don't have any other elements to add since the box of legos is a mix of all sorts of elements.
Comment: @Henrik Sounds like a challenge.
Answer:
All the pieces shown are used in Day 17 of the 2012 LEGO City Advent Calendar (4428).
It looks like you only have 10 out of the 14 pieces required to build the model, the other pieces must have either been removed at some point or were never included (which is unlikely).
Comment: Yes, I would agree that this bag must have come from an advent calendar set or something similar, as no normal set would have so few pieces in a sealed bag. Perhaps it is from a different advent though? There may have been a similar build...
Comment: @SlicksterTheBrickster The [Blue Panel 1 x 2 x 1 with Rounded Corners](http://www.bricklink.com/catalogItemIn.asp?P=4865b&colorID=7∈=A) only exists in 17 sets. I can't find any other sets on that list that match the parts used.
Comment: Are you sure it's a 1 x 2 x 1 with rounded corners, and not the counterpart without rounded corners?
Comment: When I searched I used the Red Tile, Round 2 x 2 because I thought it would be the rarest of those pieces. It has been used in [54 sets](http://www.bricklink.com/catalogItemIn.asp?P=4150&colorID=5∈=A), looking at those results I couldn't find any other matches either.
Comment: Also the [Blue Panel 1 x 2 x 1 (without rounded corners)](http://www.bricklink.com/catalogItemIn.asp?P=4865&colorID=7∈=A) don't appear to match anything either.


Can I leave Istanbul airport on a 22-hour layover without taking my luggage?

Question: I'm planning to fly through Istanbul with Turkish airlines and would have a 22-hour layover there. Would it be possible to exit the airport without retrieving my luggage? Do I have to specifically mention that I will leave the airport to the airline employees?
Comment: Domestic to international? or International to International?
Answer: Since Turkish Airlines offers free tours of Istanbul to passengers with layovers like yours, you're going to want to tell them. You might prefer a free stay in a hotel instead, but I would go for the tour. The FAQ does mention:

There is luggage custody office next to Hotel Desk with a service fee. You may check the conditions and prices;
  http://www.ataturkairport.com/en-EN/airportguide/Pages/BaggageCustodyServices.aspx .If requested, touristanbul participants can leave their luggages (unless they are electronics or precious items) to the assigned tour shuttles at their own risk.

It sounds like everyone can use the Baggage Custody Services, and in addition if you don't want to pay for that, you can bring your baggage on the tour and leave it on the shuttle bus. But talk to the airline, because you may just be able to check it right through and not worry about it.
Comment: Thanks. I will ask the airline just to be sure. Also thanks for the hotel tip! I will make sure to use it!
Answer: I'm not sure about Turkish Airlines but my wife had a 23hr stop in Dubai with Emirates and they offered to keep her checked luggages because it was < 24 hours. Airlines rules might differ.
If they do offer to keep your luggages then you'd be totally fine since airlines have no way of checking whether you are intending to stay in the airport or leaving the airport to do your business in the city in advance.


How long does the Ebola virus remain infectious on contaminated items or surfaces?

Question: I'm sure there will be variation depending on what the contaminated item or surface is made of - linens, I could imagine, would remain dangerous for longer than a door-knob. But if the items are not decontaminated in some way, how long can the virus survive outside a host?
Answer: This really depends on the environment, one study (listed below as reference 1) found that the Ebola virus can survive under ideal conditions on flat surfaces in the dark for up to six days - see the figure from the same publication.

However, the virus is quite sensitive to UV radiation (see reference 2 for all the details) and most viral particles are likely to get inactivated within relatively short time. It might still be possible to get positive tests for Ebola from really sensitive PCR-based tests, but these are most likely not infectious anymore. The CDC lists common bleach (or any other routinely used disinfected) as a good way to get rid of Ebola viruses.
References:

Persistence in darkness of virulent alphaviruses, Ebola virus, and
Lassa virus deposited on solid surfaces
Sensitivity to ultraviolet radiation of Lassa, vaccinia, and Ebola
viruses dried on surfaces
Comment: Using % and log on the same graph... *sigh* ...
Comment: From how many particles does it cause disease? (I forgot the exact term. :S)
Answer: I found this safety sheet in the topic.

SECTION IV – STABILITY AND VIABILITY
DRUG SUSCEPTIBILITY: Unknown. S-adenosylhomocysteine hydrolase
  inhibitors have been found to have complete mortality protection in
  mice infected with a lethal dose of Ebola virus (30).
DRUG RESISTANCE: There are no known antiviral treatments available for
  human infections.
SUSCEPTIBILITY TO DISINFECTANTS: Ebola virus is susceptible to sodium
  hypochlorite, lipid solvents, phenolic disinfectants, peracetic acid,
  methyl alcohol, ether, sodium deoxycholate, 2% glutaraldehyde, 0.25%
  Triton X-100, β-propiolactone, 3% acetic acid (pH 2.5), formaldehyde
  and paraformaldehyde, and detergents such as SDS (20, 21, 31-34).
PHYSICAL INACTIVATION: Ebola are moderately thermolabile and can be
  inactivated by heating for 30 minutes to 60 minutes at 60ºC, boiling
  for 5 minutes, gamma irradiation (1.2 x106 rads to 1.27 x106 rads),
  and/or UV radiation (3, 6, 20, 32, 33).
SURVIVAL OUTSIDE HOST: The virus can survive in liquid or dried
  material for a number of days (23). Infectivity is found to be stable
  at room temperature or at 4°C for several days, and indefinitely
  stable at -70°C (6, 20). Infectivity can be preserved by
  lyophilisation.

2010 - Free Safety Data Sheet Index - Ebola virus

However there are no references on the site, so I checked the data provided. According to scientific articles it is trusty, however these articles are related to not the current West African strain, so it can be slightly different.

1982 - Inactivation of Lassa, Marburg, and Ebola viruses by gamma irradiation.

Clinical specimens from patients infected with Lassa, Ebola, or
  Marburg virus may present a serious biohazard to laboratory workers.
  We have examined the effects of heat, alteration of pH, and gamma
  radiation on these viruses in human blood and on the electrolytes,
  enzymes, and coagulation factors measured in laboratory tests that are
  important in the care of an infected patient. Heating serum at 60
  degrees C for 1 h reduced high titers of these viruses to
  noninfectious levels without altering the serum levels of glucose,
  blood urea nitrogen, and electrolytes. Dilution of blood in 3% acetic
  acid, diluent for a leukocyte count, inactivated all of these viruses.
  All of the methods tested for viral inactivation markedly altered
  certain serum proteins, making these methods unsuitable for samples
  that are to be tested for certain enzyme levels and coagulation
  factors.

1984 - Physicochemical inactivation of Lassa, Ebola, and Marburg viruses and effect on clinical laboratory analyses.

Ebola, Lassa, Venezuelan equine encephalitis, and Sindbis viruses were
  dried onto solid surfaces, incubated for various time periods under
  controlled conditions of temperature and relative humidity, and
  quantitatively eluted from surfaces, and viral titers in the recovered
  samples were determined. The viral inactivation kinetics that were
  obtained indicated that viral resistance to natural inactivation in
  the dark follows (in decreasing order of stability) alphavirus > Lassa
  virus > Ebola virus. The findings reported in this study on the
  natural decay in the dark should assist in understanding the
  biophysical properties of enveloped RNA viruses outside the host and
  in estimating the persistence of viruses in the environment during
  epidemics or after an accidental or intentional release.

2010 - Persistence in darkness of virulent alphaviruses, Ebola virus, and Lassa virus deposited on solid surfaces

Our study has shown that Lake Victoria marburgvirus (MARV) and Zaire
  ebolavirus (ZEBOV) can survive for long periods in different liquid
  media and can also be recovered from plastic and glass surfaces at low
  temperatures for over 3 weeks. The decay rates of ZEBOV and Reston
  ebolavirus (REBOV) plus MARV within a dynamic aerosol were calculated.
  ZEBOV and MARV had similar decay rates, whilst REBOV showed
  significantly better survival within an aerosol.

2010 - The survival of filoviruses in liquids, on solid substrates and in a dynamic aerosol
Comment: Any explanation about downvote?
Comment: What does  `found this safety sheet in the topic` mean? Link?
Comment: @not2qubit I wrote a quote and a link right below that.


Where do you end up after returning from the Astral Plane?

Question: Supposing a character ends up in the Astral Plane, according to the DMG you can find one of these pools which (if you find the right one) will return you to the Material Plane. But there isn't any detail on what place you return to. So, do you return to a random spot? Do you return to the place you left the Material Plane? Or are there one or more nexuses where beings will appear? For that matter, supposing you left from Toril, could you end up on, say, Eberron?
Answer: As a point of clarity, there is only one Material Plane in 5e.
The Player's Handbook clarifies with regards to the Planes of Existence:

it encompasses every world where GMs run their adventures, all within the relatively mundane ... Material Plane

This implies that there is one plane wherein all the world's such as Eberron and Toril exist. There are no direct rules on how to travel between these world's but almost every planar spell is not limited with respect to a specific world as long as you have information regarding that world (i.e. a sigil sequence for a teleportation circle).
In conclusion, any planar magic that lets you specify a location can allow you to travel to any world in the Material Plane (as long as the Material Plane is a legal target). If the GM selects the location, they can choose in the same way.
Comment: aren't Eberron etc. different universes, which don't exist alongside each other?
Comment: @PixelMaster Not in 5th edition. All of them exist within the material plane. There are no rules regarding traveling between worlds. It is possible they are parallel realities but the plane encompasses them all.
Comment: Mike Mearls talked a little about it when dealing with Mindflayers on a DnDBeyond Youtube video. The worlds are like separate spheres in the same plane, Mindflayers used to be able to travel between them.
Comment: @Baergren That was based off of Spelljammer which is not yet canon in 5e
Comment: @DavidCoffron, perhaps not published in print yet, but this was a recently published video, just slightly prior to Xanathar's if I recall correctly so I would hold it as tentatively authoritative
Answer: This related topic explains about a similar question that touches the points that are relevant here.
You return wherever the DM wants. Technically, yes, you can leave Toril and end up in Eberron. However, as you said before, you found the right pool, the subjectively right for you, is your own Material Plane, then you'll appear somewhere there where the GM put you unless your DM has a plan for it or is just a psycho (Who knows?), you should be back to your native plane.


What are the best Practices for writing truffle Tests for a Smart Contract ?

Question: I am currently having a project where a banking system is to be made, what is the approach to get into it. Its suggested to write the tests first and then proceed with the smart contract. What are the approaches to write a test with the "functions' " functionality in mind?
Answer: Banking is a fairly broad topic,  you need to plan out the plan what the smart contract does. Personally speaking, I prefer to write functions and then test them, but these is no reason when tests can't be written first.
In general, I recommend focus on error conditions (use require, assert and revert conditions first), and then check the files.
But I suppose the differences between typical testing and smart contract testing need to be considered (overflow, underflow and entrancy).
See Smart Contract Exploits


Does a deeper photosite increase the dynamic range?

Question: As I understand, a bigger photosite (on the sensor) enables a bigger dynamic range and also better high ISO performance. Is there a reason not to make the photosite deeper?
Comment: When it comes to ISO performance, there are several very good answers on this site already. E.g. [How can a newer camera increase ISO while decreasing pixel size?](http://photo.stackexchange.com/questions/29198/how-can-a-newer-camera-increase-iso-while-decreasing-pixel-size) and [Why and how do "bigger pixels" make a better picture?](http://photo.stackexchange.com/questions/42582/why-and-how-do-bigger-pixels-make-a-better-picture)
Answer: Making the photosite itself deeper actually just reduces the low light performance as it make it so that less of the light can reach the photosite (thus decreasing how dark the scene can be before noise is a problem, but also decreasing the amount of light that gets to the sensor when it is bright, so the entire range of the camera simply shifts to brighter, but no gain in range occurs.  The photosites actually need to have a wider range.
Comment: +1 and a side note: iirc the why is because photo detectors only work at their surface.  Film, which may be what Itay is taking inspiration for this question from, does have depth but that doesn't apply here.
Comment: @PatrickHughes actually, the why is that photodetectors don't work at their surface, they work closer to their back, or perhaps the mid.  There is generally several layers of filters that process the light before it reaches the actual sensitive layer. (AA filter, bayer color filters, etc).  The deeper you stack them, the longer the tunnel the light has to make it through and the less angles light can get in from.
Comment: Very true, I was thinking of the actual light sensitive part.  Your  description of the entire stack makes more sense for this question =)


BB84 protocol over LiFi

Question: The question is already explained in the title, but I'm curious regarding the possibility to adopt the BB84 protocol over LiFi (in theory). Could it be possible or are there some limitations, such as the single photon evaluation?
Comment: the question, for what I understand, is essentially equivalent to whether it is possible to implement BB84 (or any other protocol for that matter) using visible light. I don't think there is any fundamental problem in doing this, it's just a matter of having available technology to manipulate, transmit, and detect single photons in the visible spectrum
Answer: Absolutely! BB84 can be implemented over LiFi. There are however certain constraints and inefficiencies involved, which will have to be taken into account for implementation - possibly leading to the usage of BB84 variants like Decoy State, with higher efficiencies than pure BB84.

A four non-orthogonal polarization basis encoded single photon would be very inefficient (mainly loss and complexity of implementation) primarily due to mobility of participants and ambient light noise. We will have to switch to phase encoding, RFI QKD protocol or the decoy state variant of BB84 as an alternate improvement strategy.
Aligning the transmitter and receiver to deliver weak coherent pulses will be challenging, assuming that the transmitter will be handheld or mobile.
The Detector needs to be precisely placed and current cost implications will force us to implement a single detector/multiple transmitter system. This would imply that we have to have a multiplexing (and coordination) strategy for serving individual transmitters. Also, the efficiency shows significant variations on the positioning of the detector in the room (line of sight) and the field of view angle. Losses of the order of 30-50dB have been observed in experimental results.

Hope the insight helps.

BB84 protocol over LiFi


What is the modulation technique and what is the coding technique used to send information from the New Horizons spacecraft?

Question: I would like to know what is the modulation technique used on the New Horizons Spacecraft? Is it BPSK or GMSK?
Also what is the coding technique-turbo-codes or LDPC codes?
And do you have a link budget available?
Comment: @Deer Hunter: Phil Karn's answer to that question contains the data Irving's looking for (BPSK and turbo-coding).
Comment: 2 of your 3 questions are answered here: http://space.stackexchange.com/questions/7776/why-does-data-transfer-rate-decrease-with-distance
Comment: @Hobbes - the linked question does not **directly** deal with modulation, I'd be loath to close this one as a dupe. It is too broad, though.
Comment: Irving, please choose one specific question instead of three, bearing in mind the link posted by @Hobbes.
Answer: Phil has explained it nicely. Yes, it is BPSK with R=1/6 Turbo coding, that is used in New Horizons. Some aspects of the X band digital receiver used is discussed here. For the coding enthusiasts, I can add that the Blocklength is k=1784 bits (even though it is programmable, for low data rate support, this minimum block length is used). The information code length (post coding) n =(k+4)/R=10728 bits.
Comment: The turbo coding is in fact for the downlink.  The uplink is not coded.
Comment: Thanks for the info. I thought Phil had mentioned the DL reference circuit [link](http://www.boulder.swri.edu/~tcase/NH%20RF%20Telecom%20Sys%20ID1369%20FINAL_Deboy.pdf) already. Yes I was referring to the DL (Turbo coding). That is where the most critical/precious data (e.g., image data) is coming. Also, the most sophisticated of the receivers (turbo decoder, synchronization to name a few) can be implemented in the ground than in the space station.
Comment: Welcome to Space.SE. This is a very interesting information. However it covers the uplink receiver, not the downlink transmitter which is the topic in the question. Any chance you can get a similar paper?


Which band will I be authorized the most bandwidth?

Question: Lets say I want to do a bit of experimenting with some high bandwidth uses for transmitting data, high quality voice, etc. Which Amateur band will give me the maximum bandwidth, and what is the maximum width?
Comment: You should specify your location so that potential answerers can determine the relevant regulatory jurisdiction. Based on your previous questions, I've added the [tag:united-states] tag for you.
Answer: Without a doubt, the 300GHz band. All frequencies above 300GHz are authorized for amateur use. There is no bigger band, amateur or otherwise.
Here's all the national band plan has to say about it:

All modes and licensees (except Novices) are authorized Amateur Bands above 10.5 GHz.

Also, it has the coolest band designation: Tremendously high frequency.
While there may be some restrictions on what you can do here, they are woefully outdated and likely to be revised. Given that you stick to "good amateur practice" (essentially, play nice), I really doubt you will be arrested. The 300GHz+ band is all about experimenting with weird stuff, so it would almost be bad practice (and thus illegal) to not try some extremely high-bandwdith experiment there.
Answer: If you intend to follow the national band plan, your best options lie within the 3300MHz to 3500MHz band, specifically at 3360.000 to 3400.000 and 3460.000 to 3500.000 you are allowed up to 22MHz bandwidth transmissions.
Your next options occur in the 33cm and 70cm bands:
<code>420.000MHz - 426.000MHz - ...and experimental
909.000MHz - 915.000MHz - Analog and Digital broadband multimedia
915.000MHz - 921.000MHz - Analog and Digital broadband multimedia
921.000MHz - 927.000MHz - Analog and Digital broadband multimedia
</code>
Check into the bandplan further, and look for local and regional bandplans to make sure you aren't stomping on anyone else's signal.  Otherwise keep in mind that one of the primary missions of Amateur Radio is to experiment and advance the art of radio communication.  It is likely that you can use more bandwidth in some areas outside the bandplan if you coordinate with others, and the bandplan can be changed if your use provides new opportunities to everyone.
Comment: Note that, in certain parts of the country, including Colorado (where the original poster is located) has restrictions in the 902-930 MHz band, so affected hams should be very careful to observe those restrictions.


Ubuntu eclipse completely broken

Question: For some time now I have had problems with eclipse giving 100% cpu when starting up. After making a new workspace and switching to it, I noticed Android dev tools no longer show up anywhere. In fact, File-New-project only shows "General" and "CVS" projects. I have ia32 libs, eclipse-jdt, but nothing shows up except in the Help-install new software, which says it's installed.
Answer: I have had a lot of issues with the Eclipse that is in the Ubuntu repositories.  I've found it's much better to just dowload it and run it directly.  If you're doing Android, I highly recommend the Android SDK/ADT bundle.  It doesn't get much easier than that.  If you need Eclipse for other projects you can get it at their website.
Answer: I ran Eclipse with sudo, updated and installed everything I needed, then ran sudo chown -R username:username ./workspacedirectory. (Same with a .metadata directory, when I had problems later). This seems to be the solution! Strange, since sometime before 13.04 updates I though for sure I had tried something like this.

Ubuntu eclipse completely broken


How to I find number of test cases executed for a period and number of test cases executed by tester in QC

Question: How to I find number of test cases executed for a period and number of test cases executed by tester in QC, please explain in me in detail as I am novice to QC
Answer: I've answered your question in two parts to give you some flexibility when trying either of these solutions out.
To find the number of test cases executed for a period you can use the Live Analysis option from Test Lab. When you add a graph choose the Progress option and accept the defaults this should get you something very quickly.
For the second part of your question, again use Live Analysis in Test Lab and this time when you add a graph select Summary, change the Group-by drop down to Tester and set the X-axis drop down to Test Set.
It is very likely that your tests are structured differently to mine in Q.C. FYI I have a test suite set as a folder and underneath that I have group of tests grouped as a test set.
There are more complicated answers where you can create customised reports within the Dashboard module - but as you're a novice Q.C. user I haven't recommended any of those.
Hope this helps,
Steve.


How do combos work in Guild Wars 2?

Question: I see some of my skills say something like 'combo finisher (projectile)', but I don't think I've ever done a combo. How do they work?
I always solo, is this only for multiple characters or can they be done by a single character?
Answer: Each combo begins with a Combo Field that places an AoE/barrier field and ends with a Combo Finisher, which is triggered by Blasts, Leaps, Projectiles, or Whirl finishers. You can see in the description of a skill whether or not it will combo. If a skill can combo at all, it will list it as the last item in the skill description.

The following table shows the different types of interactions.
<code>Field        Blast Finisher     Leap Finisher   Projectile Finisher     Whirl Finisher

Dark         Area Blindness     Blindness       Life stealing           Leeching Bolts
Ethereal     Area Chaos Armor   Chaos Armor     Confusion               Confusing Bolts
Fire         Area Might (x3)    Fire Armor      Burning                 Burning Bolts
Ice          Area Frost Armor   Frost Armor     Chilled                 Chilling Bolts
Light        Area Retaliation   Retaliation     Remove Condition        Cleansing Bolts
Lightning    Area Swiftness     Dazing Strike   Vulnerability           Brutal Bolts
Poison       Area Weakness      Weakness        Poison                  Poison Bolts
Smoke        Area Stealth       Stealth         Blindness               Blinding Bolts
Water        Area Healing       Healing         Regeneration            Healing Bolts
</code>
Combo fields actually can be done by a single character, as long as you start with a skill that is labeled Combo Field and end with a skill that is labeled Combo Finisher.
For example, when a Ranger uses the Torch's offhand Bonfire skill, they can then use Splitblade Axe main hand skill to throw the axes through the Bonfire and create burning projectiles axes that cause Bleeding!
Comment: There is even a skill, [Black Powder](http://wiki.guildwars2.com/wiki/Black_Powder) that combos with itself.
Comment: wow, I'm lvl 22 and been missing on this stuff, will experiment when I get back home!  Thanks
Comment: @sjohnston that's called askillular reproduction.
Answer: In Guild Wars 2, certain skills will lay down one of nine types of Combo Fields. Any skill with a Combo Finisher tag, when used in/through this field, will have a special effect. A full table of interactions between Combo Fields and Combo Finishers can be found on the wiki, here. Combo Finishers are not restricted to your own Combo Fields, but can also interact with others' Combo Fields. A Finisher can only interact with a single Field at a time. It is currently unknown how the game determines which field to use in the case of multiple overlapping fields.
Answer: Inorder to create a Combo you will need two things
A Combo Field, which is any AoE skill labeled "Combo Field" in its description, and a combo finisher, which is any skill named Combo finisher.
There are Four Types of Combo Finishers; Projectile, Leap, Whirl and Blast, each creating different effects when entering a combo field.
The Stats of the player using the Combo Finisher goes on the stack and not the one using the Combo Field

How do combos work in Guild Wars 2?


Custom Post Type - Rewrite slug

Question: I have a custom post type (products) that I would like to change the slug for. I have a main product page that shows all product categories. After clicking on the category, it shows all products in that category. When clicking on one of the products it should take you to the custom post type product. The problem is that I want the url to be www.example.com/products/{category}/{product}, but from the custom post type, the url I get is www.example.com/products/{product}.
When I registered the custom post type, I set rewrite to
<code>'rewrite' => array('slug' => 'products', 'with_front' => false),
</code>
How can I fix this to include whatever category the post type is in?
Answer: You can try this :
<code>'rewrite' => array('slug' => 'products/%category%'),
'query_var' => true /* etc */
</code>
But I think it won't work as is if other links do not follow the same structure.
So maybe you'll find a way here.

Custom Post Type - Rewrite slug


How to fix a chipped countertop

Question: I recently remodeled my kitchen and while putting in the sink I had to remove it and i forgot to remove one clip and it ripped off a small piece of the laminate. So my question is if there is some way to put it back in a way that it should not be vissible? The only products I found was covering it with mixtures of solid colors not the way the countertops look so it will still be very vissible.                    Thanks
Comment: Do you have the piece? Superglue is your friend. You may need to sand the back of the chip a bit to get it to fit flush.
Comment: Super glue and maybe a touch of a color matching [seam sealer](http://www.cabinetparts.com/p/kampel-countertop-laminate-products-color-matched-caulk-SF00901?prclev=CMH63F4QHR35&gclid=CKqimKbjscsCFYqDfgodCO0NoQ). they do make different colors as you have found. This will help hide the backing if exposed on the chip and seal it so it will last longer. but get it glued down as @isherwood suggested +
Comment: @ isherwood @ Ed Beal Thanks. Do you mean specificly the brand Super glue? and yes I have the piece but was'nt able to push it in flat without any bumps left, do you think sanding could do the job with all curves in there?
Answer: As Isherwood said super glue is a great option if you have the whole piece to put back in place. If the piece is lost or doesn't completely fit you may want to consider replacing a segment of the countertop.
When retailers make cuts from countertop materials there is often small pieces left over. Ask at your local hardware provider or better yet at the location you purchased your countertops. With a steady hand you can cut a straight line in the least visible area and replace the entire area.
Answer: I'm thinking wood glue. Study the chip & see how it fits. The majority of the time they don't & won't drop-in they have to slide-in or be inserted. Since, they tear out & don't really "chip off".
Wood glue would fill in any missing fibers & also flow out around the torn edge. You can then also lightly hammer it inward & downward to re-seat it perfectly & re-marry it back into the microscopic layers you savagely violated.

How to fix a chipped countertop


Can I attach a DC blower to intake manifold of my 150CC Yamaha FZS FI engine?

Question: I am planning to add a 12V DC blower (https://www.amazon.in/gp/product/B00LPUXVWS) to intake manifold of my Yamaha FZS FI 149CC engine. I thought it could work more like a supercharger, except it will be powered by battery instead of engine. Will this be feasible? What are the complications associated with it?
Comment: It wouldn't surprise me if this restricted the air rather than increase flow.
Comment: To make this work, you need a very high quality air compressor, in the range of at least a few hundred watts (one successful project I heard about is TQ250-24v, which translates 600W of power to 4.5PSI of boot for a 2L engine). Also, pressure matters. A blower generates a lot of flow but not much pressure. You need something that generates enough flow but a lot of pressure.
Comment: The size and weight of the batteries needed to power an electric compressor to provide useful boost would probably negate the power gain.  Better off harnessing the exhaust heat enthalpy with a turbosupercharger; useful energy which otherwise would be wasted.
Comment: There are electric superchargers manufactured (think it was Turbodyne that were making one to be used in parallel with a turbo, to produce up to about 5 seconds of boost while the turbo spooled up), but the power requirements are very large. And likely any significant boost would put the fueling outside the range of the ECUs ability to compensate for fueling, etc.
Answer:
I thought it could work more like a supercharger, except it will be powered by battery instead of engine.

This isn't the first time someone has thought of "electric" supercharging.
There's nothing wrong with having electrical power source per se (the leaf-blower Monza comes to mind), but you're going to need way more than 10 W worth of power (which is what the product you linked is rated for).

I urge you to read through this article on the Twin-Turbo Zet for more details on why this idea won't work with the fan you posted.
In a nutshell, it highlights the fact that the engine requires a tremendous amount of air in comparison to what the fan can provide, so you're going to have to use orders of magnitude more fans, which will consume orders of magnitude more electrical power.
Oh, and all this is just to satisfy the engine's basic pre-boost requirement. To add boost, you're going to have to add even more air flow (and subsequently supply more power).
Comment: That depends on the numbers. You need to first of all meet the air requirement, then exceed the air requirement, then ensure that the extra air gets converted to boost, then ensure that the boost makes its way to the engine from the intake.
Comment: Don't forget you need an intercooler to cool the air after compression, or the heat from compressing it will **decrease** the air density.
Comment: @PrasannaSundar while not exactly the same, compare to car turbos that can spin up to 150,000rpm. There's a reason turbos and superchargers are powered by the engine (either via exhaust or direct mechanically): an electric motor needs to be big and heavy to push the quantities of air required.
Comment: First of all, thanks Zaid for the knowledge. Considering I am trying to boost a relatively small single cylinder engine (150CC putting out 13.2 PS and 12 nm), won't it result in any improvement? 10w = 0.01 HP, will this addition be even noticable on daily drive?
Comment: @GdD and increase temperature https://mechanics.stackexchange.com/a/17491/675 :)
Comment: yeah, a little fan like that is not meaningful in this system.  A turbo is doing much more than creating a little breeze.
Answer: Using that kind of blowers as turbochargers is generally proved worthless. The main drawback is these devices are not capable of creating any significant pressure, especially considering internal combustion engine's air flow rate.
As @HandyHowie already mentioned one could even experience air flow restriction. Some quick maths: consider 1 cylinder 2 stroke engine with 150cc piston displacement at 3000 RPM. That results in roughly 150*3000*0.000001 = 0.45 m^3/min of air flow rate. Now the blower you've linked is capable of 16 CFM flow rate, which is about the same 0.45 m^3/min. So best case scenario: you don't get any extra power below 3000 RPM and lose power above that rev.
Comment: Thanks for the numbers, Max. That makes sense, I will try to get better air flow. If not, I gotta drop this idea.
Answer: This will not cause any increase in horsepower.
Likely a decrease in horsepower due to restriction.
A unit like this simply does not flow enough air to make a difference.
Think of it this way, your device needs to be able to flow more air (at higher than atmospheric pressure) than the intake stroke of the engine would flow typically.
If it cannot do this, you will not see an increase, and it may even restrict air flow causing a decrease.
Not only that, but if you do not modify the fuel injection map on your ECU, it will not inject any more fuel into the engine so power will not increase.
Max power is based on how much fuel you can burn in the engine, if you aren't putting any more fuel in, no matter how much air in, there will be no increase.
For a small engine like this, you can probably find a very small turbocharger to use, get a skilled welder to create a manifold, then get a small ECU (MicroSquirt works well for bikes) and tune it for the increased manifold pressure, you may need larger injectors, or to increase fuel pressure also.
If were to do this, you likely would not need an intercooler, as you would likely not be compressing the air that much, if you were to go above ~5PSI you would want an intercooler.


Is it possible to do partial word searches in Gmail?

Question: Is it possible to do partial word searches in Gmail? For example, if I wanted to search for an email from firstname.lastname@example.com can I search for ndoe?
Answer: No, as of now it's not possible.
Answer: At least there's a workaround if you need to find an email where you only remember part of a word to search for. (BTW, this happens often to me.)
Import the set of email messages that you want to search in Mozilla Thunderbird. Install the ImportExportTools add-on and use it to export the messages locally to a searchable text format. Now use a tool such as Notepad++ to search. Such programs can easily make partial word searches in collections of files.


Webdav with LDAP configuration

Question: I am using Tridion 2013 SP1 and want to know what are configuration require for using WebDAV with LDAP authentication?
Comment: http://docs.sdl.com/LiveContent/content/en-US/SDL%20Tridion%20full%20documentation-v1/GUID-14E44838-51AE-4D5F-836C-4EFF2C438648
Comment: As per the given link if I make same IIS authentication settings in the webdav/ folder as same as for the Web site itself. I am getting "Internal server error" and in the event viewer I can see the below error:  "Access is denied for the user <>\mtsuser  Component: Tridion.ContentManager.WebDav
Errorcode: 0
User: NT AUTHORITY\NETWORK SERVICE
Answer: Online docs would appear to be your friend :)
Configuring WebDAV Connector for LDAP authentication or single sign-on

No specific steps are needed to make use LDAP or SSO authentication
  work if you use WebDAV (if both are properly set up, as documented),
  as long as you ensure that your IIS authentication settings in the
  webdav/ folder are the same as for the Web site itself.

Configuring LDAP
Comment: This appears to be a limitation of the Windows WebDAV client. If you read through the instructions for configuring LDAP or SSO you find this text: "To use LDAP or single sign-on (SSO) to authenticate users in Content Manager, you must allow Basic authentication. A Windows WebDAV client refuses to use Basic authentication over a non-secure (non-HTTPS) connection. As a result, to use LDAP or SSO, you must use HTTPS."
Comment: Thanks David for sharing the link but I think HTTPS is require to use LDAP with WebDAV. Can you please confirm if this is mandatory? Configuring WebDAV Connector authentication under Configuring WebDAV Connector

Webdav with LDAP configuration


Is it an obligation for everyone to marry?

Question: Is it an obligation for everyone to marry? In my case, I want to live lonely and not marry but I don't Know or Islam allows a person to not marry.
Comment: Don't you have sexual desires? How would you fulfill those things. Marriage will protect you from major sins. Even in Paradise, we'll need a partner to led a happy life.
Answer: The answer to your question is yes; you can perfectly remain single and be committed to your faith.
Family is central in Islam, there are many references in the Quran on how to deal with family (for example, respect for elders, mothers rights, daughters rights, etc.) and clearly even from the hadith it is understood that family is a central core of a good Islamic society.
Marriage is encouraged.  You can find references to it in the Quran; and the proper ways to marry are also outlined. In our Holy Prophet's (PBUH) time there were many unspeakable ways how the people would marry between them and even how they would treat their partners this is when our Holy Prophet (PBUH) declared for the those who believe the rights of partners and the method and specifics of marriage.
However, you should not marry unless you have a partner of your choosing, who you believe can be a faithful partner for you. In Islam, forced marriages are strictly forbidden and no one can be married against their will; so there is that protection for you as well.
An additional reason why marriage is encouraged is because it protects people from sin.  As is it natural for a person to have desires for intimacy, marriage provides you a way to fulfill these desires in a way that protects both you and your partner.
I hope this clarifies the matter to you; and may Allah guide us all on the right path and make easy our challenges and keep us from that which is not in our best interests.
Answer: Yes, the general ruling from Quran is that it's obligatory to get married.
But the Quran also exempts men from those who cannot afford it.
Yet, Allah also tells us that there's richness in marriage and to seek it.  In Surah an-Noor 24:32 =
And marry the unmarried among you and the righteous among your male slaves and female slaves. If they should be poor, Allah will enrich them from His bounty, and Allah is all-Encompassing and Knowing.
Marriage with a true believing person has many benefits.  So you should try to find someone you are interested in and get along with inshaAllah.  wa Allaho Alim
Answer: You are not obligated to be marry if you have your reasonable reasons BUT you have to be sure of some things.
You can stay away from haram, acts and thoughts. What i mean if this will affect you once and make you fall in haram then you have to get married.
Also you have to know that a married man is better within ALLAH and there are many hadith about married acts vs single.

الامام الصادق(ع): ركعتان يصليهما المتزوج أفضل من سبعين ركعة يصليها
  أعزب
Two kneels(Rkaatan) prayed by married better than seventy
  kneels(rak'ahs) prayed by  single

Another thing you have to keep in your mind the Prophet Mohammad(sawws) say:

النكاح سنتي ومن رغب عن سنتي فليس مني
Marriage is my Sunnah and who refuse my sunnah then he is not on my
  way.

So you can't say I don't want to get married at all.
Comment: Oh, you submitted 2 admirable hadiths. I reckon the initial hadith urge people to get married to increase the thawab .. a lot.
Answer: It is Sunnah to get married not obligatory but there are many benefits to getting married. Marriage completes half of your Deen (religion).
Comment: marriage protects half of deen.
Comment: Salam Alaikum, please provide a source for the last part of your answer.
Answer: No its not!
You can spend your life single, and never get married. You won't be asked for not-marrying-a-girl at the day of judgement. :)
But it is also said to marry a girl, to complete her and your life and to continue the Human race as well as Muslim Ummat.
Comment: Are you assuming that user4832 is male, or a lesbian/bisexual female?
Comment: Male's family reaching female's family and vice versa is a cultural thing.
Comment: I am taking him as a **general person**, that's why I am using the term, marry a girl. Because in Islam, male's family would reach the female's family to ask for relation...-_-
Answer: i agree with @Sayyid and upvoted his answer.
but i just post for an addition...
copy from https://islam.stackexchange.com/a/23326/6575 (almost duplicate answer there, but maybe that caused me to answer ) :
israf is prohibited; not marrying can be an israf because some genetical and psychological development was with you and people used some their time on your development and you used earth and sun etc resources on your development; if you marry you do not lose that development, you give your knowledge to your children and wife and maybe relatives of wife and genes to your children.


If I remove URLs from an XML sitemap will Google still index them?

Question: How can I update sitemap file without losing the old URLs? In other words,  does the Google search engine keep the old URLs indexed and add the new ones, or does it erase removed URLs?
Answer: Sitemaps don't have much to do with indexing or rankings.  You could remove URLs from your sitemap or even remove your sitemap entirely without hurting your SEO.

A sitemap isn't needed to get the pages on your site crawled and ranked.  Googlebot will crawl your site from the home page even without a sitemap.
Sitemaps can occasionally help Googlebot discover pages on your site that are not linked from other pages.  Googlebot will crawl that page but usually it will decide not to index or rank it.  To get pages indexed and ranked well, they really need to be linked from other pages.
Google doesn't use several fields that can be added to sitemaps.  The changefreq and priority fields are just ignored.  Googlebot comes back to crawl URLs based on how popular they are and how often Google has seen them change before.
The biggest benefit of Sitemaps is providing extra data to you in Google Search Console.
Google also uses sitemaps as a signal as to your preferred URLs.  If you do have a sitemap you should ensure that it is clean.

No duplicates
No error URLs
No redirecting URLs

For more information see The Sitemap Paradox.
Comment: that was very helpful, thnks
Answer: If they are still valid, it will keep them. If they start returning error codes, then they will usually be removed.
If this is a case of having sitemaps from different applications, then Google will accept multiple sitemaps for the same website. An example of where I do this is on one of my product websites. I use Google's own scripts to periodically create a sitemap of the main static pages. The online documentation is created by Help&Manual - and this creates its own sitemap which I also submit to Google.
Comment: thnks for ur answer, so i don't need to worry about removing the invalid urls manualy ?
Comment: If the URLs are invalid you really should remove them.  Google expects to find a list of good URLs in sitemaps.
Comment: the problem is that I have multiple sitemap files, and if a user has removed an article from the website, I need to find which file contains the url of the article and remove it
Comment: Yes remove them if they're invalid. It sounds like you need an automated script to create the sitemap. Eg. Google have their own scanning scripts; and applications like WordPress can also create sitemaps or have plugins to do so.
Comment: Also look at the Google Search Console (aka "Webmaster Tools" last week and who knows what it will be called next week) - these can be used to test your sitemap, tell you which URLs are giving errors/etc.
Answer: Large sites have too many pages to all be included in one sitemap file. As a result, it's normal to remove the last result of a sitemap when adding a new one. If you want to have every URL on your site in a sitemap, you can have multiple sitemaps with older pages.
Google discovers pages on your site through your sitemap when crawled. It is not necessary to have a sitemap on your website, nor is it necessary for all of your pages to be in a sitemap to stay indexed. Sitemaps are simply a way for Google to discover your pages that it hasn't discovered through links.