For programming in C, it is quite common to switch between creating debug- and release-versions by passing a command line argument to the compiler.  I would like to have something similar for pdflatex. Optimally, there would be conditional parts within the source LaTeX file depending on some variable, and then the switching between the versions can be done by somehow setting this variable at the command-line invocation of pdflatex.  Is it possible to achieve something like this? What's the easiest / cleanest way?
I compile most of my documents via Makefiles which take care of the bibliography, indexes, etc. Often I'd like to compile different versions from the same TeX file changing only small things (e.g. a beamer presentation plus a version with the handout option).  Is there any standard mechanism for passing parameters to the TeX file so that I can just type make handout to get the handout version in the above example?
I have thus far avoided the nightmare that is testing multi-threaded code since it just seems like too much of a minefield.  I'd like to ask how people have gone about testing code that relies on threads for successful execution, or just how people have gone about testing those kinds of issues that only show up when two threads interact in a given manner?  This seems like a really key problem for programmers today, it would be useful to pool our knowledge on this one imho. How to unlock gungeoneers I've seen on a wiki that there is a ghost gungeoneer and a robot gungeoneer but it didn't say how to unlock them, so how do I unlock more gungeoneers ? sum numbers in different lines in shell i have 8000 lines similar to this   &lt;Flow flowId="1" timeFirstTxPacket="+0.0ns" timeFirstRxPacket="+924100.0ns" timeLastTxPacket="+199984927558.0ns" timeLastRxPacket="+199675473275.0ns" delaySum="+2287566662167.0ns" jitterSum="+65280162191.0ns" lastDelay="+3511349483.0ns" txBytes="161956" rxBytes="116536" txPackets="3125" rxPackets="2251" lostPackets="640" timesForwarded="0"&gt;   and what i need to do is summing rxPackets in each line together and txPackets too   i mean total sum of them in 8000 lines  thanks in advance  &lt;Flow flowId="1" timeFirstTxPacket="+0.0ns" timeFirstRxPacket="+924100.0ns" timeLastTxPacket="+199984927558.0ns" timeLastRxPacket="+199675473275.0ns" delaySum="+2287566662167.0ns" jitterSum="+65280162191.0ns" lastDelay="+3511349483.0ns" txBytes="161956" rxBytes="116536" txPackets="3125" rxPackets="2251" lostPackets="640" timesForwarded="0"&gt;  &lt;Flow flowId="2" timeFirstTxPacket="+3000000.0ns" timeFirstRxPacket="+3254190.0ns" timeLastTxPacket="+199988489445.0ns" timeLastRxPacket="+199631899307.0ns" delaySum="+12081144328484.0ns" jitterSum="+105606015634.0ns" lastDelay="+9407845452.0ns" txBytes="251896" rxBytes="124840" txPackets="4867" rxPackets="2413" lostPackets="1757" timesForwarded="0"&gt;  &lt;Flow flowId="3" timeFirstTxPacket="+4000000.0ns" timeFirstRxPacket="+4254098.0ns" timeLastTxPacket="+199971756470.0ns" timeLastRxPacket="+198959480315.0ns" delaySum="+5150205600987.0ns" jitterSum="+74009967633.0ns" lastDelay="+9862217799.0ns" txBytes="163044" rxBytes="90532" txPackets="3150" rxPackets="1751" lostPackets="1013" timesForwarded="0"&gt; How can I install Windows after I've installed Ubuntu? Intersection of finitely generated ideals Let $I$, $J$ be finitely generated ideals in a ring $A$ (commutative with identity). I know that the intersection need not be finitely generated: can somebody give me an example?   Thanks. What is the relationship between philosophy and science? While philosophy and science as held as separate disciplines (and often taught in completely different colleges within a university [i.e. College of Liberal Arts vs. College of Science]), it is patently clear that there is an immutable relationship between philosophy and science. Philosophy can often be seen as providing justification for particular scientific theories -- but why/how is this so?  In science:   A theory must have observable consequences that can be tested and be falsified.   Theories also must agree with previous theories in the domains where they had been successfully tested.   For example,  special relativity reduces to Newton mechanics in the domain of velocities much less than the speed of light.  In philosophy, while new theories must comply with existing theories, there is clearly much less testing/retesting.  So, how does philosophy fit into this framework while maintaining the rigor required for scientific inquiry?  Are there any examples of philosophical discussions that have significantly influenced or changed scientific theory? How to validate an email address in JavaScript Is there a regular expression to validate an email address in JavaScript? I received my PhD in 2009 and my adviser will not provide a good recommendation for me. This is mostly because we have fundamentally different approaches to science, and in retrospect I see that I could have avoided a breakdown in our relationship if I had been more deferential.  At this point, I leave his name off of my list of references, but I suspect that a diligent potential employer might call him anyway. I would be willing to discuss any concerns that were brought up in such a call - indeed I think that doing so will help me to find a good fit in a new position - but I do not know if I should, or how to state this fact in my job applications.  I am currently finishing my post doc, and one recommendation has been to take another post-doc so that I at least have two supportive references from postdoc advisers - and that the additional publications will place less weight on recommendations. Still, others have told me that not having a good reference from my adviser is a kiss of death.   How can I most effectively handle this situation? How to extract the n-th elements from a list of tuples? What are the minimum content and traffic requirements for Google AdSense? Understanding 74LVC245 datasheet and current source/sink I'm using a SN74LVC245A () to shift 5V TTL down to 3.3V so I can read the signals with a Raspberry Pi.  However I am getting really weird results (a 60Hz input signal is picked up by the Pi at anything between 110Hz and 320Hz) and I'm really confused about how to read the datasheet to figure out whether I need pullup or pulldown resistors.  The datasheet says on page 4 the "high-level output current" is -24mA, and the "low-level output current" is 24mA.  So to me this means that when the device is outputting a high signal, it is able to sink 24mA of current (since outputting a negative amount of current suggests the current is going into the device instead.)  But then if you're outputting a positive voltage, isn't that sourcing current?  Why is the figure listed as a negative value?  Is anyone able to explain what these figures actually mean?  When I disconnect the 74LVC245 output from my GPIO pin, I still get weird signals from the floating input pin so I am assuming this means the 74LVC245 output is also floating in one state, but I don't know in which state it is (i.e. is it left floating on a high output signal or a low one?)  It doesn't really make sense to be floating on a high output signal since it's a level converter and the whole point is to maintain the correct 'high' voltage, so do I need pulldown resistors to handle the low output?  If so, why does the datasheet seem to suggest the chip can both source and sink current?  (In my mind, source current means the device can output a current with a positive voltage, while sinking current means the device takes in anything and connects it to GND, so perhaps that is where I am going wrong.)  Anyway I'm quite confused so any clarification would be much appreciated! Activity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@44f72ff0 that was originally added here Global JavaScript Variable Scope: Why doesn't this work? How to use unicode characters in Windows command line? We have a project in Team Foundation Server (TFS) that has a non-English character (š) in it. When trying to script a few build-related things we've stumbled upon a problem - we can't pass the š letter to the command-line tools. The command prompt or what not else messes it up, and the tf.exe utility can't find the specified project.  I've tried different formats for the .bat file (ANSI, UTF-8 with and without ) as well as scripting it in JavaScript (which is Unicode inherently) - but no luck. How do I execute a program and pass it a Unicode command line? Check all dependencies of a Record Type in the Organisation before deactivating it I am looking forward to delete a Record Type in my Salesforce organisation. However before I go ahead and do the same I would love to know all of its dependencies in the entire org.  Please help me in finding a tool or a method to easily get all the list of dependencies associated with that particular record type.This may include ,  a)      Workflows/Process Flows b)      Validation Rules c)       Apex Triggers/Classes d)      Any other dependencies if we deactivate the record type.(including Picklist and Page layouts)  Thanks in advance. How to panelize gerber files? I am planning on ordering a panel with four different designs on it. Two were made in Altium, while the other two were made in Eagle.  Altium has a great tool for panelizing boards designed in it, but I don't believe it can put designs from other programs on the panel.  How can I panelize these PCBs? Is it possible to have several different views of one scene and set them as named "presets"? Operator norm. Alternative definition When trying to launch Audacity, I get the following error:  Audacity could not find a place to store temporary files. Please enter an appropriate directory in the preferences dialog.   No files or folder have been moved.   I have purged Audacity, deleted any files, etc manually and re-installed   In terminal:  pst007x@pst007x-Serval-Professional:~$ audacity   (process:16390): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::sm-connect after class was initialised  (process:16390): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::show-crash-dialog after class was initialised  (process:16390): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::display after class was initialised  (process:16390): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::default-icon after class was initialised  ** (Audacity:16390): WARNING **: Owner of /tmp/orbit-pst007x is not the current user  Segmentation fault pst007x@pst007x-Serval-Professional:~$    I have not changed any users or added any additional users. All privaleges, etc are default.   Ubuntu 13.10 64bit (all updates applied)  ADDITIONAL:  I can open as gksu audacity  So it looks like privileges is an issue somewhere. I have checked all privileges and all seems ok, but clearly not....  I tried changing the Directory in Preferences to a directory in my home folder:  /home/pst007x/Music/audacity_temp/  but when starting again (not in root) same error...  Any ideas what files could be lacking privileges?   After changing the Directory, when running I get this:  pst007x@pst007x-Serval-Professional:~$ audacity   (process:28364): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::sm-connect after class was initialised  (process:28364): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::show-crash-dialog after class was initialised  (process:28364): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::display after class was initialised  (process:28364): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::default-icon after class was initialised Segmentation fault pst007x@pst007x-Serval-Professional:~$    I checked installed files using Synaptic Package Manager, then checked permissions:  pst007x@pst007x-Serval-Professional:~$ sudo chmod -R 777 /usr [sudo] password for pst007x:  pst007x@pst007x-Serval-Professional:~$ audacity  (process:31026): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::sm-connect after class was initialised  (process:31026): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::show-crash-dialog after class was initialised  (process:31026): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::display after class was initialised  (process:31026): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::default-icon after class was initialised Segmentation fault pst007x@pst007x-Serval-Professional:~$    EDIT. After the above, I rebooted and was no longer able to login. So I did a fresh install. Not a bad thing since the original install on the this system was 10.10. Working ok after fresh install.  Thank you for taking the time to post answers and suggestions.. I'm a European citizen living in the US on a work visa. Due to some unfortunate circumstances, I need to urgently visit my home country. However I would like to get back to the US after my visit is complete. Flying from the US to Europe is not a problem as there are still daily flights between some city pairs. However going back could be tricky, as  anyone who has been in the Schengen area in the past 14 days from re-entering the country.   Is there a flight route that would let me from Europe to some country, stay there for 14 days and then fly to the US? Canada is out, as they've banned international visitors. Mexico seems to keep their border open, but I  any direct European flights from their airports. Almost every other country either suspended flights or doesn't allow foreign nationals to enter.