How does OS "protects" or "maintains boundaries" for different stacks of different threads within a process?

Question: How does OS "protects" or "maintains boundaries" for different stacks of different threads within a process? I know that individual threads gets stack within process stack but what bothers me how OS  prevents other threads  from overriding it ?. Any pictorial representation would do a great favour.
Comment: In most OSes I'm familiar with, they don't. Separate threads within a single process are perfectly free to trash each others "private" structures.
Comment: but then  if two long threads (say 'A' and 'B')are running simultaneously and 'A' calls functions in order a1,a2,a3..and 'B' in order b1,b2,b3 ....then this information have to be saved i guess ?
Comment: Yes, they have *separate* stacks. That doesn't mean the OS does anything to *prevent* one thread from reading or writing the memory where the other thread's stack is located, thus corrupting it or causing it to e.g. return to a different location.
Answer: if two long threads (say 'A' and 'B')are running simultaneously and 'A' calls functions in order a1,a2,a3..and 'B' in order b1,b2,b3 ....then this information have to be saved
The code, ie. binary instruction codes, for the functions 1,2,3 don't change, (unless the code is self-modifying - never do that). The A and B threads, running on different cores, can read the instructions concurrently without any problem and execute them independently.  It is far from uncommon for multiple threads to start at the same code address and so perform the same action on different data.
Processor registers are also OK - each core has a different set of registers in hardware & so they cannot 'overwrite' each other.  Note that this processor register set includes the stack pointer.
Stack data, eg. return adresses, local variables and parameter blocks, do not overwrite because each thread is allocated its own stack memory space. Threads A and B are running on different cores and so have their own stack pointer pointing at their own stack space.
Threads A and B can therfore call functions 1,2,3 independently and concurrently, running on different cores and, if the functions only use local vars and parameters, nothing extra needs to be saved or protected upon function calls and returns just because two, (or more), threads are running the functions.
Preemption only occurs when triggered by an 'interrupt' - either a system call from a running thread, or a hardware interrupt from a peripheral device that causes a driver to run, that the OS interprets, (using the interrupt parameters, scheduling algorithms and internal state data, in the manner of a state-machine), as a requirement to change the set of running threads.
Essentially, preemption requires the core register set, including the hardware stack-pointer, to be saved in a  Thread Control Block in the kernel, (allocated at the time of thread creation).  Another thread can be set running instead by restoring the register set from another TCB for another thread.  Essentially, the kernel swaps threads by swapping stack pointers - the thread stack data itself does not need to be saved - it just remains in memory until needed again when the preempted thread becomes running again.
This register-set-swapping is fairly easy, (!), on a single-core machine or if the OS decides that that the thread to be preempted is running on the same core that handled the interrupt.  If the thread to be preempted is running on another core, the kernel code has to issue a hardware-interrupt to the other core to force the running thread to run an inter-processor comms driver and so enter the kernel to get stopped - a whole new level of nastiness:)
Comment: "each thread is allocated its own stack memory space". Is the size of  that space same as allocated for a process (virtual memory)?
Answer: different OS have different technique and mostly all move around Synchronization, different thread wait for different resources that's being in use by other thread , until that thread done with that no other thread can take it (matter of fact they lock it ).
its like u and your brother fighting for same cake and your mother told that you will get it after your brother, and gave fridge key to him, so until he's done with that he can keep the lock and ones he done he gave fridge lock to you.
u and u'r brother are different process fighting for resource(cake) in and u cant get lock until other is done.
Comment: preemption is something like your mother(thread) came in between when you and your brother fighting for cake interrupt you both, take lock of fridge, to take out some vegetables ,remember she cant go for cake, if she wan she too have to fight for it with you two, and if that happen then she may win coz of high priority(if you all waiting for same resource them scheduling comes in picture according to priority or what so ur algo is design to do) but if one having lock other have to wait.


Access sharepoint 2010 recurring events using client object model

Question: I´m trying to retrieve information about recurring events from sharepoint 2010 using client object model. I have retrieved "Recurrencedata" and "fRecurrence" but i can not see these information in them.
Answer: There are three key fields for the recurrence in sharepoint calendar lists. Two of them you already mentioned. "fRecurrence" is an boolean field which says item is recurring or not. "RecurrenceData" is the field which stores the all details about recurrence in xml format. A simple sample is
<recurrence><rule><firstDayOfWeek>su</firstDayOfWeek><repeat><daily dayFrequency="1" /></repeat><repeatForever>FALSE</repeatForever></rule></recurrence>
Third one is the "EventType" field which stores info about list type(normal, recurring, recurrence exception etc.)
You can get detailed information about subject from here
To read entries from a list use:
ClientContext ctx = ClaimClientContext.GetAuthenticatedContext(targetSite)
var query = new CamlQuery();
query.ViewXml = @"<View Scope='Recursive'><Query><ViewAttributes Scope='RecursiveAll' /><OrderBy><FieldRef Name='ID' /></OrderBy></Query></View>";
var listItems = list.GetItems(query);
ctx.Load(listItems);
ctx.ExecuteQuery();

To read relevant fields use
string recurrenceData = listItems[0]["RecurrenceData"];

Answer: Haltunbay is absolutely right, but since the question is quite general, I would like to share my experience in working with Recurrence Events on SharePoint. After a long research I found, that there is no way to retrieve recurrence events like individual series using Client Object Model. But Lists.asmx web service works very well. So, may be this links will help you:
Expand Recurring Events from a Sharepoint Calendar over WebServices
Expanding of Recurring Events from a Sharepoint Calendar doesn't work for a ViewFields Query


Using Generic Primitive Arrays in Scala

Question: I recently asked this question about whether it was possible to parameterize the type of a primitive array in Java.  (Basically, I have an array that I want to be either a double[] or a float[] based on some argument.  I'm using arrays of primitives rather than  arrays of wrapper classes (Double[], Float[]) because they're much more memory-and-time efficient, especially when dealing with big vector operations.  The answer, it appears, is No, you can't do that in Java.
So, my new question is: Can I do this in Scala?  I understand that primitives are kind of more hidden, and only boxed on certain operations... So if it is possible to parameterize my arrays as being of Double or Float, and the compiler does implement them as primitives, how do I tell if they're being unboxed, or otherwise implemented less efficiently than if I were to just go "Find: Double, Replace: Float" in my source code?
Comment: Have you read over the @specialized directive? This may help http://www.scala-notes.org/2011/04/specializing-for-primitive-types/
Answer: Does this work for you?
object SpecialisedArray {
  def apply[@specialized(Float, Double) T: ClassTag](size: Int) = new Array[T](size)
}

Comment: Thanks, I will try it out and see.

Using Generic Primitive Arrays in Scala


What is W3.JS and why is W3Schools promoting it?

Question: I was noticing that W3Schools has a tutorial on what they're calling W3.JS, which in my opinion appears to compete with jQuery. I was having trouble finding information on it from any source other than w3Schools themselves.
W3Schools does appear (in my opinion) to have some propensity to promote semi-abandonware. For example, AppML.
Is this library actually used anywhere? What is its history (especially its release history) and if this is actually going to be developed into something that would actually be worth considering using?
Note: I'm not seeking a library recommendation here - I do realize that that's explicitly off-topic - I'm just asking for background information on this particular library.
Comment: Still seems kind of off-topic to me. I could be wrong.
Comment: is there any reason for a company not promote their own software, in this case their own library?
Comment: @FabioAntunes That's true, but why yet another JavaScript library? What's wrong with jQuery?
Comment: everything, jQuery is not perfect and diversity only makes libraries better.
Comment: @FelixKling Probably not perfectly formulated on my part - do you have any suggestions on how to improve it? (Again, I'm not looking for a recommendation *per se*, just looking for background on that particular library).
Answer: The W3 JS library has a couple of attractive properties.
1.  It's very lite.
2.  There's not much of a learning curve; I was able to get a few things "working" with little to no documentation (and beyond w3schools.com, there's not much.)
I tried several different pieces of functionality in the library and here's my take on it.

To try and gain some separation of concerns, I stumbled on this library looking for the ability to use a PHP-like include statement to pull in an HTML fragment file.  W3.JS provides the ability to add an attribute to a div element

And with a JQuery UI-esque initialize statement, the file's contents would be loaded into your div element on the client side.

This does work but it's about all that does.  I used the library on a legacy App I inherited that was done in Classic ASP on the server side.  One thing I relied upon from JQuery was the AJAX function for POST requests to a crude ASP page I used as a "data access layer."  The page would use a POST variable like an enum to tell it which function to call and then subsequent variables as needed in each function.  Below is an example of W3.JSs ability to perform a Web Request and then use it's display-object function with an HTML object (here an un-ordered list) to displayed a retrieved JSON object that has an attribute "customers" that is an array.  This will generate LI elements with an innerHTML that is an attribute of each customer instance; "CustomerName." ({{CustomerName}}) is a place holder here.

{{CustomerName}}

So to even try the above example I had to convert my data page to use the Query String of a GET request, which I didn't have a problem with.  However, used in Lieu of a JQuery AJAX request and a vanilla JS callback function, like below.
$.ajax({
      url: "ServerCommonFns.asp",
      type: "POST",
      data: '{"operation":1}',
      complete: function(jqXHR, statusMsg){
            //if status is 200, jqXHR.responseText has my serialized JSON
            var retData = JSON.parse(jqXHR.responseText);
            var tgtListElement = document.getElementById("id01");
            //Clear the placeholder code from the list and go to work...
            tgtListElement.innerHTML = "";
            for(var index = 0;index<retData.length;index++){
                var listNode = document.createElement("li");
                listNode.innerHTML = retData[index].CustomerName;
                tgtListElement.appendChild(listNode);
            }
      });

So W3JS looks like the preferred solution, it's less code for sure.  However, in the app I worked on, I timed the web requests for both method and the results were shocking.  The request returned a JSON string that was roughly 737K in size and the request took ~2.5 seconds to complete.  My JQuery solution took about ~4.5 seconds including the ~2.5 second request.  The W3.JS solution took anywhere from 17 - 27 seconds to complete.  I did some tweaking thinking that I had made a mistake and that was the only way the "Better & Faster Javascript Library" could be running that poorly but it appears not.  I don't know why but the W3 JS solution was clearly not usable in my app.
I tried to use this library again early last week; thinking an application less data intensive might work much better.  If you've read this far I'll save you a few more lines of reading....it wasn't.  This app used Classic ASP with another "data access layer" type ASP page, again utilized with JQuery and Vanilla JS using the AJAX function.  I built a JS function to pass as param/function ptr like so
var sortAsc = true;
//JSONObj looks like {"faqs":[{id:1,createdBy:"Les Grossman"},
//{id:2,createdBy:"Jeff Portnoy"}]};
var JSONObj = null;
function compareFn(a, b){
    if(a.id  b.id) return sortAsc ?  -1 : 1;
    return 0;
}
//Assign my onclick event handler
document.getElementById("faqId").onclick = function(){
    JSONObj.sort(compareFn);
    sortAsync = !sortAsync;
    //Logic below to clear and reload the rows in my HTML table...
    //See above example for pretty much identical code
}

This again is fairly code intensive and I didn't want to have to fire of a web request everytime a column header was clicked (to use the sort ability of a SQLite Query) rather than a custom JS function.  So I tried using the w3.sortHTML() function to do the job.  It looked something like this but I kept my JQuery AJAX code to load the table initially and used the sortHTML() function post load for sorting.  The w3.sortHTML function takes params in this order

Repeating element container unique selector ("Select, UL, OL, Table, etc.").
Repeating element group selector (option, li, tr, etc.)  In this instance I use .faq as I've applied it to all table -> tr instances.
Selector for attribute/element of repeating group to sort by (Keeps track of ascending/descending sort order internally.)

    FAQ Number
    FAQ Name

    1
    Tug Speedman

    2
    Alpa Chino

    3
    Kirk Lazarus
  ...

I'm using this page to display FAQ Data from our HelpDesk system (uses my login to scrape data into a SQLite database so any user can see FAQ data without needing a login/license for a Helpdesk system.)  The web request returns a JSON string roughly 430 KB in size and creates 320 table rows with 5 table columns (for our e.g. only two columns are coded for.)  This request takes ~3 seconds to complete.  My JQuery/JS AJAX request w/ callback function roughly ~5.5 seconds total, including the ~3 secs for web request/response.  My custom sort fn took less than 1 second, regardless of sort by column (only id shown in example), to sort my ret data obj (sorted as a global object "JSONObj"), clear the table and refill the table with sorted rows.  Again, lots of code to do this so I thought W3 JS might help me out.  My W3 JS sort implementation takes ~8 seconds to sort integer/numeric data and ~10 seconds to sort text/string data.  This is way too long for my needs (again) so I reverted back to my JQuery/JS solution.
In conclusion, it seems that anything of greater than trivial size begets really poor performance in this library.  I think the creators of W3.JS had their functional requirements correct as the library does boast some very useful abstracted functionality but it's no replacement for JQuery and other existing frameworks or even your good old fashioned Javascript code.  Wish things had worked out; would have been really helpful.
EDIT -
So I've been going through the source of the library and, while there are several shorthand methods for web reqs, there is simply a w3.http() method with the following signature.
function (target, readyfunc, xml, method)

The params are appropriately named except for xml which is just a string value.  I was able to get this working with my previously mentioned ASP page that handles POST requests.  I invoked it like so.
w3.http("ServerCommonFns.asp", httpCallBack, "operation=1", "post");
function httpCallBack(){
            if(this.readyState == 1){
                console.log("Setting needed header...");
                this.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
            }
            else if(this.readyState == 4){
                console.log("Parsing response....");
                //document.getElementById("main").innerHTML = JSON.stringify(this.responseText);
                var responseObj = JSON.parse(this.responseText);
                var respDataObj = JSON.parse(responseObj.retdata);
                var tableObj = document.getElementById("responseTable");
                tableObj.innerHTML = "";
                for(var index=0;index<respDataObj.length;index++){
                    var newRow = document.createElement("tr");
                    newRow.innerHTML = "" + respDataObj[index].MACHINE_ID + "	";
                    tableObj.appendChild(newRow);
                }
                return false;
            }

        }

You'll see httpCallBack is used like it's the listener for the onreadystatechange event for the internal xhr object because it is just that.  In order to work in my instance, I had to set the content-type header before the request was opened so my xml/param argument was interpreted properly.  So W3.JS can do POST requests but the w3.http() function is little more than a simple wrapper around the Javascript XMLHttpRequest() object.  Also, the requests are invoked Asynchronously and there's no way to change that behavior so just FYI.
--SECOND EDIT.  So I've got a lull in work and I felt I may have given W3.JS less than it's due.  Today I experimented with a few things and examined the source for a little insight.  I found a couple things that I find at least neat and I thought I'd finish this wall of text with them.  Below this is the source for what I did today.  I tried combining a few W3.JS functions with an existing data source for an app I wrote for our MFG Q/A folks.
    <!DOCTYPE html>

        <meta charset="utf-8">
        <title>Test Page</title>

        <select id="w3Functions">
            <option value="show">Show</option>
            <option value="hide">Hide</option>
            <option value="toggle">Toggle</option>
            <option value="addStyle">Add Style</option>
            <option value="addClass">Add Class</option>
            <option value="removeClass">Remove Class</option>
            <option value="toggleClass">Toggle Class</option>
            <option value="filterTable">Filter Table</option>
        </select>
            <button id="invokeBtn" onclick="runW3JSFn(); return false;">Try w3 function</button>
            <button id="invokeBtnAlternate" onclick="doVanillaJSFn(); return false;">Try JS Alternate Function</button>

This Is My W3 Functions Target!!!!

            Filter Data By Id: <input id="filterCtrl" type="text" oninput="w3.filterHTML('#responseTable', '.dataRow', this.value);" />

                ID
                TYPE
                SUBMITTED DATE
                PRIORITY LEVEL
                ISSUE DESC

            {{PAR_ID}}
            {{PAR_TYPE}}
            {{DATE_SUBMITTED}}
            {{PRIORITY_LEVEL}}
            {{ISSUE_DESC}}

Loading.......

So what I was trying to do was use w3.http() to get a JSON string from my unmodified data source (classic ASP page still) and then use the w3.displayObject() with my retrieved JSON object to populate a table with rows.  I tried a similar scenario previously and was met with very poor performance but in the source I examined, I didn't see any obvious bottlenecks so I thought I'd try again.  My web request takes ~9 seconds to query 750K worth of data.  I used this object to retest w3.displayObject and was surprised.  Using the above placeholders, which are simply
{{attribute names}} of my parsed JSON object, I was able to load 677 rows with 5 columns per row in just a few hundred milliseconds.  So for a simple grab and go type operation, I would rate this as acceptable.  So then I tried to use the w3.sortHTML() function to sort the rows by the first column, an integer value.  This was met with problems when I got it working, it took ~30 seconds to work and it froze my browser a couple times.  And then when it did finally print the "sorted" rows, they weren't sorted by integer or numerical value but rather by strings so a value of "100" was followed by the value "11" because the first char matches but for the second, the "1" alphachar is higher than "0".  I did a little more tooling and I re-read the source to confirm no-joy; as this sort functionality would be a big help to me.  I found out that while W3.JS support sorting lists as well as tables, it does a modified version of a bubble sort and does so by deleting and inserting rows/items in the DOM, not in memory.  So I'm going to confirm my prior assertion that this functionality is not a practical sorting implementation.
I mentioned above that JS Array objects have a sort function you can provide a +, 0, or - int value to.  To compare, I wrote my own function to sort a table.  It works by sorting an array of arrays (each table row column "td"'s innerHTML being put in an Array and then pushed to a containing Array.  Then I wrote a modified bubble sort on the first column (my ID column.)  I ran into a few problems and it took me 2+ hours to get right.  Firstly, it took me 3 - 4 tries to correctly deep copy an array.  This is what I thought should do the trick but it would seem not.
var tempArray = new Array(dataObj.sortElements[i]);

What did work was this:
var tempArray = dataObj.sortElements[i].slice();

Then I cut away the array I was moving using this:
dataObj.sortElements.splice(i, 1);

Finally, I used splice again to insert the array in it's proper place while not cleaving any indexes.   I also used push to tack it on the end if it encountered no greater compare value.  My sort function worked when sorting values in an Ascending direction but, going off sheer memory from my data structures course, I couldn't remember everything I needed to quickly modify for a search in a Descending direction.  So I cheated and just sorted Asc and then used array.reverse() to get what I needed.  I timed my custom function and worst case it took 56 milliseconds to sort and best case it took .05 milliseconds (the closer to sorted the table is, the better it does.)  Then I tried the array.sort() function for comparison.
function compareFn(a, b){
            if(parseInt(a[0]) > parseInt(b[0]))
                return 1;
            else if(parseInt(a[0]) < parseInt(b[0]))
                return -1;
            else
                return 0;
        }
//Invoked like so.....
dataObj.sortElements.sort(compareFn);

Worst case the built in function took 4.5 MS and worst case 2.5.  So, if you can't sort the data using your database engine, save yourself the time and trouble and just use array.sort() for consistent results on anything other than data of an overwhelming volume.
As far as the utility functions of W3.JS, I implemented Vanilla JS solutions in an adjacent function and their util functions seemed to work as advertised, though some seemed repetitious (e.g. addClass, removeClass, toggleClass.  Just have a param for toggleClass?)
So w3.http, with a little customization, seems to work adequately and w3.displayObject is also worth checking out.  The last thing that caught my attention was the w3.filterHTML() function with the following signature.
    w3.filterHTML('#responseTable', '.dataRow', this.value)
It's the unique selector of your table/list, the selector of the tr or ul element and the value to filter against (the value of a text input in this case.)  After some tinkering, I was able to filter the data that I retrieved using w3.http and displayed using w3.displayObject().  This function iterates through all rows and all cells of rows to see if the match value is contained in the text of the field.  No way to force a numeric comparison but the response was snappy with no discernable lag.  So for my actual final conclusion, this library does provide some functionality that's at least worth benchmarking for yourself and it is very light but it isn't going to liberate you from JQuery.  That said, you can see in my example that most things W3.JS can do can also be down in good ol' fashioned Vanilla JS.  JQuery has been a dependency for just about every web application for the past decade and change but what do you do if you inherit a web app that references an outdated version of JQuery that you can't simply replace?  This happened to me on my most recent web application project and I had to learn how to do most JQuery functions with regular JavaScript.  It really wasn't that hard, it liberated me from yet another external dependency and, dare I say it, some of it was kinda fun.  So try it yourself.  Even if you don't use it, you may discover something helpful to archive for later use.  Cheers!
Comment: This answer was longer than the w3.js source file =)
Answer:
W3.JS, which appears to be at least a partial attempt to compete with jQuery.

It does cover the same basic areas as jQuery. i.e. it is a generic library of DOM helper functions with added Ajax.

I was having trouble even finding information on it from anyone other than them.

That is because it is their library (taking their approach of "Slap W3 at the start of the name and hope people associate it with the W3C" to extremes) and practically nobody else is bothering with it.

W3Schools does appear to have at least some propensity to promote semi-abandonware as the next great thing. Is that what this is?

It does appear so, but that's speculating on the future.

Is this library actually used anywhere?

Nowhere major. Some people who are stumbling across W3Schools and making their first steps on the authoring for the WWW by learning from them are using it. Questions about it crop up on Stackoverflow from time to time.

Does anyone know its history (especially its release history)

The download page has some information.
It includes the rather unhelpful statement W3.JS is free to use. No license is necessary (which is exceptionally vague; free software licenses exist for a reason).
It also has a change log at the bottom.
There is no sign of a version control repository anywhere.

and if this is actually going to be developed into something that would actually be worth considering using?

Opinion, so no comment.
Answer: w3.js = tiny, powerful, intuitive
Looks like someone did what we all do every now and then: implement a smaller subset of a formerly existing useful framework and provide only those functions that 95% of the projects really use. That is,

Add/remove classes, styles, HTML elements
Ajax communication
Model-based HTML iterator (lists)

Also there's sorting which is very useful and straightforward: you take one look and use it right away. It just works. That's what I love about w3.js - that, and the size, which seems to be 13k uncompressed-unminified. I wouldn't even bother to minify it.
I'm absolutely a fan of jQuery; it changed the way we think, became a de facto standard, and for a reason. But today most of the Sizzle part is implemented in the browser itself so the main advantages are available without jQuery.
Answer: I'm not sure why you want to ask this question, exactly; if you are concerned that jQuery is somehow inadequate, don't be: jQuery is a brilliant library and it will continue to be a part of the JS community for a long, long time.
W3Schools markets themselves as an easy-to-pick-up resource for brand new programming students, hence the cheerful coloring scheme on their site and the simplified language used in their articles. They are probably trying to cater to users who feel intimidated by the complexity of jQuery. Whether this attempt will be successful though, I cannot tell.
Comment: *"I was wondering why they're even promoting this to begin with."* Sometimes people think they are creating the Next Big Thing, and they just aren't. Plenty of projects fail, and from what I can tell this particular library is headed down that path.
Comment: I'm actually content with jQuery - actually, that's one of the main reasons I was wondering why they're even promoting this to begin with. It doesn't seem to provide any major advantages over jQuery from what I was reading, and it's *certainly* a much less mature library. You do bring up an interesting point about them seemingly pushing this to people who are intimidated by jQuery.
Comment: It does seem like wishful thinking on their part if they think it'll become a major competitor to jQuery. Their site gives a few general advantages of using their library but they ignore the obvious question (why use it over jQuery?)
Answer: W3.js is a small, easy to troubleshoot helper library that has trimmed-back functionality. I use it in quick, toss-together apps because I find it easier to troubleshoot and document and it is easier to approach for people that are not familiar with jQuery's extensive feature set. It's kind of like a non-optimized, "culture-free" jQuery in that it depends very little on tribal/cultural knowledge to be easy to understand.
I don't see W3schools going anywhere, it's frequented by an endless supply of novice developers which seems to be the target for its w3.css and w3.js. If you do use it, I'd probably shy away from linking it in from their site/CDN. Probably best to have a local copy else risk your site becoming non-functional if/when the file become unavailable. I also wouldn't trust it in large-scale production applications just because as others have mentioned, it's likely not used enough by people that would notice problems with its code. I know I only use it for pet projects and honestly, I've never dug through the source. (I may now that I think about this though)


Do all UWP apps work on Windows 10 IoT?

Question: Is it possible to use all UWP apps on Windows 10 IoT.
Comment: IIRC no as there are some libs not available/supported on the Pi version.
Comment: Did you manage to solve your question or find any answer?
Comment: Hi - What is UWT app? Do you mean Windows Universal App (UWA)  Windows 8 API or Windows Universal Platform (UWP) for Window 10 API?
Comment: Hi, I meant UWP.
Answer: I want to say Yes
All UWP (Universal Windows Platform) applications are designed to run on all Windows 10 API compatible paltforms, including IoT.
But the fact you are asking about this, is scaring me because you may have a UWP that does not work on the 10IoT for some reason??

There are as of writing 3 different API's versions too.. you may need
  to use the correct OS with the correct API Level

UWP is made for the Windows 10 API ecosystem. UWP also runs on the XBox, Hololens, Surface hub, and "other" compatible OS's
As long as the compiled application is truly 100% Universal Platform then even graphical output will work on the Pi. Albeit the Pi does not have a HardDirectX driver yet and using soft translations.. which also means no h264 streaming. (May 2017) but neither do many other Linux distros

*More information can be found here
Answer: The short answer is NO.
The following are two reasons that readily come to mind about why a Universal Windows Application may not really be universal.

Completeness of Implementation:
UWP encompasses a set of universal framework which is designed such that applications can be ran on all platforms that support UWA (Universal Windows Apps). There are, however, varying degrees of 'completeness' of implementation of UWP. For example, UWP on Windows 10 IoT Core (the version for Raspberry Pi) does not support the FileOpenPicker and so UWP apps that use it (and other similar dialogs) cannot be expected to work properly.
Bridged Applications:
Likewise, if an existing WinForms or WPF application is converted to UWP using the Desktop Bridge with no further modifications, all the underlying calls remain the same with no calls to the universal ones provided by the UWP. These applications aren't true UWA. They are effectively Windows Desktop applications 'disguised' to appear to be UWA. Such applications will not work on platforms except Windows Desktop.

Do all UWP apps work on Windows 10 IoT?


Why are LCDs black?

Question: I had a question on LCDs after noticing something interesting about its color. LCDs are black when they aren't used. But when we observe LCDs closely, we see they are made up of red, green, and blue dots. Therefore, since they reflect red, green, and blue, collectively, an LCD screen should look white. So why does it look black?
Comment: possible duplicate of [When a color LCD/LED display is off it is black, when on it is colored. What color to light is an LCD/LED display](http://physics.stackexchange.com/q/23259/)
Answer: The vast majority of color LCD screens are transmissive in design. This means they require a backlight to provide (generally white) light that is then allowed to pass through the pixels on the screen. These pixels are turned from transmissive (i.e. clear) to opaque (i.e. dark) in order to create the display you see. Each pixel can be made to appear a specific color but instead of reflecting the color, as you said, the light is actually filtered by a colored section of the pixel. The pixels each have three sections, and each section can transmit one of the three colors. To make a pixel look red, the red section turns to transmit the backlight while the blue and green sections stay dark; resulting in only red light coming through.
The LCD screen is black when it is off simply because the backlight is also off. Try it at home: turn the brightness all the way down on your laptop or LCD desktop monitor. Then shine a flashlight at it. You should still be able to see the graphics, but the colors will not be as clear since now you are actually looking at reflected light instead of transmitted light.

Why are LCDs black?


Full Text Index type column is empty

Question: I am trying to create an index on a VarBinary(max) field in my SQL Server 2008 database.
The steps I am taking are as follows:
Table: dbo.Records

Right click on table and select "Full Text Index"
Then select "Define Index..."
I choose the primary key which is the PK of my table (field name Id, type UniqueIndentifier).
I then get the screen with the options Available Columns, Language for Word Breaker and Type Column
I select my VarBinary(max) field called Chart as the Available Column by ticking the box.
I select "English" as the Language for Word Breaker field.

Then... I try to select the Type Column but there are no entries in here. I cannot proceed by clicking "Next>" until this column is populated.
Why are there no entries in this column for selection and what should be in there?
Note 1: The VarBinary(max) field is linked to a file group if that makes any difference.
Note 2: Also noticed that in the table designer I cannot set the full text option on that same field to "Yes" - its permanently stuck on "No".
Thanks.
Answer: The type column is a column in the table that is being indexed.  It should contain the type of data that is in the VarBinary field.  That is doc, XML and so on.  Does that make sense?

Full Text Index type column is empty


Flying to Germany Alone, Return with Family

Question: Alright so I am flying to Germany alone and want to return with my spouse and daughter. They will need a return ticket back, how exactly can I book this online?
Comment: Why did you book a one way to Germany? Shouldn't you have got a return ticket? Because you are coming back to USA with them.
Comment: you want to go to germany and come back with your family; and your family wants to exit germany to your current country and return to germany afterwards? right?
Comment: Yes correct. I have already booked my one way to Germany. I am bringing them here for a few months (USA). They are going back, so is there a way to delete myself on the return ticket?
Comment: Yes Newton is right. You should have booked yourself a to and fro ticket and then another to and fro ticket for your family with the corresponding dates. In your current situation, you can book yourself a separate one way ticket now.
Answer: Normally, you would plan your itinerary thus:

Book a return ticket for you, the origin is your current location.
Book a return ticket for your family, the origin is Germany and the destination is your current location.

Next, make sure your return flight (from Germany) is the same as their departing flight.
However, as you have already booked your one-way to Germany, you would need to now:

Book a return flight for your family; Germany - Your Location - Germany.
Book yourself a one way ticket on the same flight; Germany - Your Location.
Comment: This, in many cases one way tickets are also much more expensive so you want to try and get as many returns as you can.


Switching between Image Sequence and Movie Clip for Compositing

Question: So I used an image sequence as a video and edited it using masks. However, I want to insead use a movie clip because I will be able to do more things with it.
However, when I replaced the image node with the movie clip node, the scale of the video was changed and all of my masks were misplaced. I don't want to go back frame by frame and change each mask, but I also don't want to render the current video (with the image sequence) because I want to be able to edit the masks if I wanted down the road.
With Image Sequence:

With Movie Clip:

the video seems larger, however I can't zoom out for some reason.
Also, the masks seem to be in the right place, but they do not render as such. I didn't move them or anything, they were automatically there when I put in the movie clip.

Any ideas?
Answer: Nevermind, found a workaround.
Just used a scale node on the image.


Why do the mother German shepherd eats her newborn puppies?

Question: I have a German shepherd pair. Female gave birth to 5 puppies very first time. But she ate 3 of her puppies and killed the other 2. Why did she eat her puppies? What should i do next time she gives birth?
Answer: Firstly I would get her Vet checked as it may be a medical problem, research calcium supplement for dogs during birth.
I would also consider not breeding her again if she has it in her to kill/eat the pups. It can be a hereditary trait, if you are going to do it again seriously do some research on calcium supplementing a whelping bitch, get her health tested and make sure she has all her nutritional and behavioural needs
Comment: It's not normally in any dog, I'm a veterinary Nurse and have experience with working with dog breeders. A lot of dogs will react badly if they aren't given calcium during whelping. Was she from a reputable registered breeder? If so the breeder should be mentoring you. If not maybe contact some reputable registered breeders and ask them to mentor you in breeding GSD. It's good to hear she's been to a vet but there's a lot to breeding that a general practise vet may not necessarily know. Reproductive veterinary care is a speciality. I hope I've helped :) let me know if you have more questions
Comment: she was in proper care during her gestation. I took her to vet after 2 weeks. If i talk about her behavior she is so friendly and jolly but we were really surprised and shocked with her behavior toward her puppies. Some people said its natural in German Shepherds  that they eats their own puppies


InnoDB: What does Data free mean?

Question: I have a pretty large Mysql table, over 25GB. When extracting an overview with Table Inspector in MySQL Workbench, I noticed the field Data Free Because the textfields are not selectable, I'm posting a picture of it. Does it mean some sort of reserved space? Or is it actually free space due to a size limit? Or something else?
Answer: What does "Data_free" mean?  Not much.  Seriously, there are several areas in a table where there is "free space"; Data_free refers to only one of them:

An InnoDB block is exactly 16KB; there is almost always some wasted space in a block.
A block in a BTree is normally between 50% and 100% full.
Groups of blocks ("extents") are allocated in chunks of 8MB(?).  Your 7MiB is part of one such extent.  You will very often see 4, 5, 6, or 7, in spite of the main allocation unit being 16KB.
If you are talking about the main tablespace (ibdata1), Data_free refers to how much space is "free" in it; this is usually a large number.

If you were to OPTIMIZE TABLE, the table might, or might not, shrink from the current 25.6 GiB; it could even increase!  The 7.0 MiB would probably stay 7, or might change to 4 or 5 or 6.
"Does it mean some sort of reserved space?" -- Partially a fluke of the way it allocates space.  But mostly it is a useless number.  If it is bigger than 7 MiB, then there is likely to be some space that could be given back to the OS with OPTIMIZE -- _assuming it is file_per_table.  But don't use OPTIMIZE unless you have both file_per_table and Data_free is a significant fraction of the table size.  (This may occur after a big DELETE.)
"Or is it actually free space due to a size limit?" -- Tables under some threshold are allocated 16KB at a time; over that threshhold, they are allocated 8MB at a time.
Comment: Is there a way to find out the number of extents (group of blocks) that are in a chunk?
I am asking because i need to [delete records from a table with 100 million rows](https://stackoverflow.com/questions/68189769/).  The goal is to be able to fast delete records older than 4 months.
Comment: @surfmuggle - 8M/16K = 512.  The link points to a Question that you deleted.  Partitioning is optimal for deleting "old" data; walking through (via the PK) in chunks of 1000 rows may be second best.  You have seen [_my deletion discussion_](http://mysql.rjweb.org/doc.php/deletebig)
Comment: Thanks for pointing to your blog post. My trouble is that i do not know what needs to be done before any actions are taken. My question is kind of broad and therefore i assume it is not a good fit for SO. I posted it here https://dba.stackexchange.com/questions/295009/ but am still unsure if it is good fit because of the broad nature of the question.
Comment: Each "Partition" in a "table" is effectively a "table".  That is, `DROP PARTITION` is quite efficient at freeing the disk space.  The discussion of "extents" is mostly irrelevant.

InnoDB: What does Data free mean?


Why does Angular 2 use the .ts file extension?

Question: Why is the .ts file extension used in Angular 2?
Comment: https://angular.io/docs/ts/latest/quickstart.html Everything you need is explained here (Typescript configuration, transpiling logic, etc).
Answer: The .ts extension is used by TypeScript. Angular 2 does not really use the .ts extension. The code produced by the TypeScript compiler will be JavaScript with the .js extension. You can also use Dart as a development language that will still produce JavaScript code. If you feel like avoiding TypeScript or Dart, you can use plain JavaScript for developing Angular 2 applications.
With TypeScript you get some options that are not available to you in plain JavaScript. The definition of TypeScript from its web site is:

TypeScript is a typed superset of JavaScript that compiles to plain JavaScript

To lean more about TypeScript visit its web site.
Comment: You can create classes like in C# or Java which are then transpiled into JavaScript. You also get static type checking, any many other language features that can help you organize and produce better and more maintainable code.
Comment: Thank you for the answer. Which kind of advantages can I get using typescript ? (the options you're mentioning)
Answer: Angular 2 has the option to use multiple languages.
Languages are:

JavaScript which uses .js extension (ES5 & ES6)
TypeScript which uses .ts extension
Dart which uses .dart extension
Comment: It's kind of messy.
Answer: 1) TypeScript - the biggest advantage point is its tooling set: auto completion, refactoring etc.

It helps large scale refactoring of projects risk free and easy, cost
  free.

2) TypeScript is a super set of JavaScript. So the advantage with this point is

Easy, efficient migration with less re-write.

3) Abstractions in TypeScript.

Loose coupling.
JavaScript doesn't support interfaces and it is difficult to set the
boundaries where in the developers start depending on the concrete
types instead of abstract types which leads to tight coupling.
Interfaces helps us to define API boundaries, reuse and nice code
structure.

4) Last but not least, TypeScript provides you a lot without compromising the JavaScript ecosystem.
Answer: Because it was written on TypeScript, which is superset of JavaScript language. It is default language for development Angular2 application. But you still can use ES2015 (new version of JavaScript aka ES6) and Dart language.
Answer: You can write your Angular 2 application in ES5, EcmaScript 2015 or TypeScript.
But the framework lends itself best to TypeScript.
TypeScript is a typed super set of JavaScript which has been built and maintained by Microsoft and chosen by the AngularJS team for development. The presence of types makes the code written in TypeScript less prone to run-time errors. In recent times, the support for ES6 has been greatly improved and a few features from ES7 have been added as well.
if you choose TypeScript to write code for your angular2 applications,then its  uses .ts extension to save the file.


Conception of duty based on utility as opposed to specific actions

Question: I'm curious as to whether there exists a deontological system of morality where duties can be satisfied by providing the person to whom a duty is owed with something else that provides them with an equivalent amount of utility. The difference between this system and utilitarianism is that utilitarianism allows you to tradeoff utility across people, instead of just for a particular person. Is there a name for such a system of morality?
Answer: Kant actually has such a feature in his moral system: it's called imperfect duty.
Kant specifies two: Your Own improvement and Helping Others.
In both cases, the means of fulfillment are not specified but that you have a duty to help others is specified. Similarly, you as a rational being in need of the developed aid of others have an obligation to improve your abilities. But this does not decided which abilities you must improve.
There may be one inadequacy to what you are looking for insofar as the obligation is not attached to a specific person.

In moral theory, I would guess the closest we come to what you are describing would be promises with implicit alternate fulfillment conditions. E.g.,

I promised I would bring apples but I brought pears instead.

Depending on the conditions surrounding the promise, this would count as fulfillment because my obligation was to bring a healthy snack -- not specifically apples which served as a stand-in.
The same sort of thing also happens in second-order rights talk.


third stable homotopy group of spheres via geometry?

Question: It is ''well-known'' that the third stable homotopy group of spheres is cyclic of order $24$. It is also ''well-known'' that the quaternionic Hopf map $\nu:S^7 \to S^4$, an $S^3$-bundle, suspends to a generator of $\pi_8 (S^5)=\pi_{3}^{st}$. It is even better known that the complex Hopf map $\eta:S^3 \to S^2$ suspends to a generator of $\pi_4 (S^3) = \pi_{1}^{st} = Z/2$. For this, there is a reasonably elementary argument, see e.g. Bredon, Topology and Geometry, page 465 f:

By the long exact sequence, $\pi_3 (S^2)=Z$, generated by $\eta$.
By Freudenthal, $\pi_3 (S^2) \to \pi_4 (S^3) = \pi_{1}^{st}$ is surjective.
Because $Sq^2: H^2(CP^2;F_2) \to H^4(CP^2;F_2)$ is nonzero, the order of $\eta$ in $\pi_{1}^{st}$ is at least $2$ (the relation between these things is that $\eta$ is the attaching map for the $4$-cell of $CP^2$).
By a direct construction, $2\eta$ is stably nullhomotopic. Essentially, $\eta g = r \eta$, where $r,g$ are the complex conjugations on $S^2=CP^1$ and $S^3 \subset C^2$. $g$ is homotopic to the identity, $\eta=r\eta$. The degree of $r$ is $-1$, so after suspension (but not before), composition with $r$ becomes taking the additive inverse. Therefore $\eta=-\eta$ in the stable stem.

My question is whether one can mimick substantial parts of this argument for $\nu$. Here is what I already know and what not:

There is a short exact sequence $0 \to Z \to \pi_7 (S^4) \to \pi_6 (S^3) \to 0$ that can be split by the Hopf invariant. Thus $\nu$ generates a free summand.
is the same argument as for $\eta$.
using the Steenrod operations mod $2$ and mod $3$ on $HP^2$, I can see that the order of $\nu$ in $\pi_{3}^{st}$ is at least $6$.
this is a complete mystery to me and certainly to others-:)). How can I bring $24$ in via geometry? How do I relate the quaternions and $24$? What one sees immediately is that one has to be careful when talking about conjugations in the quaternionic setting, in order to avoid proving the false result ''$2 \nu=0 \in \pi_{3}^{st}$''.

I know that this result goes back to Serre, but I cannot find a detailed computation in his papers and it seems that the calculation using the Postnikov-tower and the  Serre spectral sequence is a bit lengthy. There are three other approaches I know but they are much less elementary:
Adams spectral sequence, J-homomorphism (enough to show that the order of $\nu$ is $24$), framed bordism (supported by things like Rochlin's theorem and Hirzebruch's signature formula).
Any idea? P.S.: if there is a similar argument for the octonionic Hopf fibration $S^{15} \to S^8$ (the stable order is 240), that would be really great.
Comment: The stable order of $\sigma$ is 240, see http://www.math.cornell.edu/~hatcher/stemfigs/stems.html
Comment: In step 1 for $S^7$, shouldn't the 0 on the left of the short exact sequence be a $\mathbb Z/2$? It's $\pi_7(S^3)$ which, according to Hatcher's table on p. 339 of his book, is $\mathbb Z/2$... And then $\pi_7(S^4)$ is $\mathbb Z \times \mathbb Z/12$, not $\mathbb Z \times \mathbb Z/2$ as you claim...
Comment: $\pi_7(S^4)$ is indeed $\mathbb{Z} \times \mathbb{Z}/12$, according to [Wikipedia](https://en.wikipedia.org/wiki/Homotopy_groups_of_spheres#Table_of_homotopy_groups).
Answer: You said you don't want to talk about framed manifolds, but that's a good way of seeing the 24. $\nu$ is represented by $SU(2)$ in its invariant framing. Take a K3 surface. It's framed, and it has Euler characteristic 24. Take a vector field that has 24 isolated zeroes of index 1. If you cut out a little disk around each of these 24 zeroes, the boundary will be an $S^3 = SU(2)$ with its invariant framing. So the K3 surface minus these 24 little disks is a null-bordism of $24\nu$. Probably not suitable for your course, as you would have to explain framed bordism and K3 surfaces, but cute nonetheless I think. By the way, the analog for $\eta$ is the two-sphere (Euler characteristic 2).
Comment: @ Oscar. "framed" in the context of $\pi_n^s$   is (usually) short for "stably framed", and so the Euler characteristic doesn't obstruct, e.g. $S^2$ is stably framed.
@Johannes's. Apply your comment to the perpendicular bundle to the given nowhere-zero section. Note $w_2$ is zero for that bundle, so obstruction theory gives you three more sections, unique because  K3-24pts  is simply connected. But I don't see what makes K3 different from    $S^4$ or $S^2\times S^2$ here.  There has to be a further reason why for $K3$ the framing restricts to the Lie group framing on the boundary $S^3$s.
Comment: I think it was forgotten to mention that K3 is spin. Therefore, if you delete one point from K3, you get something homotopic to a 3-dimensional CW complex and since BSpin(4) is 3-connected, TK3 is trivial away from that point.
Comment: Paul's question still holds: why is K3 framed away from 24 points? (equivalently: why is K3 framed away from one point?) Is it just by obstruction theory, or is there also a geometric way of seeing this?
Comment: Of course, the K3 surface is not framed, or its Euler characteristic would be 0. But it does admit a framing away from 24 points.
Comment: There is one question arising from Tilmans answer that I cannot answer by myself so easily:
If I take a single vector field with 24 isolated zeroes, why exactly does it give me a framing on the nonzero-locus?
Comment: I'm probably missing the point, but why is the K3 surface framed? Its signature is -16 so its Pontryagin number is non-zero.
Comment: This is reminiscent of how the generic elliptic fibration of a complex surface has number of singular fibers equal to its Euler characteristic, and hence of how the generic elliptic fibration of K3 has precisely 24 singular fibers. Maybe this analogy is substantiated by considerations in algebraic cobordism theory?
Answer: This is really a comment try to make clear the point Tilman was trying to make
but it is too long.
A K3 surface has trivial canonical bundle (after all that and simple connectivity is the definition) and hence the bundle
of self dual two forms is trivial (since on a complex surface
we have $\Lambda^+= \Lambda^{2,0} \oplus R \omega$, $\omega$ being the Kahler form). In fact is follows from Yau's theorem that K3 surfaces admit hyperkahler metrics so there
is a metric where the Levi-Civita connection is trivial on $\Lambda^+$.
Two forms act on vector fields on a four-manifold via contraction then duality under this actions self-dual forms act like imaginary quaternions (so quaternions do figure in the story).  Thus taking a orthonormal basis of self-dual forms $\omega_1,\omega_2,\omega_3$ and your vector field $X$ you
get a framing (not stable) away from the zeros of $X$,
by looking at $(X,(\iota_X \omega_1)^*,(\iota_X \omega_2)^*,(\iota_X \omega_3)^*)$.
Then arrange that the vector field is pointing out around each little 3-sphere surrounding a zero
then you see that the induced framing of each little sphere is the Lie-group framing. If each zero of the vector field is a source then there are 24 zeroes (that is the Euler characteristic of a K3).
I believe this observation is due to Atiyah.
Comment: I upvoted this so you'd have the right number :-)
Answer: There is a "half-geometric" observation that since
$$
\pi_3^s\cong H_3(\tilde A_N),\ N\gg0
$$
where $\tilde A_N$ is the universal central extension of the $N$th alternating group, elements of $\pi_3^s$ might be described by certain 3-cycles (hopefully of geometric origin).
Seemingly this geometry is easier to discern after the embedding $\tilde A_N\hookrightarrow\mathrm{St}_N(\mathbb Z)$ into the Steinberg group of the integers.
(For a ring $R$, the group $\mathrm{St}_N(R)$ is the universal central extension of $\mathrm E_N(R)$ - the group which for most decent rings is the same as $\mathrm{SL}_N(R)$; one has $K_3(R)\cong H_3(\mathrm{St}(R))$ which in good cases stabilizes after some $\mathrm{St}_N(R)$.)
In "The generalized Grassmann invariant" (late 70ies) K. Igusa introduced technique of pictures to construct a homomorphism
$$
\chi:K_3(\mathbb Z[\pi])\to H_0(\pi;\mathbb F_2[\pi]);
$$
in his own words, "The definition of $\chi$ comes from very intuitive geometric considerations, but unfortunately the algebraic analogue is rather clumsy."
Anyway geometry is still there as this map is strongly related to pseudoisotopy of compact manifolds (with $\pi_1=\pi$ and $\pi_2=0$). The image of $\pi_3^s(B\pi_+)\to K_3(\mathbb Z[\pi])$ is in the kernel of $\chi$, and for trivial $\pi$ all this enabled him to detect an element of order 48 in $K_3(\mathbb Z)$; $\pi_3^s$ is a subgroup of index 2 there. His picture representing a generator of $K_3(\mathbb Z)$

has been haunting me for decades. It shows something like "$1/2$ of the generator of $\pi_3^s$ living outside $\tilde A_N\hookrightarrow\mathrm{St}_N(\mathbb Z)$" and there surely must be something simpler which represents the generator of $\pi_3^s$ inside $\tilde A_N$ itself. This should not be that difficult as $\tilde A_N$ comes equipped with a very explicit and nice embedding into $\mathrm{Spin}(N)$...
Answer: Not an answer, but a cute thing that might be relevant for your question:

Here's another nice way of seeing that $\eta$ is stably of order two.
We use the Thom-Pontryagin constuction to identify $\pi_3(S^2)$ with the cobordism group of framed 1-manifolds in $\mathbb R^3$ (the framing is on the 2-dimensional normal bundle).
The element $\eta$ corresponds to the unknot, with a framing that ``twists once''.
We consider the following two elements of $\pi_3(S^2)$
$$
S^3\hspace{.2cm}\xrightarrow{\cdot 2}\hspace{.2cm}S^3\hspace{.2cm}\xrightarrow{\eta}\hspace{.2cm}S^2
$$
and
$$
S^3\hspace{.2cm}\xrightarrow{\eta}\hspace{.2cm}S^2\hspace{.2cm}\xrightarrow{\cdot 2}\hspace{.2cm}S^2
$$
The first element corresponds to the disjoint union of two unknots, each one with a framing that "twists once". It is cobordant to the unknot with a framing that "twists twice", and represents the element $2\in \pi_3(S^2)\cong \mathbb Z$.
The second element represents the two-fold cabling of the unknot: this is the Hopf link.
Eah one of the two circles has a framing that "twists once", but they are also linked to each other. With an explicit cobordism, one can show that this framed link is framed-cobordant to the unknot with a framing that "twists 4 times". It therefore represents the element $4\in \pi_3(S^2)\cong \mathbb Z$.
Now, the stable homotopy groups of spheres form a ring in which the integer multiples of the unit are central (!). So, from the equation $2\circ \eta=\eta\circ 4$ we can deduce that $2\eta=0$ stably.
Answer: I am sorry to repeat a selfpromoting text I metioned  at some other place of MO, but my paper below is addressed precisley to the computation of $\pi(3)$ by geometry (immersion theory).
http://link.springer.com/journal/10958/113/6/page/1
The paper: A. Szűcs: Two theorems of Rokhlin. This gives the computation of π(3) by elementary tools.
But it uses the following non-trivial fact: The 3-dimensional spin cobordism group is trivial.
You can read a proof of this latter in the same issue in the paper by A. Stipsicz.
But a more simple proof for this is in:
Melvin, P.; Kazez, W. 3-dimensional bordism. Michigan Math. J. 36 (1989), no. 2, 251–260.
Comment: Thank you Chris! Lemma 1.4 by now has a simple proof in the paper (mentioned in the introduction) by Rourke - Sanderson. (This is the so called Compression theorem. Actually I think its proof can be even further simplified), The first paragraph of the paper aims to answer that type of quite understandable worry, that you also had.
Comment: I really like your account. Thank you for linking to it! I do have a lingering question. Does your argument also use something like Smale's theorem on immersions? (which I think could be considered quite "non-elementary") or can you get by with a more elementary argument? For example I am worried about the proof of the key Lma 1.4 where you refer to "Hirsch theory".
Answer: Expanding upon Andre Henriques's answer, $\pi_3^s(P^\infty) \cong {\mathbb Z}/8$. The homotopy group is isomorphic to the cobordism group of non-orientable surfaces in 3-space.  Boy's surface is a generator. See also  Tony Phillips's movie.
The Froisart-Morin eversion of a $2$-sphere can be capped off at either end to give an immersed $3$-sphere in $4$-space. It has one quadruple point, a closed curve of triple points, and its double point set is a non-orientable surface (connected sum of 3 projective planes. By combining results of Koschorke from about 1979-1982, one can see that the multiple point invariants (Kahn-Priddy maps) give that this sphere is a generator of the ${\mathbb Z}/(24)$. Also, Koschorke's figure-8 construction applied to Boy's surface coincides with a map on stable homotopy that maps the ${\mathbb Z}/(8)$ injectively to the ${\mathbb Z}/(24)$.
An alternate view of the generator of $\pi^s_2$ is to take an immersed generic projection of the standard (tropical) torus from $4$-space into $3$-space. I have played with this in mathematica, linear projections yield surfaces with 4 branch points, so the torus has to be perturbed in $4$-space before projecting. If you take a figure 8, multiply it by an interval, and then put a full twist in it, you get the mod-2 generator. The belt trick undoes two full-twists.


Is there any way to automatically link in-text citation to individual references on the reference list?

Question: I have an article with in-text citations and list of references. I have not used any of reference managers, just used word.
Is there any way to automatically link in-text citation to individual references on the reference list?
Comment: As above, I don't know of a way to do this with Word, but if you use LaTeX, this can be done by including the [hyperref](http://en.wikibooks.org/wiki/LaTeX/Hyperlinks#Hyperref) package.
Comment: I'm not sure how to do this in word but PDF LaTex outputs can do this quite easily.
Comment: @CTKlein and Mangara: no, there would be the exact same problem with LaTeX if I understand correctly, and it cannot be solved automatically. If I read well, the OP has written citations in text form "[Knuth, 85]", not "\cite{Knuth85}", and wants to convert them automatically to the latter (or an equivalent version with Word).
Comment: After reading @FedericoPoloni's comment to my answer, I am wondering if I misread the question. Do you want to do this for future documents or you want a way to scan existing text and auto-generate references for them. Please clarify because I think one and it seems at least one person thinks something else.
Comment: This solution works in Word 2010. Other versions may have different mechanisms. Move the cursor to your literature reference. Go to the "Insert" tab, click "Bookmark" in the "Links" group - now you have a bookmark for this particular reference. Then mark your in-text citation, go again to "Insert" and click on "Cross-reference" in the "Links" group. You'll get a dialog where you can link to the bookmark you previously established. Unfortunately, you'd have to do all this manually, no automation there... I guess you would need to use a ref manager or LaTeX with hyperref.
Comment: In any case, @user92953, please edit the question and be more explicit or add an example. It is difficult to understand your exact problem. What do you mean by "link" for instance?
Answer: Yes. It is quite easy to do, once you know how.
First, go to the References tab, then click on Insert Citation and Add New Source.

Next, fill out the information as appropriate.

When you want your References List produced, go to Bibliography.

This is extremely helpful when you need to change some detail (say publication date) and you have many citations to the same material. Change it in one place and Word will update all of the in-text citations as well as the references list.
Comment: @FedericoPoloni They are asking how to automatically add a link to a reference. In order to do this, it might be necessary to extract the document's title using a [citation parser](https://www.google.com/search?q=%22citation+parser%22).
Comment: I don't think this is what the OP asked for (see my comment to the question).
Answer: Highlight the link, right click, click "Link", Make sure you select the tab on the right that says "Existing File or Web Page" then click OK.


Word between young and old

Question: I'd like to know an adjective to describe age between young and old. I know middle age is such a word, but it is a noun phrase. Is there an adjective for it?
Comment: Middle-aged is an adjective.
Answer: Middle-aged functions as an adjective.
You could also call the individual by the name of his/her generation (millennial, baby boomer, etc.). There are also technical names for people in their twenties, thirties, and so on. But these names are uncommon.
You could also communicate the age of the individual by describing him/her with the key characteristics of most middle-aged people: gray-speckled, beer-bellied, double-chinned, stubble-ridden, white-sneakered, etc.
Answer: These might work depending on the context:

mature
seasoned
ripened
developed
grown-up
Answer: I'd suggest "prime age", and here prime is an adjective.
Young age has no precise perception. It could be the infant stage, or one's adolescence. So it is a wide range of ages, unlike old age which is a considerably lesser range. Prime age is the age where one is usually at the peaks of their career. It also can be seen as a wide range, but definitely prime age is when one is older than what would be considered young. It could be from 25 years to 50.

Word between young and old


Increasing User Changes/Requirements in Agile Methodology

Question: My question is quite simple. How to handle a situation where the team is applying agile methodology in software projects and there so many iterations and change in requirements, that the schedule is highly affected? Plus you have your manager who is always wanting things to get done within schedule and it is something you cannot control?
Comment: Isn't this the problem with waterfall that Agile was supposed to fix?
Answer: It sounds like your manager does not really buy into Agile, but rather tries to put an Agile peg into a 'fixed date' mould.
You can run an Agile project with a fixed end-date, but then all parties should understand that you will just deliver whatever features you have completed up to the end date. You can not agree to both a date and a feature set beforehand and then allow the customer to make changes at will without consequences to the final delivery.
One way you could combine an Agile development team with a fixed-date project is to have a strong, in-house, product owner who carefully protects the project scope and keeps the change-request negotiations with the real customer away from the development team. The product owner is then the responsible for avoiding missing the deadline due to scope creep.
This assumes that the original schedule was realistic in the first place.
Comment: @Bat_Programmer: Of course, if the contract states "make whatever the customer wants and deliver it all on September 1st", then you are doomed to start with, with no possibility of rescue.
Comment: thanks for your views and I really agree with them. However in my case, I would like to add that the developers do all liaison with users and also develop systems and are expected to deliver project on a specified deadline.
Comment: @Bat_Programmer: Programmers can liaise with the customer to get clarification on what needs to be made, but there should be someone who monitors the project's scope and has sufficient authority to remind the customer that scope changes aren't for free. In my view, an internal product owner has the best position to take that on.
Comment: +1 for pointing out practical solutions to 'unpure' approaches, though with the general feel that they're unlikely to succeed.
Answer: Unfortunately, the situation you find yourself in is probably one of the most common. Agile is gaining adoption in many markets due to buzz, and not because of understanding.  The same old problems still exist:  desire for fixed scope, fixed date, and fixed cost.  If the iron triangle is fixed, no development process is going to save you.
When you encounter the iron triangle, a compromise will need to be made with the client.  In your case, your client might be your manager.  The client needs to choose from the following (or a balance of all of them):

Scope adjustment. Drop some features to allow for room for changes.  Some changes to already-delivered features are indeed more important to make then building new features that might still be in your backlog.  Your Product Owner (or whomever is helping determine priority) can work this out with the client so they don't ask for a change and lose a feature they actually wanted more, or vice versa.
Schedule adjustment.  Allow for a later delivery date, or allow for multiple delivery dates where an initial set of features is delivered on time and then the team delivers a second release with the new scope at a later date.  Is it okay to deliver on date and have that change 2 weeks later?  This is iterative development, so things should be able to be continuously delivered in many scenarios.
Budget adjustment. This is probably the hardest to do, as most clients have fixed budgets for projects.  If the date is really important (go-to-market plans are in place and missing the date is not an option) and the scope cannot be reduced to fit into the timeline, you can use a request for additional budget to increase the size of your team to allow you to do more within a given iteration.

The most important piece is that the client needs to understand the impact of what they are asking for.  When they ask for a change, they are either losing a feature, missing the date, or increasing the cost of the project.   Making sure the client understands the impact of their request is paramount, and one of the reasons that you really need somebody playing the role of Product Owner with the client in order to keep the expectations set.
In your case, your team needs a team lead that interfaces with your manager and is having these discussions with them about the impact.  Your manager doesn't want you to fail either, but sometimes it is just a lack of understanding somewhere along the chain.  It's possible your manager might have somebody coming down on them about the schedule, so giving your manager ammunition to go back up the chain and fight for more time, budget, or scope reductions will help them and you.
Comment: Good answer, but increasing budget gets you into the problem that starts *The Mythical Man Month*: adding people to a late project just makes it later.
Comment: There is definitely a limit to what you can do with budget increases.  If you spin up a second team to do a lot of work, you then need increased overhead to get the two teams integrating together.  If you just add budget for overtime from the existing team, you minimize how much extra you can do and tend to get your team burned out.  As with anything, moderation is key.
Comment: @parsifal Yes, adding more people is bad near the end of a project. But earlier on, its fine. And managers underestimate how much is left to go. http://www.stevemcconnell.com/ieeesoftware/eic08.htm
Answer: If you truly have a fixed schedule for completing a project, you need to use a process that is less agile.
If your timeline is fixed, the requirements (aka features, user stories) also need to be fixed, or at least fixed in size. To meet a fixed schedule, you need to lean more towards "following a plan" rather than "responding to change".
You need to have change management: if someone requests more features, the managers need to decide how to accommodate the request without lengthening the schedule. Jay's answer lays out the scope/schedule/budget trade-offs of traditional project management.
My experience is that there are often not good options for paying money to get more features within a limited timeframe. In that case, the choices come down to

Reject the new feature
Cancel another less important feature to make room for the new feature
Accept a cheaper implementation of certain features. (example: The quarterly sales figures are displayed as text, but not in an interactive 3d barchart)
Answer: The problem is that software development is done and managed by people and people (especially management people) don't like to say no to the client because saying no is hard. Oddly clients tend to accept it better than people think they will. In their hearts, they know that new features will take time and cost money, but they have been trained to think they can ask for the moon by people who will work 90 hours a week to accommodate requests that should have been put off until later.
Whether you are doing agile or waterfall is irrelevant, the problem is the person who is communicating with the client doesn't have the guts to tell him the truth. If you ask for new features, they will cost $X more and take X more hours to do and the deadline will move.
The best you can do is push back when it happens with a new cost estimate, a new estimate of the hours to do the work and a new deadline or a suggestion that the new feature be included in the next iteration or a suggestion of what will be dropped to make room for the new feature. This needs to happen in writing and it needs to happen every single time that scope creep happens.
As a developer, when you are asked to add a new feature, you point out the features in this iteration that are not yet started or mostly incomplete (You don't want him to eliminate a completed one or one that is almost ready) and then ask which one he wants you to eliminate to accommodate the new feature or what the new deadline is. Never accept more work without either a change in deadline or other unfinished work being moved to a future iteration. However, this will only work if you get eveyone on board with it. One person accepting this type if scope creep will undermine the rest of you. One time of accepting that simple-to-make change will undermine your chances of pushing a complex change further down the road. You and your co-workers need to be disciplined about this.


How can I make a reliable piston door?

Question: My friend has a "empires" world and my castle is located on the water. I need a piston door that a boat can fit through with out breaking. Currently, I use a 2x2 piston door. (keep in mind the boat has two blocks of clearance) The door is too small to have a boat safely sail through. Any ideas on how to make a reliable door? (not mentioned before, boats are the #1 thing to use in travel and trade, and there are few safe ways to put down a secure mine cart track) Extra: boats have a mind of their own at points, turning the exact wrong way you want them to.
Comment: @Unionhawk It is a challenge! My friend accually threatened to raid my city if I dont fix the door!
Comment: To work with a boat without breaking it is a challenge in itself...
Answer: One easy(ish) solution is to use a sand door. You can make them as wide as you would like, and about 3 high.
Here's one design that should work with the XBOX edition:

If you want to do some searching, what you want is a tileable triple piston extender for Minecraft 1.0.1. Or, if you only need it to be 2 high, then you only need a double piston extender, which is quite an easy design.
Comment: I need a piston door that people (my friends that live in my city) CANT break with their fist. I need a door that uses pistons and stone brick.
Comment: Easyish? Man I suck...
Comment: I will admit, I've not done redstone on XBOX, so, I can't really say how easy exactly it would be.

As for your break with fists problem... I'm going to think about that one. And search long for a larger than 2x2 door for 1.0.1. Maybe a full blown portcullis (castle gate) would work? It would still be semi-easily broken, but not quite as easily as sand.
Answer: Here is a photo of a very compact 3x3 piston door
P.S.:be sure to place obsidian on the bottom of the pistons. Also set all repeaters to 4 ticks
Comment: Not really anti-fist. Slime blocks break easily

How can I make a reliable piston door?


Fusion 360 animation , contact sets

Question: I was designing a whit-worth quick return mechanism, I have provided the contact sets but they fail when I try to animate. The contact set is defined for the crank and slotted link.
Answer: I'm afraid joints created in the editor don't transfer to the Animation module. You have to animate the components again.
Answer: Why are you using a contact set and not joints?   The common advice is to try to avoid contact sets since they are computationally expensive. Only use them in certain situations like proofing or fine tuning a contact.
If this is still relevant, can you share the design so it's easier to help?

Fusion 360 animation , contact sets


Can you stack voltage regs for higher voltage?

Question: Can I stack these on top of each other http://www.ti.com/product/TPS7A47/datasheet without degrading AC performance? Will the output impedance of the lower ones affect the output impedance of the higher ones since they are serving as the new ground connection or does it not matter because it is an active circuit?
Like this
Comment: Often it is better to use a zener diode on the ground pin. Connect a 1 K (per volt) resistor from ground pin to output so zener is always biased, and output has a minimal load.
Comment: AC performance? Those are DC linear regulators.
Comment: The output of that device is limited to one volt below the input, so stacking them would produce a lower voltage.
Comment: Updated my question for clarity.
Comment: But how does this affect the output impedance vs frequency of the regulator? In a passive filter the impedance to ground is the impedance of the regulation. Does this apply in any way here? Doing this will be pointless if I lose performance.
Comment: A schematic of what you are trying to do would be helpful.
Comment: I'm trying to regulate the power supply of an audio circuit that is above the voltage rating of the regulator IC I want to use. Which is why I want to know if stacking regs affects the performance as shown in the datasheet.
Comment: Buy a LM317 IC and a trim pot and get past this.
Comment: I don't want to use an LM317. Can someone just answer my question directly please? Does stacking voltage regulators effect output impedance or not?
Comment: What's the end goal? To get higher voltage rating?
Answer: Cascoded (stacked) circuits are not something unheard of. Here is an example from Texas Instruments,

However, to have a stable (elevated) ground for the upper regulator U2, the bottom regulator U1 should be able to source AND sink the current, which is not the case with TPS7A47 nor LM1084.
Good thing is that the ground current for TPS7A47 is no more than 1 mA, so you might want to load the U1 with more than 1 mA extra load, so you will have some regulated output both ways. Obviously you would need proper load capacitance on U1 and U2.
Obviously the output noise will likely go up 40%, because the noise of U1 will be added. Also you might have overall stability issues, due to modifications to loop transfer function due to extra impedance in ground point. Here is one example when this kind of circuit was not successful.
The concept of "output impedance" is not used in LDO regulator technology, so you would need to look for quality of regulation (ripple rejection, load transient response, etc.) I don't think they will be affected much if the overall circuit will be stable.
Answer:
Can I stack these on top of each other without degrading AC
  performance?

Consider the regulator at the top of the stack. It will naturally pass a small current through its GND connection. This can be tens of uA to a few mA (like the LM78xx type). For your regulator the GND current is 0.5 mA to 6 mA typically so it is significant.
This type of regulator also cannot prevent its output voltage rising if there is a load connected to a higher voltage and this is the case with the regulator at the bottom of the stack. The upper regulator is pushing 0.5 mA to 6 mA into the lower regulator's output and this will cause problems unless the lower regulator has a load resistor fitted to ground that can balance this current out. So you need a balancing resistor: -

Will the output impedance of the lower ones affect the output
  impedance of the higher ones since they are serving as the new ground
  connection or does it not matter because it is an active circuit?

Yes, the output voltage at the top of the stack is affected by the stability of output voltages at the bottom of the stack. In my words above I gave the solution for the DC scenario but, for AC scenarios you have to live with this problem and ensure output capacitors (and balancing resistor) are all present.
Answer:
I'm trying to regulate the power supply of an audio circuit that is above the voltage rating of the regulator IC I want to use.

Be careful about voltages during turn-on and turn-off. For example, this is a 7805 sitting on top of a zener, which turns it into a 7815 which can take 10 more volts at the input.

simulate this circuit – Schematic created using CircuitLab
However, if the output caps are large enough, at power-on, the input voltage will rise faster than the output voltage, and the max rating of the regulator will be exceeded. Also in case of output short circuit, the max voltage rating will be exceeded, so the regulator's internal protections no longer work.
This schematic is better:

simulate this circuit
Here a very simple BJT/Zener pre-regulator brings the voltage down.
Regulator input/output caps depend on reg's datasheet. R1 should have proper value to give Q1 enough base current (you can also use a darlington or a MOSFET).
Filtering the zener reference with a cap isn't necessary, but it'll give you a bit of extra HF PSRR. Global PSRR will be improved by 20-30dB relative to the original regulator, as Q1 will filter the input voltage.
Output impedance, noise and other characteristics like load response will be the same as your regulator.
Also this splits the dissipation in two. You should try to set the zener voltage for equal dissipation in transistor and regulator. The same amount of power dissipated in two components is easier to get rid of than in one component (you get 2x the area of silpad).
The regulator's internal protections still work and will protect Q1.
But if voltage allows, you can use a LM317HV, it's the simplest option.
Comment: 2N3904?  Sounds a bit whimpy.
Comment: I put D44H11 in the part number! argh, I'll edit it.
Comment: I think you put it in the component designator field. :)


One DB per developer or not?

Question: In a corporate development environment writing mostly administrative software, should every developer use their own database instance, or should they use a central database instance during development? What are the advantages and disadvantages of each approach? What about other environments and other products?
Comment: That entirely depends on what you're developing, honestly.

Is it a DB schema for a product? Is it for holding "dummy" data while testing?

More info will definitely be needed to answer this question well :)
Comment: The question could also be "One DB per new feature?" - if more than one developer wants to contribute to the same change set, it is more efficient to have a 'central' instance dedicated to this feature request. This also has the advantage that a developer can contribute to two ore more features at the same time, but keeping them in separate databases.
Answer: If you all share the same database, you might have some issues if someone make a structure change to the database and that the code is not "Synchronized" with it.
I highly recommend one DB per developer for the only reason that you don't want to do "write" test to see someone else override you right after. A simple exemple? You try to display product for a website. Everything works until all the products disappear. Problem? Another developer decided to play with the "Active" flag of the product to test something else. In cases like that, a transaction might not even work. End of the story, you spend time debugging for someone else action.
I highly recommend replicating the staging database to the developer database once in a while to synchronize the structure (or better, have a tool to rebuild a database from scratch).
Of course, we require scripts for changes to the database and EVERYTHING is in a Source Control.
Comment: I usually have two DBs per application on my local system, one to develop and run the local web server against, and the other for automated integration tests.
Comment: If multiple developers share the same database, data conflicts may occur while running the developing versions, may interfere other developers.
Answer: The days when database environments should be scarce are long gone.  I'm writing this posting on a XW9300 with 5x15k SCSI disks in it.  This machine will run a substantial ETL job in a fairly reasonable length of time and (in mid-2007) cost me about £1,700 on ebay including the disks.  From a developer's perspective, especially on database centric projects like data warehousing, the line between a developer and a DBA is quite blurred.  As I write this I am building a partition management framework for a SQL Server 2005 data warehouse.
Developers should have one or more development databases of their own for (IMO) these reasons:

Requires people to keep stored procedures, patch scripts and schema definition files in source control.  Applying the patches can be automated to a fairly large extent.  There are even tools such as Redgate SQL Compare Pro that do much of the grunt work for this.
Encourages an application architecture that facilitates easy configuration management and deployment, as people have to deploy onto their own workstations.  Many deployment wrinkles will get sorted out long before they hit production or people even realise they could have gone wrong.
Avoids developers tripping up on each other's work.  On something like a data warehouse where people are working with ETL code this is an even bigger win.
It encourages a degree of responsibility as developers have to learn basic database administration.  This also eliminates a lot of the requirements for operational support staff and some of the dev-vs. ops friction.
If you have your own database, there are no gatekeepers obstructing experimentation or other work on it.  The politics around managing 'servers' disappear as there are no 'servers'.
This is a productivity win in an any environment with significant incumbent bureaucracy.
For small data volumes an ordinary PC is fast enough for this.  Developer editions or licencing are available for most if not all database management systems and will run on a desktop O/S.  If you're working with Linux or Unix this is even less of an issue.  For larger data volumes, up to and including most MIS applications, a workstation like an HP XW9400 or Lenovo D10 can be outfitted with 5 15k disks for less than the cost of a lot of professional development tooling.  (Yes, I know it's dual licence, but a commercial all-platform licence for QT is about £4000 a seat).
A machine like this will run an ETL process with 10's to 100's of millions of rows faster than you might think.
It facilitates setting up more than one environment for smoke testing or reconciliation purposes.  As you have complete control over the machine, you have quite a lot of scope for mocking up conditions in a production environment.  For example, I once made a simple emulator for Control-M by just bodging some of its runtime scripts.
Where you have this level of control and transparency over the environment you can produce a fairly robustly tested deployment process which does quite a lot to eliminate opportunities for finger-pointing in production deployment.

I've seen small teams working with 14 environments, and had 7 active on a workstation at the same time.   On database heavy work such as ETL, where you're with with whole tables, working in a single dev environment is a recipe for time wastage or spending your time walking on eggshells.
Also, you can use single user development licences for database platforms, which can save you the cost of the workstations just in database licencing.  Most developer licences (Microsoft and OTN are a couple of examples I'm familiar with) will let you use the system on a single workstation for a single developer free or for a nominal price.
Conversely, licencing terms on shared development servers are often somewhat murky and I've seen vendors try to shake customers down for licencing on dev servers on more than one occasion.
Answer: Each of our developers has a fully functional database.  Changes are scripted and source controlled like any other code.
Answer: Ideally, yes, each developer should have a "sandbox" development environment, so they can test their code even before deploying it to a shared testing/staging environment.
Each developer's environment should run scripted tests that reset the database to a known state.  This is impossible to do in a shared environment.
The cost of giving each developer their own instance is less than the cost of the chaos resulting from multiple developers trying to test volatile changes together in a shared environment.
On the other hand, in many IT shops the system uses complex infrastructure, involving multiple application servers or multiple physical nodes.  Then the economics change; it's less expensive for people to cooperate and avoid stepping on each other's work than it would be to replicate it for each developer.  Especially true if you integrate expensive third-party systems that don't give you licenses for multiple development environments.
So the answer is yes and no.  :-)  Do give each developer their own environment if that environment can be reproduced inexpensively.
Answer: My recommendation is to have 2 levels of development environment:
Each developer has their own personal development system, with its own dp, web servers, etc. This allows them to code against a known setup, write automated (system level) tests that initialize their database and systems to a known state, etc.
The development integration environment is shared by all developers and used to make sure everything is working together as expected before handing it off to QA. Code is checked out from source control and installed there, and there's only a single instance of any servers (db or otherwise).
Answer: This question hints at what a developer needs to do his/her job. Certainly a private DB instance should be provided. Equally important, I would make sure that the DB is the same product/version as what you intend to deploy to. Don't develop on MySQL 6.x and deploy to MySQL 5.x. (This goes for app servers, and web servers as well!)
Having a developer DB doesn't necessarily ean you need it hosted on your local machine. You could have a central DBMS host machine with all dev dbs located on it. The pros are the garauntee that you develop against the target DB. Less overhead on dev boxes, more space/horsepower for beefy IDEs and app servers. The cons are single point of failure for all devs. (The DBMS server goes down nobody can work.) Lack of dev exposure to setting up and administering the DBMS. Devs cannot experiment as easily with upcoming DB releases or alternate DB choices to solve tough problems.
Some of the pros can be cons and vice-versa depending on your organization and structure. Maybe you don't want devs administering the DBMS. Maybe you do plan to support varying DB platforms. The decision boils down to your organization as well as your target platform choices. If you plan to target a variety of DB/OS/app server combinations then each dev should not only have their own DB but should work in a unique combination. (MySQL/Tomcat/OSX for one DB2/Jetty/Linux for another Postegres/Geronimo/WinXP for a 3rd, etc.) If you setup an ASP (Application Service Provider) type shop on an iSeries on the other hand then of course you'll likely have a central host with all dev dbmses still each dev should have at least a separate db instance to allow structural changes to schema.
Comment: This answer is good, but it would be easier to read if it had line breaks.
Answer: I have an instance of SQLServer Development Edition installed locally.  We have a QA DB server, as well as multiple production servers.  All development and integration testing is done using my local server (or other developers local servers).  New releases are staged to the QA server.  Each release, after acceptance by the customer, is put into production.
Since I mostly do web development, I use the web server bundled with VS2008 for development and local test, then publish the web app to a QA web server hosted on a VM.  Once accepted by the customer, it is published to one of several different production web servers -- some virtual, some not, depending on the application.
Answer: My department at my company only has limited development environments, purely because of cost of support and hardware. We have a couple of environments which are based on t-1 nightly refreshes from production, and some static ones.
Ideally, everyone should have their own, but in many cases, this is going to be impractical when the following are true:

you have a large number of developers needing resources (our department has maybe 80)
each developer needs multiple resources (typically i use 4-5 different dbs each day)
up to date data is important (you just cant refresh them fast enough)

In these cases, shared instances and good communication are whats needed.
Answer: One advantage to one database per developer, each developer has a snapshot of their own data in a "known" state.
Answer: It really depends on the nature of your application. If yours is a client-server architecture in a distributed environment, it is best to have a central database that everyone uses. If the product gives users an environment with local database instances, you can use that. It is best if your development mirrors the real world environment as closely as possible.
It is also dependent on what stage of development you are in. Probably in the early stages, you dont want to get bogged down by connectivity, network and distributed environment issues and just want to be up and running. In such a case, you can start with a database instance-per-user model before switching to the central model as the product reaches some level of maturity.
Answer: I like the idea of using a local version when a developer must be isolated - developing a schema change, performance testing, setting up specific scenarios, etc...
At other times use the shared version as to insure everything is in sync with each other.
Answer: I think there's a terminology problem here.  It's been a while since I've worn my DBA hat (golly gee, almost 10 years) - so someone else can chime in and correct me.
I think everyone is in agreement that each developer should have his own sandbox schema set.
In MySQL and Sybase/MS SQLServer, each database engine can support multiple databases.   Each database is (normally) fully independent of the other database.  So you can have one database engine instance, and give each developer his database space to do as he wish.  the only problem is if the developers are using tempdb -- there can be collisions there (I think -- this you will need to look up).   Just be careful that cross-database queries with fixed database names are not used.
In Oracle, the database engine instance is tied to a particular schema set.  If you have multiple developers on the same engine, they are all pointing to the same tables.  In this case, yes, you will need to run multiple instances.
Answer: Each of our developers has a local database. We store the create script AND a dump of the "standard data" in our SVN repo. We have an extensive set of tests that must pass against this test data. We also have a "sandbox" database that is available for people to put data in that they want shared into the standard data. This works well for us and allows us to let developers modify their local copies of data to test things, but we control what gets passed to other developers. We also strictly control schema changes, so we don't encounter the problems that someone else mentioned.
Answer: In my company we tend to copy the entire DB when working on non-trivial new features. The reasoning there is disk space is cheap, whereas accidental data loss (even if it's test data) isn't.
Answer: I've worked in both types of development environments.  Personally, I prefer to have my own DB/app server.  However, there may be some advantages to using a shared infrastructure for development.
The main one is that a shared environment more closely resembles a real-world scenario:  you are more likely to uncover problems with locking or transactions when all developers share a DB.  Giving each developer their own DB may lead to "it works on my DB" syndrome.
However, if you need to apply and test schema changes or optimisations, then I can see problems in this sort of set-up.
Maybe a compromise solution would work best: all developers share infrastructure, and if someone needs to test schema changes, they create their own temporary DB instance (maybe there is one just sitting there for this purpose?) until they are happy to commit the new schema to source control.
You do have your entire schema (and test data) in source control, right? Right???
Answer: I like the compromise solution (all developers share infrastructure, and if someone needs to test schema changes, they create their own temporary DB instance (maybe there is one just sitting there for this purpose?) until they are happy to commit the new schema to source control.)
Answer: One DB per developer. No question.  But the issue really is how to script entire databases, "control data", and version them.  My solution is here : http://dbsourcetools.codeplex.com/
Have fun. - Nathan.
Answer: The database schemas should be held in source control and developers should own the changesets checked in for code and db together. Prior to checkin the developer should be working on his own database. After checkin, an automated build (eg: on checkin, nightly, etc), should update a central integrated db, along with the apps themselves.
At developer instance level the data loaded should be appropriate for unit testing, at least. At integrated level, the shared db should hold data also appropriate for testing, but should not rely on production replication - this is just a slack substitute for managed test data.
In my experience the only reason that developers opt for a shared db is that they believe that developing and running on recent production data is somehow 'real' and means that they can put less effort into testing. They prefer to tread on each others toes and put up with a shared db that slowly corrupts before the next production refresh than write and manage proper tests. It's this kind of management practice that gives the IT world the poor reputation to deliver that it currently has.
Answer: I'd suggest to use one instance of the database.  You don't want your database to be a moving target.

One DB per developer or not?