I have been getting into the festive spirit and have set a code challenge to light up my tree with a get request using Flask. Currently, I am hitting a UnboundLocalError: local variable 'test' referenced before assignment I don't understand how to set up a variable that one thread can set to either true or false and the other reads it and lights up my tree.  import threading from flask import Flask app = Flask(__name__) test = 'best'   @app.route('/') def hello():     test = not test     return &quot;Hello World!&quot;  def background():     from gpiozero import LEDBoard     from gpiozero.tools import random_values     from signal import pause     from time import sleep     tree = LEDBoard(*range(2,28),pwm=True)     while True:         if test:             for led in tree:                 led.source_delay = 0.1                 led.source = random_values()             sleep(0.2)  def foreground():     app.run(host='0.0.0.0')    test = True b = threading.Thread(name='background', target=background) f = threading.Thread(name='foreground', target=foreground)  b.start() f.start()  What is the best way for me to share the test variable and alternate it between true and false between the 2 threads without some heavy engineering such as using a database or writing out to a text file?
The following code works as expected in both Python 2.5 and 3.0:  a, b, c = (1, 2, 3)  print(a, b, c)  def test():     print(a)     print(b)     print(c)    # (A)     #c+=1       # (B) test()   However, when I uncomment line (B), I get an UnboundLocalError: 'c' not assigned at line (A). The values of a and b are printed correctly. This has me completely baffled for two reasons:   Why is there a runtime error thrown at line (A) because of a later statement on line (B)? Why are variables a and b printed as expected, while c raises an error?   The only explanation I can come up with is that a local variable c is created by the assignment c+=1, which takes precedent over the "global" variable c even before the local variable is created. Of course, it doesn't make sense for a variable to "steal" scope before it exists.  Could someone please explain this behavior?
When and how did "pretty" enter English as an intensifying adverb? Today I saw an idiomatic road sign: "Pretty Muddy". I found this lack of strict English on a road sign unusual (on par with my "Dead Slow" official speed limit sign in Leeds, pic below), but as it turned out it's a charity race and the signs were merely directions.  This got me thinking however, how do words like "pretty" and "dead" as   end up in English? Taking "pretty" as an example, when did this first appear?     I wonder how fast you have to be going before they stop you. How would this hold up in court? I'm not able to get access to $wpdb Why does an unhinged body rotate about its centre of mass? Samba authentication fails What is the name for the grammatical device of putting "not" after a verb to negate it? I sadly haven't been able to answer this questions using Google. In beamer, I'd like to make the default font for the entire title page, as well as frame titles, to be the default font from the old  (example ). Force.Com Sidebar - Reference Data From Current Screen On URLs? I am being lead to believe this is possible:  A URL on the Force.Com Sidebar Menu which references data from the currently open page.  i.e., /{!recordId}?nooverride=1    However, this does not work.  The brackets simply turn into percent encoded references on the resultant page.  Is it possible to pass information onto a URL on the Force.Com sidebar? I dug a large room to specifications, 3 blocks tall and 16 blocks wide as well as long. I dug it at 10 levels above bedrock, in a location {(-240, 0) -> (-224, 16)} specified by  slime finder app. I am definitely more than 24 blocks away and less than 32 away from the spawn room, as specified by the wiki .  Yet, no slimes. I have been sitting in my location patiently listening for the moist slapping sounds of slime. I have gone in to the room every time I heard a phantom slap but still nothing.  Am I just being dumb somehow or do the minecraft lords just hate me?  If it helps/anyone cares here's my seed: 6405460532872068998 Java multiline string How to sample from a discrete distribution? Assume I have a distribution governing the possible outcome from a single random variable X.  This is something like [0.1, 0.4, 0.2, 0.3] for X being a value of either 1, 2, 3, 4.  Is it possible to sample from this distribution, i.e. generate pseudo random numbers upon each of the possible outcomes given the probability of that outcome. So if I wanted to know what the probability of getting a 2 is, the sampling operation may return 0.34 or something like that.  The reason I ask is that I'm trying to implement an action selection policy for a reinforcement learning method based on a research paper. From what I gather from the paper, the author is able to sample the distribution by "mapping the uniform distribution U[0,1] through cumulative probability density functions obtained by adaptive numerical integration". From this he then samples the transition probabilities for each trial...  I would be grateful for any info on this...  Thanks in advance How can I stitch a panorama correctly if I moved the camera along the horizontal axis? Here in Argentina, we have . All the houses and walls on that street have some kind of mosaic stuck to it, and it's very cool. It was made by a local artist .  Because to this piece of urban art is two blocks long, I've decided to make a panorama of it, by moving myself on an horizontal axis while taking photos. I mean, I took one photo, walked one step deeper along the street, took another photo, and so on.  When I tried to stitch it in AutoPano, the following deformed thing came out:   ()  And the other side of the block:   ()  After this, I've learned about parallax error and why you have to avoid moving when making panoramas. I mean, there are a lot of connection errors on both images. Especially in the second one, the part with the corner is quite problematic to stitch because to as I moved, the perspective of the view changed a lot.  So, is there any way to stitch this kind of panorama correctly? Would this only work on plain walls? I have to do some manual reordering or rows in Excel and cut/paste is too hard to use. I'm looking for something that would enable me to use drag'n'drop or to add some buttons to move-up/down move-top/bottom. How to remove link for an application in new Google Launcher? How to mount electronics on a vehicle chassis safely I want to implement a control system I designed for a light electric motorbike. I would like to mount it as professionally as possible on the chassis. It consists of a power system pcb and a SAMC21 development board which I'll merge later once this all works properly. I have tried screwing it directly on the aluminium chassis but have found that shocks and vibrations from the horn disturbed the system or even destroyed it upon large shocks like a few hammer hits. Is there a specific way car and motorcycle manufacturers mount their electronics to make their system as robust as possible? Thank you for your help! How could I get the terminal to be launched once I have logged in, so that typing commands is much simpler? I've noticed this on occasion with a variety of applications. I've often thought it was because the output was cancelled early (ctrl+c, for example) or something similar, and zsh is filling in a new line character. But now curiosity has gotten the best of me, since it doesn't seem to do this in bash.   zsh    bash    The Sequence program is something I pulled from a book while reading on Java certifications and just wanted to see if it would compile and run. I did notice that it does not use the println() method from the System.out package/class. Instead it uses plain old print().  Is the lack of a new line character the reason I get this symbol? Determinant of a square matrix in a field \begin{array}{rrrrr|r}     b &amp; a &amp; a &amp; \cdot \cdot \cdot &amp; a \\     a &amp; b &amp; a &amp; \cdot \cdot \cdot &amp; a \\     a &amp; a &amp; b &amp; \cdot \cdot \cdot &amp; a \\     \cdot &amp; \cdot &amp; \cdot &amp; \space &amp; \cdot\\ \cdot &amp; \cdot &amp; \cdot &amp; \space &amp; \cdot\\ a &amp; a &amp; a &amp; \cdot \cdot  \cdot &amp; b   \end{array}  I have the above matrix $A\in M_{n\times n}(F)$ where $F$ is a field and $n\geq1$, $a,b\in F$.  I'm trying to find out how to use row operations to make it into an upper triangular matrix in order to figure out the determinant. But I'm not sure how I would approach it. When I login to my ubuntu system, it show me this this message, How can I see it any time? I tried to run . .bashrc but it didn't worked.   Welcome to Ubuntu 12.10 LTS (GNU/Linux 3.2.0-24-virtual x86_64)   * Documentation:  https://help.ubuntu.com/    System information as of Sat Jul 13 06:16:35 UTC 2013    System load:  0.55              Processes:           96   Usage of /:   8.1% of 68.74GB   Users logged in:     0   Memory usage: 55%               IP address for eth0: 198.xx.xxx.xxx   Swap usage:   0%                IP address for eth1: xxx.1x0.xx.xxx    =&gt; There is 1 zombie process.    Graph this data and manage this system at https://landscape.canonical.com/  223 packages can be updated. 134 updates are security updates.  Last login: Mon Jul  8 17:47:05 2013 USB stick mysteriously become write protected So, somehow over the weekend, my 1GB USB flash drive has managed to become write-protected.  There is no switch on the stick, so I'm concluding that something has corrupted at some point.  Obviously I can't format it or remove.  The output from dmesg | tail is:  Buffer I/O error on device sdb1, logical block 328168 lost page write due to I/O error on sdb1 sd 73:0:0:0: [sdb] Unhandled sense code sd 73:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE sd 73:0:0:0: [sdb] Sense Key : Data Protect [current] Info fld=0x0 sd 73:0:0:0: [sdb] Add. Sense: Write protected sd 73:0:0:0: [sdb] CDB: Write(10): 2a 00 00 05 08 00 00 00 01 00 Buffer I/O error on device sdb1, logical block 328200 lost page write due to I/O error on sdb1   I think the second and final lines are a giveaway to corruption, but I don't know how to interpret this output.  Could someone help to see if this output gives any indication?  I usually eject the drive before removing it, but I may have been lax once or twice.  The data isn't critical, it's just bugging me.  Any suggestions on how to fix it (if the drive even can be) would be greatly appreciated. Check if the application is already installed