I was reading some gstreamer code and fell on this line  register int i;   Does anyone know what the register keyword does ?
What does the register keyword do in C language?  I have read that it is used for optimizing but is not clearly defined in any standard.  Is it still relevant and if so, when would you use it?
How to show $(mn)!$ is divisible by $(m!)^n$? How to show $(mn)!$ divides $(m!)^n$, $m$ and $n$ is integers? In  I prove, using generating functions, a statement equivalent to  $$\sum_{k=0}^n \binom{2k}{k} \binom{2n-2k}{n-k} (-1)^k = 2^n \binom{n}{n/2}$$ when $n$ is even.  (Clearly the sum is $0$ when $n$ is odd.)  The nice expression on the right-hand side indicates that there should be a pretty combinatorial proof of this statement.  The proof should start by associating objects with even parity and objects with odd parity counted by the left-hand side.  The number of leftover (unassociated) objects should have even parity and should "obviously" be $2^n \binom{n}{n/2}$.  I'm having trouble finding such a proof, though.  So, my question is     Can someone produce a combinatorial proof that, for even $n$, $$\sum_{k=0}^n \binom{2k}{k} \binom{2n-2k}{n-k} (-1)^k = 2^n \binom{n}{n/2}?$$   Some thoughts so far:   Combinatorial proofs for $\sum_{k=0}^n \binom{2k}{k} \binom{2n-2k}{n-k}  = 4^n$ are given by  and by .  The proofs are basically equivalent.  In Phira's argument, both sides count the number of paths of length $2n$ starting from $(0,0)$ using steps of $(1,1)$ and $(1,-1)$.  By conditioning on the largest value of $2k$ for which a particular path returns to the horizontal axis at $(2k,0)$ and using the facts that there are $\binom{2k}{k}$ paths from $(0,0)$ to $(2k,0)$ and $\binom{2n-2k}{n-k}$ paths of length $2n-2k$ that start at the horizontal axis but never return to the axis we obtain the left-hand side.  With these interpretations of the central binomial coefficients $2^n \binom{n}{n/2}$ could count (1) paths that do not return to the horizontal axis by the path's halfway point of $(n,0)$, or (2) paths that touch the point $(n,0)$.  But I haven't been able to construct the association that makes these the leftover paths (nor do all of these paths have even parity anyway).  So perhaps there's some other interpretation of $2^n \binom{n}{n/2}$ as the number of leftover paths.    Update. Some more thoughts:  There's another way to view the identity $\sum_{k=0}^n \binom{2k}{k} \binom{2n-2k}{n-k}  = 4^n$.  Both sides count the number of lattice paths of length $n$ when north, south, east, and west steps are allowed.  The right side is obvious. The left side has a similar interpretation as before: $\binom{2k}{k}$ counts the number of NSEW lattice paths of length $k$ that end on the line $y=0$, and $\binom{2n-2k}{n-k}$ counts the number of NSEW lattice paths of length $n-k$ that never return to the line $y =0$.  So far, this isn't much different as before.  However, $2^n \binom{n}{n/2}$ has an intriguing interpretation: It counts the number of NSEW lattice paths that end on the diagonal $y = x$ (or, equivalently, $y = -x$).  So maybe there's an involution that leaves these as the leftover paths.  (Proofs of all of these claims can be found on , for those who are interested.) Travel to Ireland (Dublin) with U.K. Visitor visa What happens if I get the same skill from both my background and my class? What is the difference between Ubuntu and its derivatives? Field extensions and algebraic/transcendental elements Let $E$ be an extension of field $F$, and let $\alpha, \beta \in E$. Suppose $\alpha$ is transcendental over $F$ but algebraic over $F(\beta)$.   Show that $\beta$ is algebraic over $F(\alpha)$.  Okay, first questions: What does the notation $F(\alpha)$ and $F(\beta)$ mean? And being transcendental means it solves no equations with rational coefficients, but what does it mean for a field? Windows OS on external hard drive Is it possible to install Windows OS to plug and play storage devices such as external hard drives, HDD enclosures (with SATA hard drives), USB flashdrives and the likes? What OS's? And if it's possible, can I boot on it after the installation/formatting?  I've read someone has tried this already using Windows XP but failed since XP reinitializes all attached USB devices before loading OS, thus disabling the External HDD that is attached via USB port.  What about other Windows OS: on Windows 7 or 8.... or Windows 10?  I'm asking this because I'm planning to create a portable OS. When I'm at my house, when I go to my grandmother's, or to a friend's place: I just simple plug that portable storage device, change the boot priority, and turn on the system and ta-da! I will only see one environment every time. Could not get lock /var/lib/apt/lists/lock when I try to apt-get update I'm getting the below error,  E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable) E: Unable to lock directory /var/lib/apt/lists/ Tighten rope without turnbuckles? I have two 4-ft x 4" x 4" wood posts, and each post has a screw eye. There's 12 feet of distance between each post.  How can I tighten a piece of 1/2" diameter rope that goes through each screw eye and it's stretched tightly without having to buy turnbuckles?  There has to be a knot just for this. I want to monitor the output of a command and whenever it contains a certain string I want to run another command.  Example: when command1 outputs 1234 I want to run command2 List partition labels from the command line Is there a command that will list all partitions along with their labels? sudo fdisk -l and sudo parted -l don't show labels by default.  EDIT: (as per comment below) I'm talking about ext2 labels - those that you can set in gparted upon partitioning.  EDIT2: The intent is to list unmounted partitions (so I know which one to mount). How to mount read-write an ext4 partition on Windows? I want to use ext4 on my external HDD, but it must be cross-platform. (At least Linux, Win7 &amp; WinXP).  Unfortunately, I haven't found any proper driver allowing Windows to WRITE to ext4. I've found , but it only reads ext4.     9. ext4 extent read-only, no  size truncating and expanding support   More:     Supported Ext3/4 features:         flexible inode size: > 128 bytes, up to block size   dir_index:    htree directory index   filetype:     extra file mode in dentry   large_file:   > 4G files supported   sparse_super: super block backup in group descriptor   uninit_bg:    fast fsck and group checksum   extent:       reading, writing with no extending.   journal:      only support replay for internal journal         Unsupported Ext3/4 features:         journal: log-based operations, external journal   extent: size truncating &amp; expanding, file deletion   flex_bg: first metadata group   EA (extended attributes), ACL support      Also, I have found a patch for Ext4Fsd v0.50 ():     New: Matt Wu has made a new release 0.50 at   ext2fsd.com.  Support for ext4 extents and fix   for BSOD on Windows 7.   I don't think it will be safe. Also I've read some words about writing ext4 in Windows could cause data loss on the disk...  What is the External HDD used for? - First, it will store backups, then family movies, pictures. Some music, and etc. It will be connected to a Raspberry Pi, if I finally receive it. It won't really move, just when it is used to migrate computer's data to a new one. The largest files it will store are Clonezilla disk images (I don't know, if they will be large files or not).  Can someone provide a solution for this problem? Or is there NO important enough difference between ext4 and ext3, and I should use ext3? - (If yes, then can I use Ext2Fsd for that ext3 mount?)  Thank you! New install - no network devices available - Realtek Device b822 I just purchased a Lenovo Yoga 730 15" laptop, and installed Ubuntu 16.04 in place of Windows 10. Install seemingly worked fine, but now I have no wifi device available.  Tried a reinstall just to be sure, and the same issue is happening. I don't believe it to be a hardware issue, as wifi was working without issue on Windows before I wiped it out.  When I run rfkill list I see:  0: ideapad_wlan: Wireless LAN Soft blocked: no Hard blocked: no   But when I run lspci I only see one item in the list claiming to be a network device:  3a:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device b822 (rev ff)   I have a USB wifi adapter and that gets me connected without issue, but obviously that is not the desired solution.  Does anyone have any insight on what might be causing the issue?  Output from modinfo -p rtl8822be:  fix_rate: (int) debug_level: (int) swenc:Set to 1 for software crypto (default 0) (bool) ips:Set to 0 to not use link power save (default 1) (bool) swlps:Set to 1 to use SW control power save (default 0) (bool) fwlps:Set to 1 to use FW control power save (default 1) (bool) msi:Set to 1 to use MSI interrupts mode (default 1) (bool) dma64:Set to 1 to use DMA 64 (default 0) (bool) aspm:Set to 1 to enable ASPM (default 1) (int) debug:Set debug level (0-5) (default 0) debug_mask:Set debug mask (default 0) (ullong) disable_watchdog:Set to 1 to disable the watchdog (default 0) (bool) You see him for a split second in the final scene with the Final Order and he has kind of a white beard. I can't find any reference online except Nien Nunb from ROJ. Why does pdfTeX hang on this file? Let $a &lt; b$ and $f:[a, b] \rightarrow \mathbb R$ be a Riemann integral function. Suppose that $f(x) \geq 0$ for all $x \in [a, b]$. I want to show whether $\int_a^bf(x) = 0$ implies $f(x) = 0$ or not, but I'm not sure where to start. I don't know much about Riemann integral functions in general. I only know that $$\underline \int_a^b f= \overline \int_a^b f.$$ Also, I know the fact that if $f$ is continuous, then $f(x) = 0$ for all $x\in [a, b]$. Can anyone provide any hints for me, because I'm really confused about this whole thing. Preview on the right please, optionally? Why does this test program result in a java.lang.IllegalMonitorStateException?  public class test {     static Integer foo = new Integer(1);     public static void main(String[] args) {         synchronized(foo) {             foo++;             foo.notifyAll();         }         System.err.println("Success");     } }   Result:  Exception in thread "main" java.lang.IllegalMonitorStateException         at java.lang.Object.notifyAll(Native Method)         at test.main(test.java:6) $a_1x_1+a_2x_2+a_3x_3+...+a_nx_n=$ is called a linear equation because it represents the equation of a line in an n dimensional space. So "linear" comes from the word "line".Basically there should not be any higher power of x failing which the graph of the function will not be a straight line.  simillarly  $a(x)y+b(x)y'+c(x)y"+d(x)y'''+...+q(x)=0$ is also called linear differential equation because all the derivatives have power equal to 1 which is similar to the above definition of a linear equation.  A function f is called linear if: $f(x+y)=f(x)+f(y)$ and $f(cx)=cf(x)$. Here c is a constant. In this definition of linearity of function "$f$" what does the word linear means? How does it relate to a straight line?  Finally what does the term linear means in case of linear vector spaces? Where is the reference to a straight line?  So, whether linear is just a word used in different contexts? Does it have different meaning in different situation? Or linearity refers to some relation to a straight line? At Least please explain how the linearity of function f and linear vector space relate to the equation of a line. How to manage users and groups using GUI? Just switched from 10.04 to 11.10. I'm wondering about the limited options in the GUI for managing users and groups. Where is the old GUI to change groups, id's, etc. I know that I can do this from cli, that's no problem. But I want this comfortable GUI back.