That sounds very similar to my plan on Tesco mobile although my data is limited to 1.5GBs. What is your experience of 3? I've heard bad things about them and worry about the quality of their coverage. Would you recommend them? And if you don't mind me asking: where in the UK are you located?
I was there too and don't believe that the problem was with the ticketing system. They overestimated the maximum capacity. The Swamp 81/Numbers stage was massively popular and had a max capacity of 700... for an event with 15,000 attendees.
Actually, this is not a design flaw, and it is not because of internals, or performance.
It comes simply from the fact that functions in Python are first-class objects, and not only a piece of code.
Why in Common Lisp defaults behave the way one would expect, then? Functions are also first class, but defaults are evaluated at every call.
I don't know CL, but in python function definitions can be executed multiple times... at the top level this happens at module import, so it ends up being only once. But in nested definitions, e.g.
Two different function objects are created. If, in the above examle, bar took a pram thelist=[], each call to foo would produce a bar function with a different list instance for thelist. The default values can be read as expressions passed to the function object constructor, rather than a bit of code to be evaluated each function run.
I don't know how CL works in this regard, nor do I know which is better or worse. I think the explanation linked did a terrible job conflating first class functions with execution and runtime models. Some of the answers below it explain better tho. :)
The fact that definition can be evaluated many times is not really relevant here. What is important is how one specifies language's semantic -- for instance, Common Lisp: The Language, 2nd edition book (I don't own ANSI standard) says:
When the function represented by the lambda expression is applied to arguments, the arguments and parameters are processed in order from left to right. (...) If optional parameters are specified, then each one is processed as follows. If any unprocessed arguments remain, then the parameter variable var is bound to the next remaining arguments, just as for required parameter. If no arguments remain, however, then the initform part of the parameter specifier is evaluated, and the parameter variable is bound to the resulting value (...).
The CLTL2 specifies that the form representing the default value of optional parameter shall be evaluated every time the parameter is not provided.
No blog. I've thought about doing that, though mostly in the context of covering technical aspects for artists and designers. I've often found it easier to teach designers to deal with technical issues than to teach technical people to deal with design issues. I was actually expecting a lot more argument from people about my comment. Every good artist learns early that they can't trust their own eyes ...
The legal brightness and color usage has to do with the fact that certain levels can cause signal distortion. The details are different, but think of overpowering an audio amp and the distortion you can get. Analog video is a real nightmare of limitations and artifacts. Most facilities I've worked at had signal clippers at some point in their signal chain, but those can cause their own problems. Best to stay away from the cliff's edges. These days HD and digital are much nicer, but there are still a lot of NTSC TVs out there. The situation is a lot like continuing to support older versions of IE.
It's not "legal" as in "a matter of law". It's about the technical specifications of television and how television signals are processed and transmitted. In analog TV the transmission uses AM (Amplitude Modulation). You could create signals that over-modulate the transmitter if not careful. Hence the use of the terms "legal" to refer to signals that would pass through the transmitter without causing any trouble. Most stations would use boxes called "legalizers" to prevent bad signals from reaching the transmitter. However, broadcasters generally have specification documents that content providers must follow in order to submit material that will not be rejected by their QC department.
No, it actually was "legal" as in FCC regulations; and you could get fines for broadcasting signal out of spec. (Though I've never known of it happening.)
I'm not sure what the situation is now with digital TV. My last years in the industry were before the mandatory switch, and the places I was working were simulcasting. So we were creating stuff that was NTSC safe. By then most of the software we were using took care of keeping things in spec, but some of the older equipment we were using, mostly character generators and few really cranky old switchers and effects boxes, still required that we be careful about our input levels.
OK, you are probably right. It's been a while. I played in broadcast some time ago.
I think you jogged my memory further. I think the way it worked is that the transmitter over-modulation due to illegal levels would/could interfere with adjacent channels and that's why the FCC made the rules.
It seems so obvious to me now, but I just realised that is something that I do; I focusing on understanding what is causing a bug and how to fix it, but not why the bug occurred in the first place and how to prevent myself making similar mistakes in the future!