It's well known that X symbol means close (and in some contexts dismiss or hide), but why/where was this symbol initially chosen?   My only thought was that when you want to "cancel" information on printed paper it is crossed-out and that led to X, which is similar to crossing out an item, becoming a symbol for cancel () which was then again re-purposed as close, but I have no evidence of this. Is there a history behind this symbol?
I was wondering about the reason of the choose of the X as symbol used to represents the "Close application" operation.
I was looking for a tree or graph data structure in C# but I guess there isn't one provided.  explains a bit about why.  Is there a convenient library which is commonly used to provide this functionality?  Perhaps through a strategy pattern to solve the issues presented in the article.  I feel a bit silly implementing my own tree, just as I would implementing my own ArrayList.     I just want a generic tree which can be unbalanced.  Think of a directory tree.  C5 looks nifty, but their tree structures seem to be implemented as balanced red-black trees better suited to search than representing a hierarchy of nodes. Proximal Operator Fixed Point Property for Matrices $\newcommand{\prox}{\operatorname{prox}}$ $\newcommand{\argmin}{\operatorname{argmin}}$ $\newcommand{\dom}{\operatorname{dom}}$  Recall again that the proximal operator for vectors $\prox_{f}: R^n \rightarrow R^n$ of $f$ is defined as:  $\prox_f(v) := \argmin_{x} \left(f(x) +(1/2)\|x-v\|_2^2 \right) $,  where $f: R^n \rightarrow R \cup \infty$ is a closed proper convex function and $\|\cdot \|_2$ is the Euclidean norm. $\prox$ is strongly convex and not everywhere infinite, so there it will have a unique minimizer for every $v \in R^n$  The crucial property of proximal operator is that $x^*$ minimizes $f(x)$ iff $x^* = \prox_f(x^*)$, i.e. $x^*$ is a fixed point of $\prox_f$.  Let us consider the proof of this property. The first part, namely, that if $x^*$ minimizes $f$ then $\prox_f(x^*)=x^*$, is trivial:  $f(x) +(1/2)\|x-x^*\|_2^2 \le f(x^*) = f(x^*) +(1/2)\|x^*-x^*\|_2^2$  The second part uses the notion of subdifferential. In the proof authors say that $\tilde{x}$ minimizes  $f(x) +(1/2)\|x-v\|_2^2$  i.e. $\tilde{x} = \prox_f(v)$ iff $0 \in \partial f(\tilde{x}) + (\tilde{x}-v)$,   where the sum is of a set and a point. Recall the definition of the subdifferential:  $\partial f(x) = \{ y$ |  $ f(z)\le f(x) + y^T(z-x)$ $\forall z \in \dom{f}\}$  Take $\tilde{x}=v=x^*$, it follows that $0 \in \partial f(x^*)$ so $x^*$ minimizes $f$.  Question 1:  Consider proximal operator defined for matrices now:  $\prox_f(Y) := \argmin_{X} \left(f(X) +(1/2)\|X-Y\|^2 \right)$,  where $X$ is some real $m$ by $n$ matrix. What norm function should be taken in the definition of the $\prox$ in this case? Frobenius? Or spectral norm (induced 2nd norm) which is the largest eigenvalue (is spectral norm even differentiable?)? Or something else?  Question 2:   Can the norm for the definition of $\prox$ in case of matrices be chosen in different ways? What conditions does the proof above impose on the norm function? While studying rotational mechanics, I came across a section where it mentioned that angular momentum may not necessarily be parallel to angular velocity. My thoughts were as follows:  Angular momentum ($L$) has the relation $L=I\omega$ where $\omega$ is angular velocity and $I$ is the moment of inertia, so following this relation, it seems they should be in the same direction. Why are they not? Placing math environments inside math environments I have a macro which appears throughout my document in various places:  \newcommand{\placefraction}[2]{     $\frac{#1}{#2}$ }   Sometimes it is placed with regular text. Sometimes it is placed within other math modes. However, the document won't compile if it is placed inside another math mode.  None of my math ever appears in displayed formulas, it is always part of the paragraph.   How can I have a macro which sometimes appears inside math mode, sometimes outside, but itself contains math mode? I want to update Acrobat Reader for Firefox, but the download has the .bin extension. How can I install it? Matrices commute if and only if they share a common basis of eigenvectors? My inline-block elements are not lining up properly Paging SQL Server 2005 Results How do I page results in SQL Server 2005?  I tried it in SQL Server 2000, but there was no reliable way to do this. I'm now wondering if SQL Server 2005 has any built in method?  What I mean by paging is, for example, if I list users by their username, I want to be able to only return the first 10 records, then the next 10 records and so on.  Any help would be much appreciated. $f$ a real, continuous function, is it measurable? Let $f: \mathbb{R} \to \mathbb{R} $ be a continuous function. I need to show that is a measurable function.   I tried working with the definition:  Let $f: X \to \mathbb{R}$ be a function. If $f^{-1}(O)$ is a measurable set for every open subset $O$ of $\mathbb{R}$, then $f$ is called a measurable function.  Since $f^{-1}(O)$ also lies in $\mathbb{R}$, I think it is sufficient to show that every subset of $\mathbb{R}$ is measurable. But is this possible?   So far I concluded that $\mathbb{R}$ itself is measurable, since $$\mu(A) = \mu(A \cap \mathbb{R}) + \mu(A \cap \mathbb{R}^c) = \mu(A) + \mu(\emptyset) = \mu(A).$$ How do I need to approach? What does the double slash mean in `${f// /_}`? I'm learning Bash, and I want to replace space characters with other "non blank" characters. I'm using a for loop:  for f in *\ *; do mv "$f" "${f// /_}"; done   My question is, why are the double slash and the space in ${f// /_}? What does ${f// /_} do? .fbx export why there are no materials or textures? I used node textures in a mesh I exported to .FBX.  I then imported it into Unreal Engine 4 and it didn't import any textures; I clicked the Upload Textures option in Unreal Engine.  Is there something I'm doing wrong or is it Blender? Is there any way you could revive Guest Sessions in a future LTS distro?  Guest sessions are good security - they give me just enough power to do what I need to do on a daily basis without risking my system. In short, Guest sessions save me from myself.  I had upgraded from 16.04 to 18.04, gotten a problem I couldn't fix and was all to happy to wipe and rebuild my hard drive and return to 16.04.  I can't be the only one who feels this way. I'm using pdfLatex (with --shell-escape option) and I had a problem of compilation with TexWorks that was successfully solved with the help of other post in this site: .  After correcting that error the code compiles smoothly but just displays the logarithmic grids, not the function. The gnuplot files are created in the right place, but the graphic doesn't come out in the PDF.  Code from :  \documentclass{article}  \usepackage{tikz} \usepackage{bodegraph}  \begin{document}  \begin{tikzpicture}[     gnuplot def/.append style={prefix={}}, % Fixed the issue (prefix was 'gnuplot/\jobname/' before) ] \begin{scope} \UnitedB \semilog{-1}{2}{-50}{60}  \BodeAmp{-1:1.35}{\POAmpAsymp{4}{2.0}+\IntAmp{1}}  \end{scope} \end{tikzpicture} \end{document}   Any clues? Passing a formatted NSDate Auto Package download for TeXLive I use MiKTeX on Windows and quite satisfied with it. Recently I started switching all my tasks toward open-source alternatives, and in the course I would love to use Linux. In Linux TeXLive is available as alternative to MiKTeX. The thing I really like about MiKTeX, is its ability to install packages automatically. Can I do the same in TeXLive too? Is there a way I can enable such or install some plugins for it?  I am using Fedora 18, if that's needed. Aspect (simple, perfect and progressive): What are the differences? Could you please explain to me the differences between the simple, progressive and perfect aspects.  "Simple aspect" means completed action (action starts and finishes) but I don't really understand the fine details.  For example, with these sentences:     It usually rains in the fall.   He smokes 15 cigarettes a day.   I slept for a long time yesterday.     Here's what I understand: if I didn't complete sleeping I should use "I was sleeping". If it doesn't stop raining we can't say "it is finished". Is that correct?  For continuous aspect, duration is an important factor – but how?  For example:     She is wearing a jacket.   Normally "to wear" action is completed but we can use here present continuous aspect.  Another example:     She has been wearing the same jacket for 3 days.   and why can't I use continuous aspect here?     I have cleaned my room.   It means that my room is clean now. Action is finished but why can't I say "I have been cleaning room" like "They have been playing in the mud"? Action is completed but we don't care here about completed, we are caring about duration, why? In MTG, what happens when a player loses in multiplayer? I need to prove that $\mathbb{R}\backslash\mathbb{Q} \sim \mathbb{R} $  Using Cantor-Bernstein, need to show an injection from $\mathbb{R}\backslash\mathbb{Q}$ to $\mathbb{R}$ and from $\mathbb{R}$ to $\mathbb{R}\backslash\mathbb{Q}$.    $\mathbb{R}\backslash\mathbb{Q}$ is a subset of $\mathbb{R}$ so only need to show injection from $\mathbb{R}$ to $\mathbb{R}\backslash\mathbb{Q}$ to complete the proof.    Possible injection: $f:\mathbb{R}\to \mathbb{R}\backslash\mathbb{Q}$ defined as $f(x) = \pi x$ if $x$ is not a multiple of $\pi$; otherwise $f(x) = \sqrt{2} x$.    Not sure if $f$ actually is an injection... The script I use is actually returning this output:  (source /Thetra/Commun/env_ora.sh &gt;/dev/null; sh aclenv/arun)  geIlgif0t1 -DVORACLE geIlgif0t1 prg_25900: ACOMP=X geAhadlAd1 -DVORACLE geAhadlAd1 prg_25948: ACOMP=A syCcgge0t1 -DVORACLE syCcgge0t1 prg_26023: ACOMP=S2 syVcalq0t1 -DVORACLE syVcalq0t1 prg_26071: ACOMP=Y syVvali0t1 -DVORACLE syVvali0t1 prg_26119: ACOMP=Y syAedit0t1 -DVORACLE syAedit0t1 prg_26167: (1312) DBMS WARNING: Column not found in table. (-11238)   RETURN (-6)     END  END     END     IF cm_para_f2('VDEF','abQtip_0n1','unicite',syAedit0t1:$v_unicite)&lt;&gt;0      OR null_convert$(syAedit0t1:$v_unicite,'R') &lt;&gt; 'F' THEN SET syAedit0t1:$v_unicite TO 'R'     SET $v_tips_mrgl TO 'S'     SET $v_rfbt_iban, $v_rfbt_intitule, $v_orga_creancier, $v_orga_tip_adr1, $v_orga_tip_adr2,         $v_orga_tip_adr3, $v_code_docu, $v_tips_centre, $v_code_etab, $v_orga_tip_emetteur,  $v_orga_emetteur, $v_rfbt_compte, $v_orga_banque, $v_rfbt_emetteur TO     SELECT rfbt_iban, rfbt_intitule, orga_creancier, orga_tip_adr1, orga_tip_adr2, orga_tip_adr3 ACOMP=N syAvali0t1 -DVORACLE syAvali0t1 prg_26215: (2751) DBMS WARNING: Column not found in table. (-11238)  + to_string_using$(str_to_val$(substr$(clip_str$(to_string$($f_imme_no)),1,4)),'&amp;&amp;&amp;&amp;')         + to_string_using$(str_to_val$(substr$(clip_str$(to_string$($f_sepa_propriete_no)),1,5)),'&amp;&amp;&amp;&amp;&amp;')     IF syAvali0t1:$v_unicite ='R' THEN  SET $v_sepa_rum3 TO $v_sepa_rum3 + substr$(to_string_using$(syAvali0t1:$v_ordr_direct,'&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;'),7,9)     ELSE ACOMP=N syAcalc0t1 -DVORACLE syAcalc0t1 prg_26263: ACOMP=N syAcalc0t2 -DVORACLE syAcalc0t2 prg_26311: ACOMP=N syAcalc0t3 -DVORACLE syAcalc0t3 prg_26359: ACOMP=N   To check for errors I use the following command:  (source env_ora.sh &gt;/dev/null; sh aclenv/arun) | egrep '^ACOMP=$'   Output:  (1312) DBMS WARNING: Column not found in table. (-11238)   RETURN (-6)     END  END     END     IF cm_para_f2('VDEF','abQtip_0n1','unicite',syAedit0t1:$v_unicite)&lt;&gt;0      OR null_convert$(syAedit0t1:$v_unicite,'R') &lt;&gt; 'F' THEN SET syAedit0t1:$v_unicite TO 'R'     SET $v_tips_mrgl TO 'S'     SET $v_rfbt_iban, $v_rfbt_intitule, $v_orga_creancier, $v_orga_tip_adr1, $v_orga_tip_adr2,         $v_orga_tip_adr3, $v_code_docu, $v_tips_centre, $v_code_etab, $v_orga_tip_emetteur,  $v_orga_emetteur, $v_rfbt_compte, $v_orga_banque, $v_rfbt_emetteur TO     SELECT rfbt_iban, rfbt_intitule, orga_creancier, orga_tip_adr1, orga_tip_adr2, orga_tip_adr3 (2751) DBMS WARNING: Column not found in table. (-11238)  + to_string_using$(str_to_val$(substr$(clip_str$(to_string$($f_imme_no)),1,4)),'&amp;&amp;&amp;&amp;')         + to_string_using$(str_to_val$(substr$(clip_str$(to_string$($f_sepa_propriete_no)),1,5)),'&amp;&amp;&amp;&amp;&amp;')     IF syAvali0t1:$v_unicite ='R' THEN  SET $v_sepa_rum3 TO $v_sepa_rum3 + substr$(to_string_using$(syAvali0t1:$v_ordr_direct,'&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;'),7,9)     ELSE   We can see that grep is returning non matching lines.  When I redirect the stderr to stdout with this command:  (source /Thetra/Commun/env_ora.sh &gt;/dev/null; sh /Thetra/Oracle/transfert/P2016.H.1/aclenv/arun) 2&gt;&amp;1 | egrep '^ACOMP=$'   As expected, the output is void.  Why grep is returning non matching lines when stderr is not redirected ? How to make a multiboot USB key? I want to cut my 8 GB USB key into several partitions to use  for a Windows XP (maybe d before).   I also want to put the  remix pack into it such that it has the second bootable OS. I want to tweak and modify it a little because if I can I want to switch Ubuntu 9.04 to the  version.  How to do it easily?  IMP: in short I want to make a dual-boot USB key with Windows XP SP3 and Ubuntu 8.04.3 LTS.