1,250 karma · joined August 14, 2009
Projects: http://patient0.github.com/FirstClassLisp/
I don't think this is correct. What doesn't change is the overall type constructor (e.g. if you start with a list, you'll still end up with a list... If you start with an IO action, you'll still have an IO action). But the type that is wrapped by the container can and usually does change. e.g. if you "map" over a list of A's, you'll get a list of whatever type your map function returns - still a list, but a list of B's, not a list of A's. fmap :: (a->b) -> [a] -> [b].
In contrast, in the ~10 years I spent working in Java, I frequently ran into problems with programs which needed an excessive amount of memory to run. I spent countless frustrating hours debugging and "tuning" the JVM to try to reduce the excessive memory footprint (never entirely successfully). And of course, as soon as your JVM needed to interact with native code (e.g. a quant library written in C++), you were even worse off, because there was no language support whatsoever for ensuring when, or even if, some native memory would be freed. It made it even harder to debug these leaks - because the "leak" was always very complicated to reproduce.
Garbage collection is an oversold hack - I concede there are probably some situations where it is useful - but it has never lived up to the claims people made about it, especially with respect to it supposedly increasing developer productivity.
We require a strat/technologist to work in the Cross Asset Strats team. We work outside of the traditional IT organisation and sit on the trading floor in London, responding directly to end-user requests.
Our team writes programs in Python that run on the Bank’s strategic platform, Quartz, to answer questions that relate to the entire global markets trading business.
Please get in touch if any of the following apply to you:
* You love to program and are comfortable with a variety of programming languages and paradigms (e.g. Lisp, Haskell, C++, Python).
* You have written your own scripting language, or at least know how you might go about it
* You appreciate functional programming concepts and writing algorithms in a functional style
* You have good mathematical abilities and want to learn more about using mathematical techniques to analyse data
* You have financial and quantitative knowledge, and would like to learn more
If you are interested, please email your c.v. to paul.hollingsworth@baml.com.
It supports first class macros, continuations, and has the amb "operator" (implemented using a macro of course!): https://github.com/Patient0/FirstClassLisp/blob/master/Lisp/...
The concept of an arithmetic mean is quite artificial - there's other ways you could define "average" such as the median.
Also, in my experience, optimising for the average case is often the easier problem to solve.
My first calculus teacher taught us derivatives in a similar way - but I have to say that, for me, this imprecise language confused me. When and why is it OK to pretend that c is zero!?
Further on, the official definition using a limit claims that the "c->0" means "make c as small as possible". But that's not what it means. Again, this is imprecise language that confuses more than it explains. What does "as small as possible" even mean? If we want to make it as small as possible, why not set it to 0!? How small is small enough?
I think somewhere in this article there should be a precise definition of what a limit is, using epsilon and delta.
It should be saying something using the words "arbitrarily close" and "sufficiently small".
Something like : "we can make the approximation on the left arbitrarily close to the expression on the right by choosing any value of c sufficiently close to 0, even though the expression might be undefined when c=0. Epsilon: you tell me how close you want the approximation to be. Delta: I tell you how small c needs to be".
There used to be a great website that was precise but also informal: karlscalculus.org - but sadly it appears to be down now.
He also wrote the accompanying text book which is available for free download: http://www.inference.phy.cam.ac.uk/itprnn/book.pdf
I was really impressed by these lectures, and was dismayed to learn that he died from cancer a couple of years ago.
However, that individual employee may be doing work which means that Megabureaucracy is losing less money than it would if the employee did nothing. The employee might conclude that they are in a "bullshit job" - but actually what they are doing is adding value, even though they are part of an enterprise that as a whole is subtracting value. i.e. they are causing it to subtract less value than it otherwise would.
The same logic applies for employees that are working in an inefficient department of a company that is efficient in aggregate. Helping an organization that is inefficient to be less inefficient is still economically valuable - but to the individuals concerned they may consider their own jobs as economically valueless.
Transcribed from footage included in the documentary "The Last Journey of a Genius" (1989) by Christopher Sykes, a BBC TV production in association with WGBH Boston and Coronet/MTI Film and Video.