I have a very fragmentary understanding of shells, subshells, functions, background processes and therefore I am insecure in understanding how this fork bomb works in detail,   However I tell you how what I know:   :() Here the colon is simply an unusually looking function name {...} Here is described what the function is doing {:()} Here the function calls the next iteration of itself {:()&amp;} Here the function calls itself and puts the next iteration of itself into the background of the shell ...;: The last colon is the starting point of the function's actual execution, what is before is just its definition   So, my basic understanding is, it is a recursive function, which works like a spawning machine, spawning copies of itself until the point the system can not proliferate social wellfare anymore.  But, I do not really understand in a visually way what is happening step by step.  For instance   :()|:()&amp;  Why are both function callings combined through a pipe symbol? Is the fork bomb spawning in a linear fashion, a constant number of processes per time unit or is it more abombically exponential like the two function calls suggest.   Could some one provide additionally a visual step by step comic strip of the spawning process, no matter how sloppy?
WARNING DO NOT ATTEMPT TO RUN THIS ON A PRODUCTION MACHINE   In reading the  I generally follow what's going on with the following code:  :(){ :|:&amp; };:   excerpt of description     The following fork bomb was presented as art in 2002;   its exact origin is unknown, but it existed on Usenet prior to 2002.   The bomb is executed by pasting the following 13 characters into a    shell such as  or . It operates by defining   a function called ':', which calls itself twice, once in the   foreground and once in the background.   However the last bit isn't entirely clear to me. I see the function definition:  :(){ ... }   But what else is going on?  Also do other shells such as ksh, csh, and tcsh also suffer the same fate of being able to construct something similar?
Solving the recurrence $T(n) = \sqrt n T(\sqrt{n}) + \sqrt{n}$ Clipping raster with vector boundaries using QGIS In QGIS I would like to clip a raster precipitation layer using an admin boundary layer that is vector data. However the Geoprocessing tools seem to be usable only for vector data. How can I clip this precipitation layer? What is the origin of "man on the spot"? What is the origin of "man on the spot" ?   defines on the spot and uses as an example man on the spot.     on the spot -  at the place in question; there; "they were on the spot when it happened"; "it had to be decided by the man on the   spot" (Emphasis added)   Some evidence suggests that the origin of the phrase refers to decisions made by officials of the past British empire and actions taken by them. Vertically centered horizontal rule filling the rest of a line? I'd like to have a horizontal line extending from the end of the text on a line to the right margin. So far I've found \hrulefill and \leaders\hrule\hfill, but these draw a line that's flush with the baseline of my text — how can I get it to be vertically centered? Generator expressions vs. list comprehensions When should you use generator expressions and when should you use list comprehensions in Python?  # Generator expression (x*2 for x in range(256))  # List comprehension [x*2 for x in range(256)] OpenGL GLX context is not using direct rendering, which may cause performance problems. (steam) AMD DRIVER When I start steam in a terminal, I get the following error messages   charlie@SteamMPL:~$ steam rm: no se puede borrar «/home/charlie/.steam/steam»: Es un directorio rm: no se puede borrar «/home/charlie/.steam/bin»: Es un directorio Running Steam on ubuntu 14.04 64-bit STEAM_RUNTIME is enabled automatically [2014-08-03 11:50:13] Startup - updater built Jul 15 2014 18:14:26 Installing breakpad exception handler for appid(steam)/version(1405474565_client) libGL error: failed to load driver: swrast Looks like steam didn't shutdown cleanly, scheduling immediate update check Installing breakpad exception handler for appid(steam)/version(1405474565_client) [2014-08-03 11:50:14] Checking for update on startup [2014-08-03 11:50:14] Buscando actualizaciones disponibles... Installing breakpad exception handler for appid(steam)/version(1405474565_client) [2014-08-03 11:50:14] Download skipped: /client/steam_client_ubuntu12 version 1405474565, installed version 1405474565 [2014-08-03 11:50:14] Nothing to do [2014-08-03 11:50:14] Verificando instalación... [2014-08-03 11:50:14] Performing checksum verification of executable files [2014-08-03 11:50:15] Verification complete Gtk-Message: Failed to load module "overlay-scrollbar" Gtk-Message: Failed to load module "unity-gtk-module" Installing breakpad exception handler for appid(steam)/version(1405474565_client) Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 78: saw unknown, expected number [0803/115015:WARNING:proxy_service.cc(958)] PAC support disabled because there is no system implementation libGL error: failed to load driver: swrast Error: OpenGL GLX context is not using direct rendering, which may cause performance problems.   Hardware information:   CPU: AMD Athlon x4 760k  GPU: AMD Radeon R7 250 1 GB GDDR5 (Driver: Catalyst 14.4) RAM: 8 GB DDR3 1600   What can I do to circumvent this issue? Verify my proof of the irrationality of $\sqrt{6}$. how to remove the double quotes in a csv I have a CSV file like  a.csv "1,2,3,4,9" "1,2,3,6,24" "1,2,6,8,28" "1,2,4,6,30"   I want something like   b.csv 1,2,3,4,9 1,2,3,6,24 1,2,6,8,28 1,2,4,6,30   I tried awk '{split($0,a,"\""); But did not help.Any help is appreciated. Why must local variables have initial values? I have the following code:  if ($_POST['submit'] == "Next") {     foreach($_POST['info'] as $key =&gt; $value) {         echo $value;     } }   How do I get the foreach function to start from the 2nd key in the array? Galois group of irreducible cubic equation VBA array sort function? I'm looking for a decent sort implementation for arrays in VBA. A Quicksort would be preferred. Or any other  other than bubble or merge would suffice.  Please note that this is to work with MS Project 2003, so should avoid any of the Excel native functions and anything .net related. Importing a Single Symbol From a Different Font I want to stop having to use sudo everytime I work in /var/www. How can I do that? I simply want to put all of my sites into this directory and work with them without too much pain. Is voting to balance in the spirit of the site? The other day I saw an answer which was ok. Not great but not bad. So no reason to upvote or downvote. However the answer already had a single downvote. I felt this was unfair so upvoted the answer to keep it at what I felt was a fair score. It wasn't until afterward that it occurred to me that I should have perhaps solely voted on the content of the answer.  Is this a reasonable reason for an upvote or should I have left the answer alone? Prove the $n$th Fibonacci number is the integer closest to $\frac{1}{\sqrt{5}}\left( \frac{1 + \sqrt{5}}{2} \right)^n$ Prove that the $n$th Fibonacci number $f_n$ is the integer that is closest to the number $$\frac{1}{\sqrt{5}}\left( \frac{1 + \sqrt{5}}{2} \right)^n.$$   Hi everyone, I don't really understand the problem. I have the following hint, but I don't know how to work it.     Hint: Show that the absolute value of $\frac{1}{\sqrt{5}}\left( \frac{1 - \sqrt{5}}{2} \right)^n$ is less than $1/2$. How do I reverse a list using recursion in Python? I want to have a function that will return the reverse of a list that it is given -- using recursion. How can I do that? How to roll the viewport? How do I rotate the viewport around the local (to the view port) - Z axis?  Basically what you would  get if you were to hit R with the camera selected in camera view. What happens to Red Skull after Thanos gets the Soul Stone? I have just updated MiKTeX and have found that pstricks now appears to cause a problem. The error message I'm getting is     ("C:\Program Files\MiKTeX 2.9\tex\generic\pstricks\pstricks.tex"      ! Undefined control sequence.      l.31 \if@check@engine   Not sure what's happening here. If I stop pstricks from being loaded things work ok.  Is there a known problem with the latest pstricks?