Remember that time when Apple's Global Head of Security bribed the Santa Clara County Sheriff's office with tens of thousands of dollars worth of iPads to expedite concealed hand-gun permits for its company agents? Welp, federal appeals court put that criminal case back on the docket. Paywall removed, plain text available: https://pastebin.com/Fzgs5t2X
His outburst is an emotional manifestation of the different sources of frustration I've had working with Python that I've tried to document.
A common theme I've seen in responses is that many claim that I've mistaken Python as a weakly-typed language countering that it is indeed a strongly-typed language -- obviously an argument of semantics. I'll define a "strongly-typed" language as one where it is trivial to identify the type signature and definition of any function or variable in a program. In Python, this is non-trivial.
I have exactly the same reaction to C#, C, Forth, Pascal, Prolog, etc: regardless of the typing strength or compiler nitpickiness there will be scenarios where stuff doesn’t go as planned because I didn’t understand the problem domain sufficiently, and these errors serve to enhance my understanding of the same.
Regardless of language, x -> a + 1 is not going to work if a never has a value. In many cases handling “a doesn’t have a value” is the wrong way to address the problem, because the problem should be solved as “figure out why the data collection didn’t work, and propose a strategy for handling our dataset when either a value is missing or is provably wrong.”
As an example one might assume that a video feed has exactly as many frames per second as it says on the tin (eg: 24fps will have exactly 24 frames for each second of video) but in reality there will be missing frames due to data corruption, or even a mismatch in clock speeds meaning that over 100 seconds you have 2398 frames instead of 2400. How do you handle the missing two frames? The problem is there are no frames missing, it’s just that they were never there to start with, and frame 1237 of another source has no direct equivalent in the slightly-faster stream. You might alter the clock for processing, duplicate one or two frames, use interpolated frames, or otherwise process the various sources so that you get a consistent synthesised data stream with which to do further processing.
Wow, I had the same error as Hotz's last night, it crashed the program after about 15 min of calculations, which then had to be rerun. I couldn't even blame myself, because that was someone else's code.
Let me ask you all this: Why was Hadoop written in Java and not Python? Why was Spark written in Scala and not Python? Why was Kubernetes written in Go and not Python? Why was Mesos written in C/C++ and not Python?
This looks like an awesome project, and I hope this receives significant attention from city planners. I imagine as cars become more connected, we'll have better interfaces for integrating mobile traffic sensors with stationary traffic sensors for optimal management of vehicle flow along congested streets. But I do worry about the pace at which city planners adopt such technology at a time when local government budgets are tight.
I would think that the chip manufacturers (Intel, AMD, etc) should be reaching out to OS vendors for correct patch implementations.. unless they're committed to selling us shit forever.