Why don't Facebook and Instagram use back-to-top buttons/links?

Question: I am a user of both social network apps. Why don't these big companies provide a back-to-top button after scrolling down? Similar to Ebay and Tumblr.
Comment: To get a proper answer to that you'd have to ask the UX teams at Facebook and Instagram. There *may* be a technical issue due to the infinite scroll layout they use but I'm not sure that's the real reason.
Comment: You could just click on home and it'll reload the feed for you!
Comment: Is it obvious? and why would you load the page again when you can have a button to return it to the top/recent feed?
Comment: They do, it's just that you have to tap on the home button when you are at home screen. In early days it was "double tap on home to scroll to top" but nowadays pretty much all the apps have "Tap on home when you are on home" to scroll to top
Comment: As I said, home button refreshes the page, why would you expect users to click on HOME button when they're already in HOMEPAGE (Newsfeed). Try Ebay, Tumblr or even Dribbble and check if it reloads, it rather points to the 0px of the page.
Answer: To some extent, they DO have that, though not in exactly that form. In many of those apps (Facebook and Twitter, at least, and Gmail in the desktop), clicking on the main Nav item that best represents that "flow" or "stream" page/experience performs double duty.
In Gmail, your main experience is the Inbox, but there are other filters and boxes you can view, such as the Important filter:

Now, if I click on the Inbox link from here, it will return me to the Inbox:

If, however, I now page through my email in the Inbox to deep in my email list, and THEN click the Inbox item again, it will bring me BACK to the first items of my Inbox list. This actually includes THREE functions, since clicking it while you are already on the first page of results will trigger a reload that will check for new mail.
Similarly, if you are scrolling through your Twitter app on, say, the Moments or Notifications "tab" and you touch the Home tab, it will first take you back to that Home feed, but right where you left off when you were last viewing it:

Touching that Home tab AGAIN, however, will rapidly scroll you up to the very top of your feed and show you the most recent tweets:

Facebook works similarly. While this is not as explicit as a "Back To Top" control, it is becoming fairly standard in apps, and makes a certain amount of sense, especially in environments where different methods of tapping, pressing, or holding can result in different actions.
I personally find it quite intuitive.
Answer: Because it violates user's mental model of the behavior of a link.
According to Jacob Nielsen:

Users have developed a strong mental model for link following , which
  has several elements:

Clicking a link navigates you to a new place.
After you click, the old page goes away .
A new page loads into the window, replacing the old page.
You first see the top of the new page.
The Back button returns you to the old page.

Basically, he explains that users expect to go a new page when clicking any link but when the page scrolls up they get confused because their expectation is violated. Also if users try to click the browser's back button again the site doesn't behave as expected. Another confusion.
Users get confused where they are in the site.
From his experiments he explains that most of the users wasted more time than save clicking the browsers back button several times and trying to go to the intended location.
Jacob Nielsen's research makes sense because the majority of Facebook and Instagram users have low computer literacy. Thus, when they click a link that doesn't behave as usual they get confused whey did they go, why the back button didn't work as expected and got them back at the login screen.
For us UX-ers and developers it is hard to imagine that this may confuse someone but this is because we have already build the right mental model for "Back To Top" links. In other words we know what will happen when we click such a link and users with low computer literacy don't. This is because this is something new to them, and they get confused.
Comment: This. As an experienced computer user, I despise "back-to-top" links because they pollute my browser history/stack. Furthermore, all of my devices _already_ have the ability to go back to the top of the page natively (Home button, T key on my BlackBerry, address bar on iPhone, etc.). Why add another one?


IRC clients with DCC support

Question: I need an IRC client with DCC support. What are my options? Additionally, is there a way to patch DCC support into Empathy? I would prefer patching as opposed to installing a seperate program.
Comment: Empathy is a libpurple implementation like pidgin.  AFAIK, pidgin or empathy does have limited DCC support to at least send files. Perhaps try pidgin instead? It's practically the same thing..
Comment: @user606723, if Pigdin is virtually the same thing, then I see no reason to bother with it. I just want the ability to recieve files.
Comment: Err, as I said both pidgin and empathy should be able to send/receive files. I've never used empathy, but I know pidgin can receive files. Are you sure it's empathy thats the issue and not a firewall, etc. issue? I suggested you try pidgin just in case it was broken in empathy for an unknown reason.
Answer: Nearly every IRC client supports (at least partial) DCC.
Here are my picks from linux clients-

irssi
x-chat

See http://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients#Direct_Client-to-Client_.28DCC.29_support

IRC clients with DCC support


Monomorphism, Split Monomorphism and "Injective"

Question: I know it's bad habit studying wikipedia as a proper source. But I am particularly troubled by the statement that:
"In concrete categories, a function that has a left inverse is injective. Thus in concrete categories, monomorphisms are often, but not always, injective. The condition of being an injection is stronger than that of being a monomorphism, but weaker than that of being a split monomorphism."
when I couldn't tell the differences between "left invertible" and "split monomorphisms"
Or is injective a legal concept in category theory?
Answer: A morphism being 'injective' is a valid concept in concrete categories, because by definition those categories have the additional structure of 'underlying sets', ie they come equipped with a faithful functor into the category of sets.  The bolded statement says that there are three separate notions:

Being a monomorphism when considered as a map in your category.
Being an injection, ie the image of your map under the aforementioned faithful functor is injective as a map of sets.
Being a split monomorphism (which is the same as being left-invertible)

Here (3) implies (2) implies (1)
Comment: @FareedAF The existence of non-identity automorphisms (eg complex conjugation as an $\Bbb R$-automorphism) provide counterexamples.
Comment: @FareedAF I see.  Your initial comment implicity had $f(x) = x$ for all $x$ (which is false for non-real elements of $\Bbb C$ in this example, eg $f(i)=-i$), but when you specify $f(x) = x$ only for all $x$ in the base field $K$, then that's defintionally fine for maps of fields that fix the base field $K$ (if that's your definition of $K$-monomorphism.  if you have a different definition of "$K$-monomorphism" then there's a possibility of being tripped up by the distinction between isomorphism and identity)
Comment: @FareedAF I would expect the definition of $K$-monomorphism to include a reference to $K$ somewhere.  By what you've said the only way I can implicitly do this is to interpret the word "homomorphism" to mean "homomorphism of $K$-algebras" (as opposed to just 'homomorphism of fields'), which would again definitionally imply that $f(k)=k$ for $k \in K$.
Comment: I have a little question on monomorphism but I don't think its worth to be asked as a normal question, I was thinking about a proof for $f(x)=x$ if $f$ is a monomorphism. Can you please help by giving me a proof for that?
Comment: @FareedAF Identity maps are always trivially monomorphisms (since $\text{Id}\circ f = \text{Id}\circ g$ is equivalent to $f = g$) if that's the implication you're trying to prove, but the converse is false.
Comment: my questiom is the other way I think, if $f$ is a $K$-monomorphism, is it true that $f(x)=x
 \forall x\in K$ ??
Comment: As you said the complex conjugation, lets call it $f$, can be considered as an $\mathbb R$-monomorphism, and $f(x)=x  \forall x\in \mathbb R$ isn't that right?
Comment: My definition of $K$-monomorphism is an injective homomorphism, is that right? And you said that it is 'definitionally fine', you mean it is true by definition? Or is there a proof for it?


What is the geometrical interpretation of determinant of a matrix in general?

Question: My question is simple (and maybe I am wrong  asking this question even) what is the geometrical interpretation of determinant of a matrix in general ?
I could not think anything.
Comment: To give a very pertinent geometrical interpretation is this. A matrix represents a geometrical transformation of a vector in $\Bbb R^2$ so the determinant determines if that transformation is a test for the ability to invert that transformation.
Comment: Look at my answer in a related question: http://math.stackexchange.com/questions/14952/what-is-jacobian-matrix/1800217#1800217
Comment: See: http://mathoverflow.net/a/7952/69967
Answer: In Lax's Linear Algebra and it's Applications, he furnishes an interpretation of determinants as closely related to the volume of a "simplex".
Kind of like how an n-cube is a generalization of a square and a cube, and an n-ball is a generalization of circles and spheres, a simplex is a generalization of triangles and pyramids.
If you have a simplex of dimension $n$ and one of its sides lies in the space of the other sides, it's a "degenerate" simplex, and it has zero volume, just like that of a triangle and a pyramid. So, if you view the columns of your matrix as vectors, and one of your vectors is linearly dependent, the simplex constructable through the vectors is degenerate, so the matrix has determinant $0$.
If you calculate the volume of a triangle from a base lying on an "axis", but then decide to use a different side as the base, then you have to rotate it, which places it beneath the previous axis and turns the volume negative, just as how switching columns in a matrix causes the determinant to be negative.
Once you manage to wrap your head around of the columns of a matrix being the sides of a triangle/n-dimensional simplex, it generally makes the determinant make much more sense.
Answer: $n\times n$ matrix consist of $n$ vectors in $\Bbb{R}^n$. These $n$ vectors form a parallelogram, the determinant of the matrix is the volume of that parallelogram. For example,
$$\begin{pmatrix} 1&0&0\\ 0&5&0\\ 0&0&9\end{pmatrix}$$
gives us three vectors in $\Bbb{R}^3$, one is on the $x$ axes of length $1$, the other is on the $y$ axes of length $5$ and the last is on the $z$ axes of length $9$. These three vectors defined a box of dimensions $1\times5\times9$, whose volume is equal to the determinant $45$.
Comment: maybe the (relative) volume of the image of the unit ball by the linear operator is even clearer, since it is obvious that this is independent of the choice of (orthonormal) basis ?
Comment: (and there is the problem of the oriented volume, since what I said is only true for $|det(A)|$)
Comment: I'm aware of all these problems. But, OP asked for a simple geometric intuition and the image of the unit ball by the linear operator is not particularly straight-forward to me.


How to execute a command block once taking hits?

Question: So, I am doing a little Minecraft adventure map and the number one thing I keep getting stuck on is how to execute a command block once a zombie hits you three times. Thanks! :D
Comment: nothing and i dont now if this is possible!
Answer: It's possible, but not 100% reliable. You want to repeatedly testfor a Zombie in less then 1 block from a Player (hitting distance) 3x:
<code>/execute @e[type=Zombie] ~ ~ ~ testfor @a[r=1]
</code>
Or the other way around:
     /execute @a ~ ~ ~ testfor @e[type=Zombie, r=1]
1) Put one of these commands into a Command block with a Comparator facing out of it.
2) Then, use a Redstone impulse lengthener as shown below to lengthen the signal to like 10 seconds.
3) Add a Piston that allows a clock to repeatedly trigger a Command block.
4) This Command blog should have the same command as above.
5) Repeat this one time more and you got it done.
6) Add a fourth CMD block at the end with you own command.
Redstone signal lengthener:

(Instead of "door" use "Next Command block")
Comment: @kevinbestkiller Feel free to hit the checkmark next to this post if it helped you!


Is the set $A$ of anti-symmetric relations over $\mathbb{N}$ countable?

Question: I think this set is uncountable, but I don't really know how to prove this. Maybe somehow find an injection from $\mathcal{P}( \mathbb{N} \times  \mathbb{N}) \rightarrow A$?
Answer: For any $X\subseteq \mathbb N$, the relation $R_X = \{(x,x) | x \in X\}$ is anti-symmetric.
Answer: Alternatively you can count such antisymmetric relations on a set having $n$ elements, which are
$2^n 3^{\frac{n^2-n}{2}}$
Set $n=\aleph_0$ for set of natural numbers, so that
$2^{\aleph_0} 3^{\frac{\aleph_0^2-\aleph_0}{2}}>2^{\aleph_0}=c(\text{cardinality of real numbers }\mathbb R)$
Answer: For any $S \subset \mathbb{N}$ take $\mathcal{R}_S = \bigcup_{s \in S} \{(s,s+1)\}$. It is clear that $\mathcal{R}$ is anti-symmetric, as it's a subset of anti-symmetric relation $\mathcal{R}=\{(x,y):x<y\}$, and that this transformation is injective, so there are at least $\# \mathcal{P}(\mathbb{N})$ anti-symmetric relations on $\mathbb{N}$, thus their number is uncountable.


Adding and Using Dynamic Libraries with Xcode

Question: Ok. So here goes. I am currently trying to add and use a dynamic library called OpenCV into a Xcode project of mine. I first installed MacPorts using the .pkg. Then I opened Terminal and ran "sudo port install opencv". MacPorts then installed all sorts of dependencies (FFMPEG/etc) and then installed OpenCV into the "/opt/local/lib" folder for the .dylib files and into "/opt/local/include" folder for the header files. Then I opened Xcode and opened command line utility application project. I added a group to my project and then added all the .dylib files inside of it (I think these are called references to the dynamic libraries, but I am not sure - I am a total beginner - I learned C++, my first programming language, merely a week ago"). After that, I clicked on my project file thing inside of Xcode and went to Build Settings and then changed the "Header Search Paths" under the "Search Paths" tab to the /include folder I mentioned previously. The Library Search Path was already set to the /lib folder since I added the .dylib files already (I think that's what happened - not sure). Anyways, then I copied and pasted the following sample code from the opencv website into my main.cpp file just to test whether or not my library works.
//******************************Sample Code ************************************************
<code>#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main( int argc, char** argv ) {
if( argc != 2) {
    cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
    return -1; }
Mat image;
image = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);
if(! image.data ) {
    // Read the file
    // Check for invalid input
    cout <<  "Could not open or find the image" << std::endl ;
    return -1; }
namedWindow( "Display window", CV_WINDOW_NORMAL );// Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0; }
</code>
//********************END OF SAMPLE FILE CODE **********************************************
After I did all that and before I hit run, I think it is important to note that Xcode did not complain that it couldn't find my header files, and also it didn't complain about any syntax errors with the new functions the library should've added. In short, there were no errors highlighted on the main.cpp file. All the errors, however, started showing up after I hit the Run button inside of Xcode. Here are all the errors that it generated:
**************Errors from Xcode after I hit Run*********************************************
Stupid Stack Overflow won't let me post images, so here is the link to the error photo:

*****************END OF BLOCK***************************************************************
So, yeah, I have no clue what I am doing at this point and am totally lost. Did I not follow the correct steps in adding a dynamic library to my project? Oh, and I forgot what it was, but I somehow got Xcode to ignore those semantic issues (I cannot remember how I did this or if that was what I did), but once the semantic issues are ignore, the only error that remains seems to be something related to a "Mach-O Linker Error" which says something on the lines of: "undefined symbols....architecture/etc" and then says that the undefined symbol was one of the library functions that I was calling in my main.cpp file. But that error no longer occurs since I deleted everything and started again. So now the only errors I get are the ones from the picture. So PLEASE HELP!!!! I am absolutely lost and I have been researching for weeks now, but I think the issue with me there is that I have no clue what I am looking for or what question I should be asking. The steps I listed above is only what I have done. Any insight will be much appreciated. THANKS IN ADVANCE!!!!!!
____________EDIT___________________
So I repeated the above steps again, but this time I get this error:
Ld /Users/Yash/Library/Developer/Xcode/DerivedData/OpenCVOptTEST-adchdkiefzmijfhahwtzcfqarzkw/Build/Products/Debug/OpenCVOptTEST normal x86_64
    cd "/Users/Yash/Coding Folder/OpenCVOptTEST"
    setenv MACOSX_DEPLOYMENT_TARGET 10.8
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -L/Users/Yash/Library/Developer/Xcode/DerivedData/OpenCVOptTEST-adchdkiefzmijfhahwtzcfqarzkw/Build/Products/Debug -L/opt/local/lib -F/Users/Yash/Library/Developer/Xcode/DerivedData/OpenCVOptTEST-adchdkiefzmijfhahwtzcfqarzkw/Build/Products/Debug -filelist /Users/Yash/Library/Developer/Xcode/DerivedData/OpenCVOptTEST-adchdkiefzmijfhahwtzcfqarzkw/Build/Intermediates/OpenCVOptTEST.build/Debug/OpenCVOptTEST.build/Objects-normal/x86_64/OpenCVOptTEST.LinkFileList -mmacosx-version-min=10.8 -stdlib=libc++ -lopencv_calib3d.2.4.6 -lopencv_contrib.2.4.6 -lopencv_core.2.4.6 -lopencv_features2d.2.4.6 -lopencv_flann.2.4.6 -lopencv_gpu.2.4.6 -lopencv_highgui.2.4.6 -lopencv_imgproc.2.4.6 -lopencv_legacy.2.4.6 -lopencv_ml.2.4.6 -lopencv_nonfree.2.4.6 -lopencv_objdetect.2.4.6 -lopencv_photo.2.4.6 -lopencv_stitching.2.4.6 -lopencv_superres.2.4.6 -lopencv_ts.2.4.6 -lopencv_video.2.4.6 -lopencv_videostab.2.4.6 -o /Users/Yash/Library/Developer/Xcode/DerivedData/OpenCVOptTEST-adchdkiefzmijfhahwtzcfqarzkw/Build/Products/Debug/OpenCVOptTEST
Undefined symbols for architecture x86_64:
  "cv::namedWindow(std::__1::basic_string, std::__1::allocator > const&, int)", referenced from:
      _main in main.o
  "cv::imread(std::__1::basic_string, std::__1::allocator > const&, int)", referenced from:
      _main in main.o
  "cv::imshow(std::__1::basic_string, std::__1::allocator > const&, cv::_InputArray const&)", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Answer: Check out Apple's documentation for working with Dynamic Libraries.
What these errors are telling you is that it can't find the object code (implementations) for these symbols during the Linking phase. From Apple's documentation, it looks like it expects to find the dylibs in /usr/local/lib not /opt/local/lib.


Recreating public domain children's stories and using the original illustration?

Question: Personally, I love old children's books. The artwork is phenomenal. Recently I saw more than one person selling Goldilocks and the 3 Bears. I do not intend to take public domain stories from one hundred years and put my name on them. I would like to though, use illustrations that are public domain, and update the story to modern times. I have come across a few websites of Public Domain books, and even a site that sells the photos on a disk for a fee. But then I think, if they put the illustrations on a disk and sell them through their company, how can I use them? Wouldn't the company selling the disk have copyright protection? Thank you.
Answer: I am not a lawyer, but I believe the answer is NO, they will not have rights to the illustrations.
Publishing something using public domain material does not change the public domain status of THAT material. if I publish a story and my character sings "Twinkle Twinkle Little Star", the original words, I don't suddenly own the rights to a public domain song.
What you need to look for, though, is any modifications they may have made to the images; like adding a "watermark" or something.
There is a similar issue with recipes. The Supreme Court ruled long ago that Recipes cannot be copyrighted. Not even original recipes. So when people write a cookbook with recipes, and it says the book is copyrighted, what exactly is copyrighted? Any text or photographs or commentary  that is NOT "Recipe".
Personal anecdotes, original photos or illustrations, original descriptions, and things like that. But not the actual recipe, the ingredients and instructions.
Similar with the product you want to buy. The public domain pictures cannot be copyrighted, unless they are altered enough to be clearly different from the originals.
Again, I am not a lawyer, this is my understand of the copyright laws as told to me by a lawyer. But if you aim to publish your work, then your publisher will have lawyers that know copyright law. Or you can hire an attorney.
But I think you have nothing to worry about as far as proceeding with the work, I believe if the pictures are public domain now, then without alteration they are public domain forever.
Comment: That is a good point about watermarks.  Not because it confers some legal status but because it  may make the image  unusable. I've seen deals where a company provides the public domain images in low res versions and says if you want the high res versions without a watermark, you have to pay. I don't like that practice, but it makes business sense at least.
Answer: First, you didn't say what country you are in. Very important.
In USA if the illustrations came from a book  published in the USA before 1927, you almost certainly have nothing to worry about.
If the source of your  public domain illustrations published in a pre-1927 book  were high res photographs later  taken by someone else, probably you are still ok. Bridgeman vs. Corel lets you do that.
Here's a tip. Go to wikimedia commons and see if the image is available there.
I am an ebook publisher and use public domain images all the time. The important thing is whether the  original art  was published in a book before 1927  (in USA). There are different rules about paintings before 1927 if they were not published in a book.
Answer: As far as I understand it:

You may use a public domain illustration (e.g. a painting in a museum).
You may not use a photo or reproduction of that illustration (in a catalogue, on a postcard, on the museum website, in a database).

This means that unless you
a. own the original illustration,
b. have taken your own photo of it, or
c. have access to an illustrated book that itself is old enough to no longer be protected by copyright,
you are out of luck.

As @StuartF has noted in a comment, the legislation is different in different jurisdictions. You should always consider consulting a lawyer when it comes to legal questions.
Comment: The details vary from country to country when it comes to what is protected and what can be reproduced; [US law](https://www.huffpost.com/entry/museum-paintings-copyright_b_1867076) is more permissive than English law, for instance. But this isn't the place to give legal advice.


the status "required reviews completed"

Question: I submitted my paper in one of the Energy journal in Elsevier. After 2nd revision of my article, I got no update. So, I gently sent an email. Then after 2 days the status said " Required Reviews completed". But this status did not change for almost 2 months. Should I send another email to the editor? Is there any possibility to reject my article?
Answer: As the status message suggests, the Reviewers have completed their reports and submitted them online via the Elsevier manuscript system. Your paper is now with the Editor. Since the status did not change for the last 2 months, we can assume one of the following:
 - the Editor did not have time to deal with your manuscript yet;
 - the Reviewers Reports are contradictory, and your paper requires more attention and more time of the Editor than usual.
In my experience, the first explanation covers most of the real-life cases.
It is completely OK to write a polite message to the Editor asking them about the status of your paper. However, be prepared to receive no answer, or not-really-an-answer.
Yes, there is always a possibility that your paper can be rejected as a result of the review process. However, the Editor's decision should normally be made based on the results and the writing of the manuscript. If your communication with the Editor is polite and justified, there is no risk that it can reduce the chance of your paper to be accepted.

the status "required reviews completed"


How to make SQL many-to-many same-type relationship table

Question: I'm a newbie to SQL and I'm jumping in head first trying to learn as much as possible as I'm coding, which is difficult as I'm designing the database I'll have to live with for a while so I want to make sure I do it right.  I learned the basics of the Many-to-many bridge tables, but what if the two fields are the same type?  Let's say a social network with thousands of users, and how would you create a table to keep track of who is friends with who?  What if there is additional data about each relationship, say... "date friended" for example.  Knowing that there will be queries like "show all friends of userX friended between dateY and dateZ".  My database would have several situations like this and I can't figure out an efficient way to do it.  Since it's coming up a lot for me, I figure others have figured out the best way to design the tables, right?
Comment: I don't understand what you mean by, "what if the two fields are the same type?"  You can still have a join table and add additional attributes to it.
Comment: The "type" of objects (or rows) is not an important consideration when considering a many-to-many relationship.  Here is the best way to think of it: You have two tables, Users and Groups.  A User may belong to many Groups (a one-to-many) ... but a Group may also be comprised of many Users (also a one-to-many).  Therefore, a many-to-many relationship may be thought of as a bidirectional one-to-many relationship.  The bridge table is the structure that mediates this relationship for you.  A User is not a Group, but even though the types are different they still may possess this relationship.
Comment: Basically he's asking about how you should model a symmetrical many-to-many relationship.
Comment: Have a look at this thread from the dba stackexchange: http://dba.stackexchange.com/questions/10199/how-should-i-design-a-relationship-table-for-friendship  Also take a look at this sample lesson from 9Lessons for more ideas: http://www.9lessons.info/2010/04/database-design-create-tables-and.html
Comment: I mean, when I learned many-to-many in context of users and bands, where users could "favorite" bands.  So I was told to make a users-bands bridge table, where one column is users, and the other column is "favorited bands".  Two different types of data.  In this "same type" method, both columns would be the same type ("users")... so... I'd have to include each relationship twice, and all the metadata for the relationship twice.  Does that make sense?
Comment: I'm not sure I follow.  How would the groups table be designed without redundancy?  And my likely follow-up question: How would queries work on it?
Comment: So this is all evidence as to why social networks utilise graph databases instead of relational databases.  Recommend looking at links off the following http://en.wikipedia.org/wiki/Graph_database
Answer: Create a User table then a Relationships table where you store the id of the two friend and any kind of information about their relationship.
SQL diagram

MySQL code
CREATE TABLE `Users` (
  `id` TINYINT NOT NULL AUTO_INCREMENT DEFAULT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `Relationships` (
  `id` TINYINT NOT NULL AUTO_INCREMENT DEFAULT NULL,
  `userid` TINYINT NULL DEFAULT NULL,
  `friendid` TINYINT NULL DEFAULT NULL,
  `friended` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
);

ALTER TABLE `Relationships` ADD FOREIGN KEY (userid) REFERENCES `Users` (`id`);
ALTER TABLE `Relationships` ADD FOREIGN KEY (friendid) REFERENCES `Users` (`id`);

SQL selection
After you fill up the tables with data, you can create your SQL SELECT query to get all of your friends. Your friends are those whose id is in one side side while your id is in the other side. You check both sides for your id so you don't need to store relationships twice. Also you have to exclude your id, because you can't be your own friend (in a normal, healthy world).
SELECT *
FROM Users u
   INNER JOIN Relationships r ON u.id = r.userid
   INNER JOIN Relationships r ON u.id = r.friendid
WHERE
   (r.userid = $myid OR r.friendid = $myid)
   AND r.friended >= $startdate
   AND r.friended <= $enddate
   AND u.id != $myid;

Where $myid, $startdate and $enddate can be PHP variables so in double quotes you can pass this code directly to your database.
Comment: Extended the SQL query. Now you don't need to store duplications.
Comment: So you're saying store every userA/userB pair twice, once with userA in the userid column, and once with userA in the friendid column?  And then store the information in the friended column twice as well?
Comment: This is the first answer that I've seen that might do it, though I'm still somewhat new at all the queries so I'm not 100% sure I follow that SELECT.  Are you selecting from "Users u" (I believe that's making u an alias to Users?) so the result will be the full row of user data from the Users table?  If I just wanted the list of $myid's friends and their friendDate, the SELECT query wouldn't even have to mention the Users table, right?
Comment: "Where $myid, $startdate and $enddate can be PHP variables" - be careful regarding SQL injection, either have some heavy sanitisation/escaping on the variables, or preferably use a library such as PDO or MySQLi (in PHP) to do this for you. For more info, see: http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php
Answer: A single linking table suffices, like so:
People( PersonId bigint, Name nvarchar, etc )
Friends( FromPersonId bigint, ToPersonId bigint, DateAdded datetime )

Example queries:
Who is friends with me? (i.e. people who have added me as a friend, but not necessarily reciprocated)
SELECT
    People.Name
FROM
    Friends
    INNER JOIN People ON Friends.FromPersonId = People.PersonId
WHERE
    Friends.ToPersonId = @myPersonId

Who added me between two dates?
SELECT
    People.Name
FROM
    Friends
    INNER JOIN People ON Friends.FromPersonId = People.PersonId
WHERE
    Friends.ToPersonId = @myPersonId
    AND
    Friends.DateAdded >= @startDate
    AND
    Friends.DateAdded <= @endDate

Comment: I guess I wasn't clear.  There will be no "from" and "to" with the users (or the other similar tables I'm working with).  Maybe instead picture it as zip codes instead of users.  Every zip code has a distance value associated with every other zip code.  It doesn't matter if you're zipA->zipB, or zipB->zipA.  It's the same value.  Does that explain better the sort of data structure I'm looking to design?
Comment: What you're proposing (a table of zipcodes with distances to each other) is an incorrect design because it will use `n^2` space (i.e. a table of 10 zip codes will require 100 distance rows, 100 zip codes will require 10,000 distances, and so on). Instead, consider using geospatial types if your DBMS supports it. Both MS-SQL and MySQL support geospatial queries.
Comment: Geospatial queries doesn't take into account the fact there's a big lake in between two locations that someone would have to drive around, so that doesn't work.  I have the road distances as data, and didn't plan on storing every match, just the closest, but that's getting off on a tangent from my original question.
Answer: The Model
A model stretching over three tables would be an option. You'd have the obvious table user with all the user's specifics (Name, Date of Birth, ...).
CREATE TABLE `user` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45),
  `dob` DATE,
  PRIMARY KEY (`id`)
);

Second, a table connection of the user could contain privileges granted to a connection (can this connection see my photo album), and importantly, would refer to a table friendship. We need the table connection in between because one user can be connected into many friendships.
CREATE TABLE `connection` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `user_id` INT NOT NULL,
  `friendship_id` INT NOT NULL,
  `privilege_mask` TINYINT,
  PRIMARY KEY (`id`)
);

friendship in turn could include shared details like when this friendship was established. Users that are connected to the same friendship are friends.
CREATE TABLE `friendship` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `met_first_time` DATE,
  PRIMARY KEY (`id`)
);

This way would be a more realistic model than the other solutions posted so far in that it avoids directionality (unreciprocated friendship - which shouldn't exist!), but it would be a little more work to implement.
Query Friends
An example that should query the names of your friends, may be (although not tested):
SELECT B.name FROM user A
  INNER JOIN connection conn_A ON conn_A.user_id = A.id
    INNER JOIN connection conn_B ON conn_A.friendship_id = conn_B.friendship_id
    INNER JOIN user B ON conn_B.user_id = B.id
    INNER JOIN friendship ON friendship.id = conn_A.friendship_id
  WHERE A.name = 'Dan' AND A.id <> B.id AND
    friendship.met_first_time BETWEEN '2013-4-1' AND '2013-6-30';

You may notice that if you don't care about the date when you made friends, you don't need to JOIN to the friendship table because connections already share friendship_id keys. The essence of any such query would be the JOIN between conn_A and conn_B on conn_A.friendship_id = conn_B.friendship_id.
Comment: Exactly: my point is that there is no directionality in friendship. This is why I think the model I outlined is appropriate for you. Two `user` entries can share the same `friendship`, i.e. each have a `connection` to that friendship. Shared metadata (your example: date) would be in the table `friendship`, and metadata of "directional" nature (e.g. privileges given from one user to the other) would be in the table `connection`.
Comment: Just added an example query to find the friends you made between beginning of April and end of June.
Comment: Maybe I chose I bad example of users/friendships because people have a preconception that it involves sending a friend request which needs to be accepted.  There is no difference between the userA->userB or userB->userA.  There's either a friendship connection or not.  But if there is, there's metadata about it (date, etc).  The other example I gave of a similar data structure is zip codes.  Every zip code has a distance away from every other zip code.  zipA->zipB=zipB->zipA.  How should all those distances be stored without repeating?
Comment: Ok, I understand your model now.  I'm just concerned visualizing what kind of select queries I'd have to write, being a beginner who would have a lot of trial and error.  I know enough to know it's possible.  :-)  So in your model, what would the SELECT be for finding all friends of userX who met between dateY and dateZ?
Comment: Thanks :)  Though it's SELECT queries like those that really makes me question just how interested I am in learning SQL :-p
Answer: You should use the ID's of the two users as PRIMARY KEY in a relationship table (the relation would be unique even if not bi-directional). Something like that

CREATE TABLE Users (   id int(9) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (id) );
CREATE TABLE Relationships (   id1 int(9) NOT NULL,   id2 int(9)
  NOT NULL,   friended TIMESTAMP NOT NULL,   PRIMARY KEY (id1,
  id2) );

Please note:

id1 and id2 reference Users table (the code above was very simplified)
even if the relationship is not    "bi-directional" you can think
that if you have id1 - id2 it seems    that id1 user add id2 user as
a friend but not necessarily the    opposite - THEN id2 user can add
id1 user as friend - in the table of    relationships you  can have
these possible combinations:

id1-id2,     (only 1 add 2 as a friend)
id2-id1,   (only2 add 1 as a friend)
id1-id2 AND id2-id1 (both - it means 2 lines in relationships table, and both are MUTUAL
friends)


Angle between two line segments

Question: Here's a question? I have two line segments which have an angle between them. For the line segments, I know coordinates of their points. I need to be able to rotate one segment for one angle (for example, $\alpha$ needs to be $60^\circ$) - it doesn't matter in which direction is angle calculated, as long as it stays persistent. Because that I only know point of line segment, idea is to rotate other point around point of intersection for desired angle, and to get coordinates for that point after rotation. But I can not come to solution which works for every angle and where rotation direction (clockwise or counter-clockwise) is persistent. $(0, 0)$ is in top left corner, as shown on picture. You don't have to bother with theory (if you don't want), I need to apply this as algorithm. Thanks
Answer: The usual rotation matrix approach works.  To rotate by an angle $\theta$, you have $x'=x \cos \theta - y \sin \theta, y'=y \cos \theta + x \sin \theta$  If you apply it to all the points, the angles between lines will stay the same.
Comment: that is not working. If you use that formula, it will rotate point around 0.0, and not point of intersection. I have also  tried to ad x,y coordinates of intersection points as x′=xcosθ−ysinθ + x(intersection) and it didnt worked. Also, you have to take in account angle that is already between two lines. Point is, that if for example user enters 45, alfa becomes 45 by rotating one of the lines, and rotation of the line is done as rotation of one point of the line around intersection point(not one in which is intersection), because drawing of the line is based on point coordinates.
Comment: edit: after reading your answer once more, i think that you maybe misunderstood the question - point is that user is able to enter alfa in degrees, not for it to stay same after rotation of one line.
Comment: How about this?   Leave the tip of the angle and one segment fixed.  Use the tip of the angle as the origin of rotation $x_0,y_0)$.  The other point on one segment is $(x_1,y_1)$.  Now $(x_2,y_2)=(x_0+(x_1-x_0)\cos \alpha +(y_1-y_0)\sin \alpha,y_0+(y_1-y_0)\cos \alpha +(x_1+x_0)\sin \alpha)$ is a point on the other leg.
Comment: Hello, first of all sorry for long waiting for an answer, I was on vacation. Unfortunately, this is not working. Instead of "rotating" point, what happens is that point is moved for some angle (not one that is specified), and line segment length is altered. Only example where algorithm is kind of working is when static point is aligned with one of the axis. Any suggestions? I will illustrate with screenshots tomorrow.
Answer: Ok, I have found solution for my problem (here's solution in objective c):
first of all, I'm getting length of line segment which needs to be rotated. Then i'm calculating angle between static line segment and intersection point - or axis (second angle in code). Afterwards, I'm adding second angle to desired angle, and rotating point of line segment around intersection point for sum of two angles (that's because i need angle to be set between two line segments, not between one segment and axis). Angle will alway be calculated in clockwise direction from static point.
<code>-(CGPoint)rotateWallaroundPoint:(CGPoint)rotateAroundP pointToRotate:(CGPoint)pToRotate staticPoint:(CGPoint)staticP forAngle:(CGFloat)angle opposite:(bool)opp {
CGFloat l;
    l = sqrtf( (pToRotate.x - rotateAroundP.x) *(pToRotate.x - rotateAroundP.x) + (pToRotate.y - rotateAroundP.y) * (pToRotate.y - rotateAroundP.y));
    CGPoint rotatedPoint;
    CGFloat secondAngle;
    secondAngle = atan2f(staticPoint.y - rotateAroundP.y,staticPoint.x - rotateAroundP.x);
    angle = angle + secondAngle;
    rotatedPoint.x = l * cosf(angle) + rotateAroundP.x;
    rotatedPoint.y = l * sinf(angle) + rotateAroundP.y;
    return rotatedPoint;
</code>

Angle between two line segments


How to properly cite Donald Knuth's The Art of Computer Programming?

Question: How should I go about citing Donald Knuth's famous monograph? I have two use cases:

Citing a single page,
citing multiple consecutive pages.

Thanks in advance!
Answer: If I recall correctly, there are currently five completed volumes in the TAOCP series: Volumes 1, 2, 3, 4A, and 4B. (According to information on amazon.com, Volume 4B was published earlier this month -- Oct. 2022.) Let's assume you have entries for all five volumes in your bib file and that these entries have keys taocp1, taocp2, taocp3, taocp4a,  and taocp4b, respectively. (My apologies for not being very imaginative with naming conventions.)
Then all you have to do to get the desired citation call-out is to make sure that your document loads a suitable citation management package -- e.g., cite or natbib -- so that you can write
\cite[p.~55]{taocp1}

and
\cite[pp.\ 90--102]{taocp3}

If numeric-style citation call-outs are needed, then both cite and natbib will do. (Be sure to load the latter package with the option numbers.) If you need authoryear-style citation call-outs, you should employ the natbib package with the option authoryear.

How to properly cite Donald Knuth’s The Art of Computer Programming?


Is Laxman an avatar of Sheshnag?

Question: I heard that Laxman is an avatar of Sheshnag? Is this true?
Comment: Please check this: https://hinduism.stackexchange.com/questions/7895/was-shatrughna-an-avatar-of-vishnus-sudarshan-chakra/11311#11311
Answer: Yes, Shree Laxman and Balraam both are the avatars of Sheshnag. In Padma Puran there is a Chapter 1.5.11, The proof is mentioned here in this chapter. According this: When lord Mahadev was telling the story of Sri Ram to Parvati here he mentioned about Sri Laxman.
Lord Mahadeva told Parvati- "Dasharath requested Vashishth to perform the Jaatkarm Sanskar of Sri Ram. In course of time Kaikeyi gave birth to Bharat- an incarnation of Panchajanya conch. Similarly,

Sumitra gave birth to two sons--Laxman and Shatrughan. Laxman was the
  incarnation of Sheshnag while Shatrughan was the incarnation of
  Sudershan chakra.

Sri Ram and his brothers received education under the guidance of Sage Vashishth.
In a very short time they became proficient in all the scriptures and mastered various weaponaries. Although all the four brothers were very close to each other, yet Laxman could not bear to live in Ram's separation even for a moment and was specially close to him."
Link: Padma Purana
Another Proof, When Goswami Tulsidas was praying to Sri Laxman he also describes him as a Avatar of Sheshnag in below lines...

बंर्दौं लछिमन पद जलजाता। सीतल सुभग भगत सुखदात।।
  रघुपति कीरति बिमल पताका। द्वंड समान भयउ जस जाका।।
सेष सहस्रसीस जगकारन। जो अवतरेउ भूमि भय टारन।।
Answer: Yes,this is true.
In the Treta Yuga, Lord Vishnu took seventh avatar as Lord Rama. Sheshnag accompanied him and took avatar as Lakshman–the younger brother.
Refer this good article.
Comment: @Ajay Yes, Balrama was also Avtar of Sheshnag. It is well known fact, almost known by every Hindu. I wonder why this question is even asked here. May be OP is not Hindu.
Comment: Then balarama is also avatar of shesnag?
Answer: Other answers provide Purāṇic angle, while this answer is focused singularly on Vālmīki Rāmāyaṇa.

tataḥ padmāpalāśākṣaḥ kr̥tvātmānaṁ caturvidham |
pitaraṁ rocayāmāsa tadā daśarathaṁ nr̥pam || 1.15.30 ||

Thereafter, the lotus petal-eye Lord was pleased to transform himself into four forms and to choose king Daśaratha as his father.
This śloka is from Vālmīki Rāmāyaṇa where Viṣṇu decided to divide himself fourfold ways at the pleading of devas and Brahmā. There is a great lot of discussion whether Viṣṇu made himself fourfold as Rāma, Lakṣmaṇa, Bharata an Śatrughna, or he himself incarnated along with his main ingredients like conch shell, disc, mace as the 4 brothers. This verse says that he 'agreed to make himself as fourfold.' Even then, there are discussions that Rāma is a 'full incarnation' (pūrṇa avatāra) as the Supreme is indivisible - on one account. And his brothers cannot be reckoned as his incarnation  as they become parts of the whole but not the 'whole' itself he did not divide himself on the other account. As per tradition, it is believed that Viṣṇu didn't divide himself but incarnated in one piece, where his brothers are his paraphernalia.
The 'transforming into four forms' in aforementioned śloka (1.15.30) isn't present in the Sarga 15 of Bāla Kāṇḍa of critical edition of Vālmīki Rāmāyaṇa.

kausalyā śuśubhe tena putreṇāmitatejasā || 1.18.11 ||
yathā vareṇa devānāmditirvajrapāṇinā |
bharato nāma kaikeyyāṁ jajñe satyaparākramaḥ || 1.18.12||
sākṣādviṣṇoścturbhāgassarvaessamudito guṇaeḥ
atha lakṣmaṇśatrughnau sumitrā 'janayatsutau || 1.8.13 ||
vīrau sarvāstrkuśalau viṣṇorardhasamanvitau |

Kausalyā glowed with the undiminished lustre of her son, just as Āditi with her son Indra, the foremost among the gods and the wielder of thunder. As an incarnation of the fourth part of Viṣṇu, imbued with all virtues, and armed with the truth Bharata was born to Kaikeyī. Sumitrā gave birth to Lakṣmaṇa and Śatrughna who were heroic, skilled in the use of all weapons and endowed with the facets of Viṣṇu.
The Critical edition of Rāmāyaṇa on the other hand, has the similar portion in Sarga 17 of Bāla Kāṇḍa, instead of Sarga 18 of Bāla Kāṇḍa, and it supports the idea of fourfold incarnation of Viṣṇu more strongly. Its translation is as follows:

[6-12] Kausalyā gave birth to an illustrious son named Rāma, the delight of the Ikṣvākus. He bore the signs of divinity, for he was one-half of Viṣṇu. An immeasurably resplendent son, he glorified Kausalyā as does Indra, the foremost of gods and wielder of vajra. , his mother, Āditi. Kaikeyī bore a truly vailorous son named Bharata, one quarter of the incarnate Viṣṇu, endowed with every virtue. Sumitrā gave birth to two sons, Lakṣmaṇa and Śatrughna, heroes skilled in all weapons and infused with portions of Viṣṇu.

On the basis of this quote, Viṣṇu's incarnation were split in a ratio  where Rāma was 1/2 Viṣnu incarnate, Bharata was 1/4 Viṣṇu incarnate and Lakṣmaṇa and Śatrughna had some fractions (<1/4) Viṣṇu incarnate.
References

Vālmīki Rāmāyaṇa (online links)

Bāla Kaṇḍa Sarga 15: https://www.valmikiramayan.net/utf8/baala/sarga15/bala_15_frame.htm
https://www.valmiki.iitk.ac.in/sloka?field_kanda_tid=1&language=dv&field_sarga_value=15

Bāla Kāṇda Sarga 18: https://www.valmiki.iitk.ac.in/sloka?field_kanda_tid=1&language=dv&field_sarga_value=18

Vālmīki Rāmāyaṇa (Translation of BORI Critical Edition):
Goldman, R. P & Goldman, S.J.S. (Eds.) (2021). The Rāmāyaṇa of
Vālmīki: The Complete English Translation. (R.P. Goldman, S.J.S.
Goldman, R. Lefeber, S.I. Pollock, B.A. van Nooten, Trans.).
Princeton University Press
Comment: I have edited your answer, added references and provide more sources to support your argument of four-fold incarnation of Viṣṇu. Hope you like the edit. Instead of the Devanāgarī script, I used IAST transliteration because not everyone can read in Devanāgarī. I kinda worked on it to make the answer more better and rigorous because I liked your approach to adhere to the Vālmīki Rāmāyaṇa instead of the Purāṇas which are often cited for answers to such questions.

The edit may not be visible now I guess, because it has yet to be accepted by the trusted community.
Comment: @Bingming thanks for enriching my answer! I am new here and still learning to write answers here.
Answer: There is another prospective to see.
राम नैवोद्धितो वीरो लक्ष्मणो विदधत्स्वकः ।
रूपत्रयं महद्वेषं लोकानां हितकाम्यया ॥
एकेन सरयूमध्ये प्रविवेश कृपानिधिः ।
सहस्रशीर्षा भगवान् शेषरूपी रसाश्रयः ॥
रामानुजश्चतुर्वाहुर्विष्णुस्सर्वगुहाशयः ।
ऐन्द्रं रथं समारुह्य वैकुण्ठमगमद्विभुः ॥
यानस्थो रघुनन्दनः परपुरीं प्रेम्णागमद् भ्रातृभिर्लोकानां शिरसि स्थितां मणिमयी नित्यैकलीलापदाम्।
सौमित्रिश्च तदाकलेन प्रथमं रामाज्ञया वर्तते तेनैव क्रमकेन बन्धुमिलितो रामेण साकं गतः॥
(#इति_श्रीमद्_ब्रह्मरामायणे)brahma ramayan
With shri ram, laxman ji for sake of the world assumed 3 forms. One form sank in river saryu and became seshnag. Second form became became vishnu (that lies in the heart of everyone) and moved in chariot brought up by Indra. Third and most important form remained same and moved to saket lok with shri Ramchandra.
वैकुण्ठेशस्तु भरतः क्षीराब्धीशस्तु लक्ष्मणः ।
शत्रुघ्नस्तु स्वयं भूमा रामसेवार्थमागताः।।
(#इति_श्रीमद्_नारदपंचरात्रे narad pancharatra quoted in ramayan shiromani tika )
Bharat ji is lord of vaikunth, laxman is lord of ksheersagar and Shatrughana is bhouma purusha, all these vishnu(. Karnodakshyi vishnu,garbodashayi vishnu, ksheerodakshayi vishnu) have incarnated to serve param purusha swaym bhagwan shri Ramchandra.
पृथ्वि! स्थिरां भव, भुजंगम्! कुर्मराज!तदिदं द्वितयं दधीथाः।
दिक्कुज्जराः!
कुरुत तत्त्रितये दिधीषां रामः करोति हरकार्मुकमाततज्यम्।।
(#हनुमान्नाटकम्)
Laxman - Fearing that the earth and other worlds would sink down as soon as he offered the bow to Shri Ramchandra, he orders: - Hey Shesh! You keep holding this earth. Hey Kachhpraj! You keep handling both this earth and Sheshnag. O giants! You should be careful in wearing these three earth, Sheshnag and Kurma Raj because Shriram ji wants to offer the string of Shivaji's bow.
Again same thing is said in Ramcharitmanas
चौपाई
दिसिकुंजरहु कमठ अहि कोला। धरहु धरनि धरि धीर न डोला॥
रामु चहहिं संकर धनु तोरा। होहु सजग सुनि आयसु मोरा॥
(#रामचरितमानस)
Laxman ji orders:-
O giants! Hey turtle! Hey Shesh! Hey Varah! Be patient and hold the earth so that it does not move. Ram wants to break Shiva's bow. Everyone be careful after listening to my orders.
Note:-
In hanuman natak and ramcharitmanas, laxmanji clearly orders sheshnaag, varah (avtar of Vishnu) and kacchap(kurma avtar of Vishnu). An avtar can't order avtari (one who takes incarnations here sheshnaag) and also order avtar of Vishnu. Surely, laxmanji is not avtar of sheshnaag
Again in vashisht samhita quoted in Manas piyush, clarifies that laxman ji is none other than vishnu himself

Is Laxman an avatar of Sheshnag?


When to finish modular projects

Question: I'm building a custom loft bed for my son in my garage. The final assembly is too large to make it up the stairs to his room so I'll need to disassemble it to get it up there. I'm planning to stain and poly it but I can't decide if it's better to finish it as assembled in the garage, finish it while disassembled or finish it once I get it up there. It's important to note that assembly is done with only screws and no glue so it can be easily relocated when/if we move.
Comment: Hi, welcome to StackExchange. Your query isn't a good fit for here because there's no canonical Answer possible which is ideally what SE is set up to provide. When to finish this (any project really) is up to the individual craftsman, so in effect every answer is equally valid which is one of the specific things we're told to avoid. I don't think this is salvageable with an edit so I'm voting to close. We do have some prior Q&As that touch on prefinishing and if/where you might want to do it, and there's sure to be loads more about this online.
Comment: I'd make the argument for finishing in the garage, then taking it upstairs in pieces. There's better ventilation in the garage (that giant door should help), plus it's probably less of an issue if you spill something on the garage floor than the carpeted/hardwood/other floor in the lad's room. Note that there's nothing about the timing... Finishing in pieces lets you get _all_ the surfaces, but the poly _could_ stick to itself after many years of being assembled and become difficult to separate when the time comes to disassemble. So many options... So many possibilities...
Comment: OTOH, finishing it when assembled means that the joints will likely be either light on stain or heavy because it's hard to get tight into the inside corners. When you apply the poly to the joints, it's going to bridge the joint, and you could damage the finish when you take it apart. Ultimately, which risks are acceptable to you can only be determined by you. Sorry, not that helpful, I know...
Answer: I would say that asking "what should I consider" may draw fewer negative responses, but one never knows what someone else sees as not appropriate.  I personally think your question as is, is a really good use of the forum.
Here's my take on when/where to finish.
First, the where should be somewhere that fits the finishing.  I would not apply a finish that has organic degassing inside my house, unless the house were unoccupied (as a new build would likely be).  Open air generally is best; the more, the better.
Second when to finish is a complex question; I think one that does have a definitive answer for a given scenario, but as FreeMan and Graphus point out, you are ultimately the decision maker there.
I'll point out some things I think about answering this for myself.

will my finished product get banged up moving to it's final location?
will expansion/shrinkage expose unfinished portions?  The best ex. here is panel doors that show unfinished tenons around the panel from shrinkage.
will I need to glue or otherwise connect anything, which the finish would cause failure?  (I think you mention, no.)

I think my bottom line is: choose a plan, but be flexible.  Learn from mistakes, have fun doing it, and appreciate that you may have to touch up or redo some portion before it's all complete.  Finally, stay safe.
Welcome to the forum.

When to finish modular projects


What is Subsampling in image processing?

Question: I was going through some image processing document. And I came cross this term "sub sampling". What does it mean? Is it sampling again already sampled data .. ?
Answer: Subsampling does not necessarily mean resampling previously sampled data, although it often gets implemented that way in practice.
It really refers to sampling at a rate (either in space or time) that's lower than the Nyquist criterion would indicate. It usually follows some sort of low-pass or bandpass filter that reduces the information content of the original signal to a level appropriate for the new sample rate.
In color image or video processing, this is often done to reduce the amount of data that needs to be transmitted or stored, taking advantage of the fact that the human visual system has poorer acuity for color information than it does for intensity. So, in a YCrCb representation, the Cr and Cb (color) components are filtered and then sub-sampled at 1/2 or even 1/4 the rate of the Y (intensity) component, with very little loss in terms of perceived image quality.
Answer: In image processing it often means chrominance subsampling, meaning that color information is in lesser resolution than the luminance (greyscale) data.
Sometimes, perhaps, it also could mean other things such as resampling to a lower resolution, for example to make it easier to calculate initial vectors in motion estimation.


LWC slds table inside lightning input date exceed width

Question:
Hi friends, I faced the issue while add the lightning input type date inside the table with slds-table style.
 exceed the right side of the component.The screenshot of the issue  and playground link included the below link , If any body face the same issue or have solution for this share.playground link playground link.
Comment: You didn't include the link to the playground nor any code. Please update our question.
Answer: unfortunately, you cannot access the component rendered here due to DOM restrictions in LWC. but you would only need to remove the max-width attribute from the slds-dropdown or update it to be larger like max-width: 30rem in the lightning-input if you were able to. however Salesforce does not allow up to access this internal piece of the lightning-input.
Answer: The reason this is happening is because the slds-table class is applying a padding to the td elements within the lightning input date selector.
The exact style definition of this is
.slds-table td,.slds-table th{ // column 414975 in minified css
    padding:.25rem .5rem; // This .5rem is causing your problem
    white-space:nowrap;
    position:relative
}

This style was never meant to be applied to the date picker which results in the cells within being too large to fit in the container.
This is the style that should be applied but is being overridden:
.slds-datepicker td{ // column 253420 in minified css
    padding:.25rem;
    text-align:center;
    font-size:.75rem
 }

You can become more familiar with the CSS order of precedence here.
The slds-datepicker style appears 161,555 characters earlier in the code then the slds-table style which is what causes it to lose precedence.
This has other impacts that you didn't point out. For instance, when you mouse over the date picker, the rows of the inner table are highlighted grey and the header cells have a grey background, neither of which are supposed to happen.
Unfortunately, since we can't put a


Are $\mathbb{C}^2$ and $\mathbb{C}^2/(x,y)\sim(y,x)$ homeomorphic?

Question: Let $A$ be the set of monic quadratics over $\mathbb C$ and let $B$ be the set of unordered pairs over $\mathbb C$ where possibly the two elements of the pair may be the same. Then the map which takes a quadratic to it roots seems to be a homeomorphism between $A$ and $B$. But I can't reconcile this with the fact that $B$ is $\mathbb C^2$ after it has been "folded in half" and so the points $\{x,x\}\in B$ ought to lie on a boundary near which $B$ is not homeomorphic to $\mathbb C^2$.  Where am I going wrong?
Answer: The "singular set" $(x,x)$ is codimension 2, not 1, so you should not visualuze this as something with boundary. To convince you "why" this works, let's instead consider $X_n = \Bbb R^n \times \Bbb R^n/(x,y)\sim (y,x)$. By considering the map $(x,y) \mapsto (x+y,x-y)$ we see this is the same as $\Bbb R^n \times \Bbb R^n/(x,y)\sim (x,-y)$. This is the same as $\Bbb R^n \times C(\Bbb{RP}^{n-1})$, the infinite cone on $\Bbb{RP}^{n-1}$. This is a manifold when, and only when, $n=2$ (because $\Bbb{RP}^1$ is a circle!) In the case $n=1$ you get $\Bbb R \times [0,\infty)$, like you expect.
It is probably worth adding further that $\Bbb C^k/S_k$, modding out by the action of the symmetric group, is also homeomorphic to $\Bbb C^k$. Taking symmetric powers of complex curves is a powerful tool.
Comment: Amazing, thank you! That problem's been bugging me for ages.
Answer: Viète's mapping $$V:\mathbb C^2\to A=\mathbb C^2:(x,y)\mapsto (s=x+y,p=xy)$$ yields a bijective continuous map $$v :B=\frac {\mathbb C^2}{\sim}\to A=\mathbb C^2:\widetilde {(x,y)}=\widetilde {(y,x)}\mapsto (s=x+y,p=xy)$$ The mapping $V$ is proper, hence closed and thus the descended map $v$ is closed too, which finishes the proof that $v$ is a homeomorphism.
Edit
The map $$v^{-1}: A=\mathbb C^2\to B=\frac {\mathbb C^2}{\sim}:(s,p)\mapsto \widetilde {(x,y)}$$ is the one described by Oscar:
It sends the ordered pair $(s,p)$ identified to the monic polynomial $T^2-sT+p$ to the unordered pair $\widetilde {(x,y)}$ consisting of its two roots, given by the good old formula $$x,y=\frac {s\pm\sqrt {s^2-4p}}{2}$$.


What changes does Unity's HUD offer

Question: In 12.04 there will be many changes to the application menus. For what I have heard HUD will make some of this changes but what does it actually offer for newcomers and old users of Ubuntu.
Answer: Even though, HUD is still under development, one of the biggest +'s, in my opinion, is searching the capabilities within the program, rather than searching through menus and submenus. Again, this update might seem like an inconvenient feature, although that's biassed opinion without giving time to get used to.
Answer: I do not wish to offer an opinion as this site is the place for answers to questions and not for expressing opinions.
I have installed HUD. And I have been trying to work out what it does and how to test it. I have found this link:
Ubuntu wiki link on HUD
Based on my experience of the last few hours this is my answer.
How will it affect new users? Not much. They will not even know it is there. There will need to be a lot of documentation to explain what this innovation can do for the user.
How will it affect old (experienced) users of Ubuntu? Not much unless they change the way they work. In using Unity I have been trained to use the mouse to access the Launcher, the Dash and the global menu. To benefit from HUD I now need to train myself to use the keyboard more than at present.
I understand that HUD will get used to the way we work. When we use HUD to find an application or a file HUD will present us with options based on our previous work pattern. This will benefit all those who make use of HUD.
The effects of this feature will only become apparent as HUD is developed. It needs applications that cooperate with it. It is a very clever at what it does but at the moment I am wondering what is the point of it. At present it does not do anything that I am not already in the habit of doing another way.
The publicity about HUD is great but I need instruction in how to get the best out of it.  Otherwise I may just continue in the same way of working. Perhaps more features will be available as HUD is updated over the coming weeks.
Regards.
Comment: So it is giving the user a keyboard way of accessing faster menus that would normally be access with the mouse? I am actually a user that enjoys using the keyboard more when time is of the essence. For example accessing the terminal with the mouse takes longer that attaching a key for the terminal or typing "te" in the dash.

What changes does Unity's HUD offer


Question about AMD cpu and if there are any problems with any particular libraries

Question: I am getting a new laptop, the best laptop (or at least on paper) that I saw is using amd cpu and gpu. I heard that amd doesn't work well with tensorflow, curious if this is true, if is true is there any other important libraries in python that it doesn't work well with?
Answer: Tensorflow is implemented above CUDA which is an NVidia API for GPGPU (General Purpose GPU usage) that is supported by NVidia GPUs. AMD GPUs support an open standard GPGPU which was later written (OpenCL), however, they differ.
Training on large datasets without using a GPU is possible, but will take much longer.
There seem to be various unofficial solutions (e.g. ref1, ref2) to using Tensorflow with OpenCL, which could work on AMD GPUs, however, if you want this to work out of the box with the latest versions, you'll need an NVidia GPU.


Is Captain Kirk forgetting all the other races in the Federation?

Question:
In Star Trek Beyond, Krall monologues to Captain Kirk on how the unity of the Federation is not a strength, but is instead a weakness. Captain Kirk musters a response something like this, "I think you are underestimating humanity." But, was Krall even talking about humanity? Or, was he talking about the peaceful, melting pot of the Federation? Was Captain Kirk referring to something else?
Comment: It's just the Universal Translator screwing with your understanding of the actual dialog. Don't worry. Everything is fine and dandy and James definitely didn't forget about all the naked green ladies.
Comment: What's the point of dropping these killer one-liners to bad guys if the translator wont deliver them with precision? "You can't handle the truth!" >> "For your own safety, I better not say." :) Good one.
Comment: @Mario - I see we've resorted to the "Universal Translator" explanation (I just did it myself for the imperial vs metric question).  I believe we've created our won trope!
Comment: s/b "own trope"
Answer: The word "humanity" - however derived from the word "human" - is a property not only of humans, but of other intelligent species, such as those in the Federation. It's a concept which was named "humanity" by humans in the time when humans knew only of humans as an intelligent species. Somewhen someone may find a word which is more descriptive, or we can extend the meaning of "human", like the meaning of the word "man" was extended from "adult male" to "person" in many languages.
Comment: Relevant quote from Star Trek VI. Spock: "We both both know that I am not human." Kirk: "You know what Spock? Everybody's human!"
Comment: Re: "the meaning of the word 'man' was extended from 'adult male' to 'person' in many languages": Can you give an example of such a language? In English, the exact opposite happened ("man" originally meant "person", but eventually came to mean specifically "adult male"), so I'd be interested to hear about a language where the reverse happened. :-)
Answer: I took the statement to only mean the human species, on purpose. Krall's biggest point is that he wants humans (as a race) to endure strife in order to grow (what doesn't kill you ...). He believes that the human race has lost its teeth by joining/founding the Federation of Planets and that's why he wants to bring pain and suffering to a Federation Starbase.
In the final mano-a-mano battle, Kirk - a human - proves he still has a fighting spirit, despite being raised in the warm, safe, cozy environment provided by the Federation. He effectively disproves Krall's point, hence his statement.


Is SESSION is safe for transferring encrypted email and password in PHP

Question: I am working on a project where I am using PHP_SESSION, Somewhere I heard that PHP_SESSION are quite unsafe for passing valuable data so I have to know what are the security flaws, how it can be hacked and how to protect yourself from them, Every Simple, Brief and Usable answer should be appreciated.
Answer: The $_SESSION variable in PHP is a temporary block of memory assigned to each specific user separately. Its purpose is not to be secure, it is meant to store session information.
If you are thinking of using it to store long lasting data, or data that needs to comply with the CIA triad I suggest you look into something else. There are variables in PHP's config related to garbage collection that may affect the life cycle of your session data, but most importantly, all session data is stored in the /tmp folder (unless configured otherwise), so if an attacker gains access to the file system they will be able to fetch all content from the $_SESSION variable of every user.
You may consider instead, storing an encrypted version of everything sensitive, as explained here
Another thing to consider is to override the default way of handling $_SESSION, in PHP you can define your own session handling functions. With this you may store your sessions in a remote database for example, adding an extra layer of security. Of course if your file system is compromised the log in credentials to that database most likely will be compromised as well, but at least its an extra layer of security.
Comment: The Data passed using session will strongly encrypted by various complex encryption algorithms but still I think PHP_SESSION is not safe as encrypted data can also be decrypted, So according to you which is the safest function in PHP and How to use it for passing encrypted and sensitive data.
Comment: It depends on each case, you mentioned 2 different scenarios: 1) Email. 2) Passwords.
Passwords are one-way encrypted, but emails need to be decrypted so they can be read. Because of this the mechanism and implementation is different in each. For passwords I recommend password_hash with bcrypt, for email I think mcrypt with rijndael 128 is still considered safe
Comment: For Hacking PHP_SESSIONS Hacker must have to gain access to the server side system's folders which is not possible till then the Hacker doesn't crack the password of the server, It can't be hacked from client side. Am I Right?
Comment: I do not dare to say that something cannot be hacked. Try to look at all the components in your system: the OS, the webserver, even the shell parser, they have all been exposed for security issues. An ounce of prevention is worth a kilo of regret.


When do I need submit my software by in order to be in the software center for 12.04?

Question: I am working on developing a program and want to put it in the software center when I am finished. Do I have to upload the program to developer.ubuntu before the release of 12.04 if I want it to be in the 12.04 software center? Or can I finish after the release and have it put in the repositories at that time?
Comment: @hhlp No, here I'm asking *when* should I get my software in, I already know *how*. Unrelated.
Answer: You may submit an application that runs on 12.04 anytime that 12.04 is a supported version of Ubuntu, which in this case is 5 years after release. When you upload an application you  should indicate what versions of Ubuntu you wish to support, supporting the current release and the LTS is suggested.
Depending on your application it can take a week to approve and publish, so to be in the software center for the release of 12.04 I would give us a little additional time as it does get busy.
Comment: So to clarify: If I finish my application and submit it after 12.04 is released, I can still get it in the 12.04 software center?
Comment: @William yes, as long as the 12.04 is supported.
Answer: Go to http://developer.ubuntu.com/ to find how to get your software to the Ubuntu software center.
"Or can I finish after the release and have it put in the repositories at that time?"
I think it is hard if Ubuntu 12.04 is released. Then you cannot put you software into repositories of default Ubuntu software center. It is better if you finish your software earlier than the final release of Ubuntu! Hope this help you!
Comment: I have already registered the project on developer.ubuntu, do I need to register it on launchpad as well? Also, do you have a source for the fact that software cannot be added to the USC? Thanks.


Android Play Store Error -505

Question: When uploading an APK to the Android Developer Console, everything goes normal, but there are a certain subset of users on android 5.0 and up that are unable to install or upgrade the APK. These users see a Google Play Store error 505.
Answer: There are several different resources that tell you that the 505 error is a conflict of permission. Starting in Android Lollipop, you are no longer able to have duplicate custom permissions with the same name https://developer.android.com/about/versions/android-5.0-changes.html#custom_permissions. If you check stackoverflow for this error you'll find multiple reports of people offering this as a solution. While this can sometimes be the cause of this error there are several other reasons that this, and other conflicts can happen.
1. More than one app defines the same permission
If two completely different apps define the same permission e.g if you have a user and a manager app, and both of them have something along the lines of:
<permission
        android:name="same.package.name.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

2. Same app signed by different keys
You have the same app, but signed by different keys. For example if you had a release version and a debug version, you'll hit a conflict because the system sees this as two different apps requesting the same permission.
3. Conflicting authorities
But there is an entirely different situation that can occur, which is less obvious.  The 505 error can also occur with conflicting authorities.  If two different apps declare the same provider, such as
<provider
    android:name=".provider.YourProvider"
    android:authorities="com.roqbot.client.YourProvider"
    android:exported="false" />

This can also provide a conflict.
The last, and hardest conflict to spot, is one that can happen with Google Play Services 8.1 and up.  If you do not define an application id in your build.gradle file like this:
defaultConfig {
    applicationId "com.example.my.app"
}

it is possible that it will auto-generate a provider that can conflict with other apps.  To check this, go into your your build>intermediates>manifests>full>release>AndroidManifest.xml and look for
<provider
    android:name="com.google.android.gms.measurement.AppMeasurementContentProvider"
    android:authorities="com.google.android.gms.google_measurement_service"
    android:exported="false" />

Here the authority name will conflict with other apps.  If you add the applicationId to the default config, it will change this authority to
<provider
    android:name="com.google.android.gms.measurement.AppMeasurementContentProvider"
    android:authorities="com.example.my.app.google_measurement_service"
    android:exported="false" />

This is very subtle and appears to be a bug starting in google play services 8.1.  The issue can be seen discussed here. https://code.google.com/p/android/issues/detail?id=189079&can=1&q=error%20505&sort=-opened&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened
The point to remember is that it may be several things, and the only thing you can verify for sure with a 505 error is that there is a conflict of some sort, and that it may or may not necessarily be a custom permission conflict.
Comment: Wow.  Thank you so much for #3.  I couldn't reproduce this and was about to start down the road of phone calls and remote desktop in order to debug this.
Comment: Precise answer. Thank you so much for providing multiple solutions. It was the `build.gradle`'s `applicationId` that did it for me
Comment: Thanks for this detailed explanation!
Comment: Great stuff. Very helpful for flavored builds and watching out for the conflicting authorities.
Answer: If you are using the Facebook SDK and following the official sample code, you might also encounter the issue. In my case, I was using a same content provider name on 2 different app's manifest.
 <provider
            android:authorities="com.facebook.app.FacebookContentProvider123"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true" />

I  forgot to change the default name com.facebook.app.FacebookContentProvider123. Finally fixed it by adding a dynamic applicationId as provider name.
<provider
            android:authorities="com.facebook.app.FacebookContentProvider.${applicationId}"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true" />

Answer: Name Of The Error: Error 505
Problem: This is an unusual error code which is encountered during the updation or installation of the application from Google Play store. It shows up an error message stating "Unknown error code during Application installs 505".
Following reasons are responsible for this error.
•   It is mostly seen when you try to install an outdated version of the app.
•   Error 505 can be caused due to the incompatibility of the app with your Android OS version.
•   It can also arise due to cache conflict or data crash of the app.
•   Error 505 may also arise due to Google Account Sync Problem.
Solution:
•   At first restart your Android device, because this step usually works in getting rid off of any type of error. If it didn't work and then try these simple steps.
•   Clear Cache and Data of Google Play Store, Google Service Framework and Download Manager. To do this First of all go to Settings >> then Apps >> select All >> then Google Play Store and Clear cache and Clear data. Also Clear cache and Clear data for Google Services.

Android Play Store Error -505


Metasploit x86/unicode_upper failed with "An encoding exception occurred"

Question: I'm playing a bit with assembler and I decided to test out how metasploit encodes a payload into Unicode uppercase characters as assembly instructions which are meant to be decoded by itself. So I have written simple shell code consisting of 10 nops and a ret. I placed it into a file 1.payload.
I'm using metasploit:
Framework: 4.17.4-dev-4744fb01d9c4234a60c35dc78b9a8710fc19fa01
Console  : 4.17.4-dev-4744fb01d9c4234a60c35dc78b9a8710fc19fa01
on Windows 10.
I tried to encode my payload like this (from cmd.exe):
msfvenom -a x86 --platform windows -p generic/custom
PAYLOADFILE=c:\test\1.payload -e x86/unicode_upper -o c:/out/encoded.bin

And I get this error:

Found 1 compatible encoders
Attempting to encode payload with 1 iterations of x86/unicode_upper
x86/unicode_upper failed with An encoding exception occurred.
Error: An encoding exception occurred.

I do not have any zero bytes in my "payload" it's just 10 nop instructions, and a ret instruction. The encoder for alphs works fine but for some reason it generates weird non-Latin characters at the beginning of the output. Can someone help, do I use it right? How can I encode my x86 assembler payload in Unicode uppercase instructions?
Answer: A workaround for it is to leave off the encoder selector -e x86/unicode_upper. Thus, the msfvenom will try some encoders up they find some that work with the corresponding bad characters.


Orientability of Surfaces and the Fundamental Group

Question: Let $(M,g)$ be a compact riemannian 3-manifold and $\Sigma \subset M$ an embedded compact surface homeomorphic to the projective plane. Consider the application $i_\#:\pi_1(\Sigma)\to \pi_1(M)$ given by $i_{\#}([\alpha])=[i(\alpha)]$, where $i$ denotes the inclusion application of $\Sigma$ into $M$.
Why $i_{\#}$ not injective implies $TM\Big|_{\Sigma}$ orientable?
Comment: This follows from examining the first Stiefel-Whitney class. If you don't know about those, be more direct: if this bundle were not orientable, there would be some loop you could walk around on which it changes its orientation. But all loops in $\Sigma$ are null-homotopic in $M$, so...
Comment: @MikeMiller can you point me some reference?
Answer: Let $j$ be a smooth embedding of $M$ into $\Bbb R^N$ for some large enough $N$. Now the map $j$ induces a map from $ \hat{j}: M \to \operatorname{Gr}_3(\Bbb R^N)$ where  $\operatorname{Gr}_3(\Bbb R^N)$ is the space of 3-planes in $\Bbb R^n$ (see Grassmanian) and $\hat j (x)=\operatorname{Image}(dj(x))$ (the image of the derivative of $j$ at $x$). The universal cover of $\operatorname{Gr}_3(\Bbb R^N)$ is the oriented Grassmanian $\widetilde{\operatorname{Gr}_3(\Bbb R^N)}$, the space of oriented 3-planes in $\Bbb R^N$.
Now consider $\hat j \circ i$. If this map lifts to $\widetilde{\operatorname{Gr}_3(\Bbb R^N)}$, then we can pullback the orientation on each oriented 3-plane in $\Bbb R^N$ to get an orientation
on $TM|_{\Sigma}$. For the map on $\pi_1$, we have $(\hat j \circ i)_*=\hat j_* \circ i_*=0$. So the $\hat j \circ i$ does lift to $\widetilde{\operatorname{Gr}_3(\Bbb R^N)}$ and $TM|_{\Sigma}$ is oriented.


P-adic C* algebras

Question: I understand that there is a definition of p-adic Banach algebras and that a significant amount of functional analysis can be developed in the non-archimedean setting. Is there a p-adic version of C*-algebras? If so, is there an analogue of the GNS construction?
Comment: Would a "reference-request" tag be appropriate for your question? (Just that your question seems to be asking for pointers to any possible literature on the topic, rather than "how do I do prove this particular result?")
Comment: Yes, I am looking for possible references. I'm interested in trying to develop some basic theory myself, but I'd like to know if it has already been done.
Answer: There exists a complete theory of non-Archimedean commutative Banach algebras. In particular, there are conditions under which an algebra is isomorphic to the algebra of continuous functions. For the commutative case, they can be seen as the counterparts of the $C^*$ condition. Note that there is no natural involution in the p-adic case. See
V. Berkovich, Spectral theory and analytic geometry over non-Archimedean fields, AMS, 1990 (the above conditions are in Corollary 9.2.7);
A. Escassut, Ultrametric Banach algebras, World Scientific, 2003.
For the noncommutative case, very little is known.
Answer: Me, Alcides Buss, and Devarshi Mukherjee proposed an answer to this question in this paper.
$\textbf{The idea:}$ Note that via GNS, we can view a complex/real $C^*$-algebra essentially as a closed $*$-subalgebra of the space of bounded operators $B(H)$ for some Hilbert space $H$. The idea is to define a $p$-adic $C^*$-algebra as a normed $*$-algebra over $\mathbb{Z}_p$ that is isometrically isomorphic to a closed $*$-subalgebra of the algebra of bounded operators $B(H)$ for some $p$-adic Hilbert space $H$.
$\textbf{But what is a }p\textbf{-adic Hilbert space?}$ A definition of a $p$-adic Hilbert space was proposed by Prof. Andreas Thom and Anton Claussnitzer in this paper. They define it as follows: For every set $X$, define $\mathbb{Q}_p(X)$ as the set of functions $\xi\colon X \to \mathbb{Q}_p$ such that $|\xi(x)|_p > 1$ for at most finitely many $x \in X$. They define a topology on $\mathbb{Q}_p(X)$ that turns it into a locally compact $\mathbb{Z}_p$-module. They show that $\mathbb{Q}_p(X)$ satisfies various properties similar to real/complex Hilbert spaces, such as having an inner product that induces an analogue of the Riesz representation theorem.
$\textbf{What is }B(\mathbb{Q}_p(X))\textbf{ like?}$ Having a definition of Hilbert space, we can define $B(\mathbb{Q}_p(X))$ as the continuous $\mathbb{Z}_p$-linear maps $T\colon \mathbb{Q}_p(X)\to \mathbb{Q}_p(X)$. These maps always have an adjoint, and we equip $B(\mathbb{Q}_p(X))$ with the operator norm. The Banach $\mathbb{Z}_p$-algebra $B(\mathbb{Q}_p(X))$ is isometrically isomorphic to the space of square matrices indexed by $X$ with $p$-adic coefficients, and in each line and each column, the coefficients go to $0$, equipped with the maximum norm. We then introduce $p$-adic operator algebras as normed $*$-algebras over $\mathbb{Z}_p$ that are isomorphic to closed subalgebras of the unity ball of $B(\mathbb{Q}_p(X))$. We choose the unity ball because these algebras are much better behaved.
$\textbf{Examples and properties of }p\textbf{-adic operator algebras:}$ This is where it gets fun. Completions of group algebras, (étale) groupoid algebras, matrix algebras, algebras of continuous functions are all examples of $p$-adic operator algebras. The category of these objects has all limits and colimits that enable us to construct various new examples from our previous ones. Given any $*$-algebra over $\mathbb{Z}_p$, there is the $p$-adic operator algebra that best approximates it in a precise categorical sense. There are (completed) tensor products and crossed products. We can also do some topological $K$-theory with those algebras and compute explicitly some invariants.
We still did not manage to prove a 'GNS,' and this is certainly our dream theorem.

P-adic C* algebras


bluetooth on acer travelmate laptop can send only, but don't want to receive

Question: I have a acer travelmate 5720 laptop that runs ubuntu 13.04. It has built in bluetooth. For what I can see is that Ubuntu did pick up the bluetooth and the necessary bluetooth drivers is installed. But I'm only able to send files from this laptop to bluetooth devices, but for some reason I can't do the same visa verso to the laptop, for example if I try to send a file from a blackberry 9360 it can't send, tells me failed to find service. It kicks out. I try to find more drivers to install, tried a few in ubuntu software center, but no success. I even uninstalled all bluetooth drivers and reinstalled it, but no success, it doesn't pick up any phone anymore. Please assist me.
Comment: You need to enable "Receive files in downloads folder over bluetooth" http://askubuntu.com/questions/131570/how-do-you-make-ubuntu-accept-files-sent-over-bluetooth
Answer: install blueman :

sudo apt-get install blueman

that fixed it for me
Comment: I tried it, but I still have the same problem. something else to try?
Comment: have you tried with another bluetooth device ?
Comment: I've tried a external device, I somewhat got it right to be able to send from the laptop to a blackberry. But it is still not working as it suppose to be. Will it work to uninstall all the bluetooth drivers, restart and reinstall it and see if the internal bluetooth works properly again?


Trying To Make Nemo File Manager Remember A Specific Group Of Tabs And Open Them On Nemo Launch

Question: i followed the below link tutorial as follows and had no luck getting nemo to remember a group of tabs "opened bin as root, created the above nemo-tab.py.,made it executable, installed xdotool and wmctrl, and beyond that i'm at a loss. thought rightclicking on bin, open in terminal, and entering nemo-tab.py "/home/mc2635599/Desktop/Shortcuts" would do the trick, but all it did was open a copy of the tab i already had open. once i did the 4th tab i wanted i exited terminal, closed nemo, relaunched nemo and no multiple tabs."
Save Nemo tabs in Linux Mint
Answer: You have misunderstood the answer you linked to. The python script doesn't remember anything. You have to feed it all the tabs you wish to open, in a wrapper script.
So - take a note of the open tabs you wish to "save".
create a script as per the example (Don't forget to replace the paths with the ones you noted first):
<code>#!/bin/bash
nemo-tab.py "~/Documents"
nemo-tab.py "~/Desktop"
nemo-tab.py "~/media/data"
nemo-tab.py "~/Videos"
nemo-tab.py "~/Pictures"
</code>
And launch that script instead of launching nemo directly.
Comment: "And launch that script instead of launching nemo directly.". so do what i did and once created click on the nemo-tab.py? then i can send that to the desktop or create a shortcut wherever i want it?
Comment: No, nemo-tab.py is not the wrapper script. The wrapper script has `nemo-tab.py "/some/path"` lines in it. You create a wrapper script which calls nemo-tab.py several times, each time with a different argument, and launch THE WRAPPER SCRIPT instead of nemo or nemo-tab.py.
Comment: You create the wrapper script yourself, based on your personal preference and requirements
Comment: Please read the tutorial and my answer more carefully- create a script appears in both
Comment: ok took me a minute but that #/bin/bash is a text file like the .py file is and i just save that as a script file, right? so....

#!/bin/bash
nemo-tab.py "/home/mc2635599/Desktop"
nemo-tab.py "/home/mc2635599/Desktop/Shortcuts"
nemo-tab.py "home/CombinedPartitions/Downloads/Torrents"
nemo-tab.py "home/CombinedPartitions/TV Series"
nemo-tab.py "home/ComBinedPartitions/TV Series/Last Night's"


Diffierence between Texture Atlas and Megatexture

Question: I would like to know if I create more than 2 texture atlantes, can this be  considered as a Megatextures or are they just 3,4,5 texture atlantes.  I think Megatextures are for modular buildings with terrains or tiled textures, right?
Answer: Overview
Texture Atlantes and Megatextures might share some similarities but they involve different technologies.
TL;DR: Megatextures and Texture Atlantes are not the same.
Texture Atlas
A texture atlas describes the method of packing several (many) textures of several objects into one big texture. Every object occupies its own texture space on the UV map of this texture atlas.
Megatextures
Megatextures (by the original definition of John Carmack, id Software) are not only huge textures, they also involve a different technology in the game graphics engine and normally are used exclusively for terrain.
Technology
Most game graphics engines use tiling texture chunks to cover the terrain, which might look good from a close range, but (depending on the texture quality) often breaks the illusion when viewed from a distance.

Conventional texturing is quite easy to implement. Besides the already existing texturing techniques it additionally involves blending techniques between different terrain tiles.
A Megatexture due to its size (32000x320000 Pixels in Rage) is able to cover the whole terrain, thus will theoretically not repeat any pattern.
Megatexturing is quite demanding on the hardware and during production process as well.
There is no way that a Megatexture of the size that was used in id Software's Rage will fit in any existing graphics card RAM, so the engine must be capable of not only steaming terrain geometry but also streaming those parts of the Megatexture which are visible on screen. This requires not only optimized hard- and software but also a fast medium to stream from, otherwise you would have visible streaming errors during fast camera rotations.

On the production side you also need hard- and software that is capable of dealing with huge image sizes.
id Software's next step in the evolution of their id Tech engine is called Virtual Texturing, where the Megatexture not only cover the terrain but every single model in the game itself. The texture sizes can reach 128000×128000 pixel and more.
Comment: Can't believe! Oblivion, valley around Imperial City! Yes, that was a good way to see tiling texturing.
Comment: @MrZak - Yes, this is only one of many examples that showcase Bethesda's "lazy" way of dealing with textures. I remember the urge I felt to fix this eyesore as soon as I exited from the sewers.
Comment: excellent info...so this is useful for that engine (from Rage, id software) ? unreal and others engine can not handle megatextures? , but I think Atlasing texture is more than enough for me.
Comment: @ReifusRufus - AFAIK id Tech is the only Engine that supports texture streaming out of the box.


Is Acronis True Image always a true image?

Question: I am planing a full backup in my computer using Acronis for the first time. I know that there are two kinds of backup softwares, one that can only copy the files and restore them, but cannot restore a complete windows installation, thus the user will have to reinstall everything, and the other kind that makes a image of the system, being able to restore all its files and the system itself as a whole.
The question is: Does Acronis True Image always make a full system image (when I select full backup) or there is some hidden option I have to select?
I know the software name says much, but I just want to confirm.
Answer: Acronis True Image does both of the backups you described.

File Backups: Only files and folders are compressed and stored
Disk/Partition Images: Stores a sector-by-sector snapshot of the disk or partition.  This will include the operating system, drivers, registry, application, files, and any of your configuration

To do a complete backup (Disk/Partition), make sure you select Disk and partition backup on the Backup and recovery tab
See the Acronis user manual at http://www.acronis.com/support/documentation/ (under Acronis True Image Home) for more information
Comment: I have a SSD with my windows and a HDD with my files...if I do a partition backup, how the sector by sector will behave?
Comment: Do a disk/partition backup of your SSD, since all your system files are there. If your HDD only contains your personal data (images, documents, music, etc.), do a file backup for the HDD.
Comment: I did a disk backup for both o them, just did 2 different backups, one for the SSD and one for the HDD, so I believe this way each backup will have its own aligment
Comment: I will accept it, usually I just wait some days in case someone else shows up with a different perspective.