Detect Windows or Linux in C, C++
How do I check OS with a preprocessor directive?
The motivation for this question is in my answer to this post :       (1) If I take $A$, $B$ and $C$ three groups such that $A\times B$ is isomorphic to $A\times C$ then do we have $B$ is isomorphic to $C$ ?   In the post a counter example is given when $A$ is an infinitely generated group. However I cannot get a counter-example when $A$, $B$ and $C$ are assumed to be finite groups. Note that there is no reason a priori if $\phi$ is an isomorphism from $A\times B$ to $A\times C$ that $\phi(A\times\{1_B\})=A\times\{1_C\}$.   In the case of finite groups it is true because of the Krull-Schmidt theorem : .  A slightly more general question is the following :     (2) If $B$ and $C$ are two finitely generated groups, can I always find a finitely generated group $A$ such that $A\times B$ is isomorphic to $A\times C$?   If $A$ is not assumed to verify any property but to be a group we can take :  $$A=B^{\mathbb{N}}\times C^{\mathbb{N}} $$  Furthermore replacing :$ \prod_{\mathbb{N}}$ by $\bigoplus_{\mathbb{N}}$ (or more likely the restricted product for groups but I am not sure of a well known notation, it is the subgroup of the product with all but a finite number components being trivial) will give you the same result for countably infinite groups.   $\underline{\text{Edit}}$ : To be clear about what I am asking. (1) is kown to be true for finite groups whereas (2) is known to be true when we are considering groups without restriction (even just for countably infinite groups). Let us pretend we are working on the smaller class of groups : the finitely generated groups. Is there any counter example to $(1)$? Is there any counter example to $(2)$?   $\underline{\text{Edit 2}}$: Here is a partial answer, from the classification of finitely generated abelian groups $(1)$ is always true if all groups are assumed to be abelian finitely generated groups. Now assume that $A\times B=G=A\times C$. Then you have (derived groups) :  $$D(G)=D(A)\times D(B)=D(A)\times D(C) $$  So the abelianizations verify :  $$A^{ab}\times B^{ab}=A^{ab}\times C^{ab}$$  Because we are now in the realm of finitely generated abelian groups we get :  $$B^{ab}=C^{ab} $$  So $(2)$ cannot be true in general for instance you can take $B:=\mathbb{Z}$ and $C=\mathbb{F}_5$, those two groups have different abelianizations.   The new question can be found here : How to shrink Windows 7 boot partition with unmovable files Is the convex hull of closed set in $\mathbb R^{n}$ is closed? Is convex hull of closed set in $\mathbb R^{n}$ closed? I read a comment under :     There are plenty of events that can occur that have zero probability.   This reminds me that I have seen similar saying before elsewhere, and have never been able to make sense out of it. So I was wondering    if zero probability and impossibility mean the same? if an event with zero probability doesn't mean that the event is impossible to occur, how probability theory represents/describes impossibility?   Thanks and regards! Is there an algorithm to decide if a symlink loops? Unix systems usually just error out if they are confronted with a path that contains a symlink loop or just too many symlinks, because they have a limit to the number of symlinks they will traverse in one path lookup. But is there a way to actually decide if a given path resolves to something or contains a loop, even if it contains more links than a unix is willing to follow? Or is this a formally undecidable problem? And if it can be decided, can it be decided in a reasonable amount of time/memory (e.g. without having to visit all files on a filesystem)?  Some examples:  a/b/c/d where a/b is a symlink to ../e and e is a symlink to f and f is a symlink to a/b  a/b/c/d where a/b/c is a symlink to ../c  a/b/c/d where a/b/c is a symlink to ../c/d  a/b/c/d where a/b/c is a symlink to /a/b/e where a/b/e is a symlink to /a/b/f where a/b/f is a symlink to /a/b/g   Edit:  To clarify, I am not asking about finding loops in the file system, I am asking about a decision algorithm that decides of a given path whether it resolves to a definite file/directory or whether it does not resolve at all. For example in the following system, there is a loop, but the given path still resolves fine:  / -- a -- b where b is a symlink to /a   This directory tree clearly has a cycle, but the path a/b/b/b/b/b still resolves fine to /a. What is a good way of parsing command line arguments in Java? Can decimal numbers be considered "even" or "odd"? Can I update an early Airport Time Capsule? Disable chat migration notification if one of the users has insufficient rep? How to set the chapter style in report class? I want to set chapters to look like 'bigger' sections.  Now in the report class I have a style like:     Chapter 1      Introduction      1.1. Section   What I want to achieve is:        Introduction         1.1. Section   I don't want to change the document class. Transpose Ranges repeated by row I would like to convert several range of columns into rows, and keeping the association to the original col/row source  Sample source sheet  --------------------------------------------------- | Data 1 | 1/1/2018 | 1/2/2018 | 1/3/2018 | etc...365 days | --------------------------------------------------- | name 1  |    25    |   30     |    5     | etc...|  --------------------------------------------------- | name 2  |    2     |          |    4     | etc...| --------------------------------------------------- | etc ... 100 rows   Expected Results  --------------------------------------------------- | Data 1 |   Date      |  Value   |  --------------------------------------------------- | name 1  |  1/1/2018   |   25     |    --------------------------------------------------- | name 1  |  1/2/2018   |   30     |    --------------------------------------------------- | name 1  |  1/3/2018   |   5      |    --------------------------------------------------- | name 1  |  etc.. 365 days --------------------------------------------------- | name 2  |  1/1/2018   |   2      |    --------------------------------------------------- | name 2  |  1/2/2018   |          |    --------------------------------------------------- | name 2  |  1/3/2018   |   4      |    --------------------------------------------------- | name 2  |  etc.. 365 days --------------------------------------------------- | etc ... for each change of name pull all the col dates/values   Current results  --------------------------------------------------- | Data 1 |   Date      |  Value   |  --------------------------------------------------- | name 1  |  1/1/2018   |   25     |    --------------------------------------------------- |         |  1/2/2018   |   30     |    --------------------------------------------------- |         |  1/3/2018   |   5      |    --------------------------------------------------- |         |  etc.. 365 days                      I have to copy down to bring in "name 1" for each date  --------------------------------------------------- | name 2  |  1/1/2018   |   2      |             now update the formula to bring in the second item for the sequence of dates --------------------------------------------------- |         |  1/2/2018   |          |    --------------------------------------------------- |         |  1/3/2018   |   4      |    --------------------------------------------------- |         |  etc.. 365 days --------------------------------------------------- | etc ...     =Sheet1!A:A I can bring in the name from the source list, but I have to copy it down for the number of dates.  How can I have it match the number of dates?  and be dynamic to update as dates/values are added Edit: trying to use split and rept to count the number of times to repeat, then transpose.. =transpose(rept(split(arrayformula(concatenate(Sheet1!A:A&amp;"1")),"1",True, True),COUNTA(Sheet1!I1:ZZ1)))  =TRANSPOSE(Sheet1!$C$1:$Z$1) I can use transpose to get the dates/values, but it's fixed range.  How can I make it dynamic to import dates as they are added? I have 256 colors working just fine in konsole,. I thought I'd give tmux a try because, unlike screen, it seems to support vi mode.  However I find that the colors of my prompt show up and this is most likely because I have a 256 color mode prompt. What do I need to do to get tmux to recognize all 256 colors? I have a large amount of duplicate records (25.000) in an even larger table (250.000 records). I've done the detection using the reporting function. The criteria I used to detect the duplicates were 3 fields (unique account identifier, unique user identifier and date). Based on a list of criteria, I would like to either merge or delete these records. I've got a handle on the logic associated with the merging and the deleting but what I'm having trouble with is defining the duplicate detection process.   I'm looking at either creating a custom object to take care of the detection or dumping the records into an SQL database and taking care of it offline. Any thoughts on which one of the two is the best approach?  Edit:  After reading the first comment, I think the more appropriate question would be "How do I approach the problem in SOQL".  The object I'm working with is the Event object and I'm really only looking at the standard fields, AccountId, OwnerId and ActivityDate. From what I've found online, there's no easy way to find records that have the same value for these three fields. I think it could be accomplished by nesting SOQL queries but I'd like to use a different approach if at all possible. How to cite a book chapter written by an author who is not the editor or author of the book with BibTeX? I don't know how to cite a chapter written by an author who is not the editor or author of the book.   How can I get the following citation?     Grandstrand, O. (2004), 'Innovation and Intellectual Property Rights', in J. Fagerberg, D.C. Mowery and R.R. Nelson (Eds.), Oxford Handbook of Innovation. Oxford University Press: Oxford. Universal Chord Theorem Let $f \in C[0,1]$ and $f(0)=f(1)$.   How do we prove $\exists a \in [0,1/2]$ such that $f(a)=f(a+1/2)$?  In fact, for every positive integer $n$, there is some $a$, such that $f(a) = f(a+\frac{1}{n})$.  For any other non-zero real $r$ (i.e not of the form $\frac{1}{n}$), there is a continuous function $f \in C[0,1]$, such that $f(0) = f(1)$ and $f(a) \neq f(a+r)$ for any $a$.  This is called the Universal Chord Theorem and is due to Paul Levy.  Note: the accepted answer answers only the first question, so please read the other answers too, and also this answer by Arturo to a different question:     This is being repurposed in an effort to cut down on duplicates, see here: .  and here: . Along the lines of , what reasons are there (if any) to favor \( ... \) over $ ... $? How do you clean a seasoned cast iron skillet? I have a seasoned cast iron skillet, and I don't want to mess up the seasoning when I'm cleaning it.  What do I use and what don't I use to get it back to clean?  I've heard not to use soap and to make sure it is dry, but nothing beyond that. Audio is working, but the speaker test doesn't work I've installed Ubuntu 12.04 LTS from a minimal cd on a netbook (Asus 1001 PXD). I've installed the ubuntu-desktop package using the --no-install-recommends option.  Everything works fine, except the "sound test" for headphones or analog speakers.  Clicking on the "test" buttons (front left and front right) I don't hear any sound. Despite this, the audio is working properly.  I've checked the audio levels with alsamixer; I have also checked that the test sounds actually exist in /usr/share/sounds/alsa.  I tried an installation of Ubuntu 12.04 LTS made with the desktop-cd, and in this case the speaker test works properly.  I suppose, therefore, that the problem could depend on the lack of a package, but I have not identified which one. Transaction log reported full but is not What is the real answer to the Birthday question? "How large must a class be to make the probability of finding two people with the same birthday at least 50%?"  I have 360 friends on facebook, and, as expected, the distribution of their birthdays is not uniform at all.  I have one day with that has 9 friends with the same birthday. (9 months after big holidays and valentines day seem to be big ones, lol..)  So, given that some days are more likely for a birthday, I'm assuming the number of 23 is an upperbound.  Has there been a better estimate to this problem?