ChrisFoster
Joined 12 years ago
Joined 12 years ago
However, having this brain chemistry doesn't necessarily mean a person suffers impairments in daily life: impairments are highly situational.
I suppose - to the extent that the DSM-5 requires a fair level of impariment for someone to be diagnosed with ADHD - that it's technically correct to say people can develop this in adulthood: there it passes from a syndrome to an disorder. (Personally I feel it's kind of absurd not to have a name for the syndrome if it occurs in the absence of impariment due to life circumstances! Perhaps this will be "fixed" one day as psychology slowly becomes more quantitative.)
Thanks for the book suggestion!
What can change or develop over time is the life circumstances that a person with ADHD finds themselves in. Circumstance can make the difference between ADHD being a disorder with significant impairments vs a joyful and creative existence.
Situations which demand executive function, like putting down that mobile phone or closing youtube in favor of doing something more productive are much harder for people with ADHD. The market built by the tech industry to transact human attention for profit certainly hasn't helped here.
Here's a good brief overview of ADHD: https://www.adhdbitesize.com/post/understand-what-adhd-is-re...
Or a bite-size youtube version https://www.youtube.com/watch?v=xMWtGozn5jU
An online ADHD test which is relatable and seems fairly accurate: https://totallyadd.com/do-i-have-add/
Actually it's not just the parser but most of the compiler frontend which is written in femtolisp. It would be nice to make the frontend more accessible by replacing it with Julia code at some stage. Bootstrapping is tricky though until someone gets separate compilation working.
This has already happened in history for weeds which came under artificial selective pressure due to practices of separating seeds, etc. The fascinating thing is that some of these weeds took on so many of the desirable properties of the primary crop that they became crops in their own right. Rye and oats originally being mimicks of wheat for example: https://en.wikipedia.org/wiki/Vavilovian_mimicry
But now as a developer of larger amounts of "application style" code, I'm not so sure. In an application, you've got control of the whole stack of libraries and a fairly precise knowledge of which types will flow through the more "business logic" parts of the system. Moreover, you'd really like static type checking to discover bugs early and this is starting to be possible with the likes of the amazing JET.jl. However, in the presence of a lot of duck typing and dynamic dispatch I expect static type inference to fail in important cases.
Static type checking brings so much value for larger scale application work that I'm expecting precise type constraints to become popular for this kind of non-generic code as the tooling matures.
It's quite interesting to delve into how special functions like `sin` and the like are actually implemented and the lengths people go to to make them "correctly rounded" (see, for example, crlibm). Even something as simple as linear interpolation between two floating point endpoints can be quite subtle if you want an implementation that is exactly correctly rounded and also fast.
The system generated large data files which we wanted to process in parallel without any pre-indexing. It turned out that these streams contained sync markers which were "unlikely" to occur in the real data, but there wasn't any precise framing like COBS. Regardless, the markers and certain patterns in the binary headers were enough to synchronize with the stream with a very high degree of reliability.
So for parallel processing we'd seek into the middle of the file to process a chunk of data, synchronize with the stream, and process all subsequent lidar scanlines which started in that chunk. Exactly the algorithm they describe here.
Amusingly this approach gave reasonable results even in the presence of significant corruption where the manufacturer's software would give up.
This was true in the past, but the Julia ecosystem has rapidly moved away from installing anything via system package managers or messing with the system state in hard to understand ways.
Instead, everything goes into the .julia directory under the control of the Julia package manager, and the dependencies for any given project can be reproduced on another machine or OS by copying the Project and Manifest. The same goes for binary dependencies (eg, the result of compiling C/fortran/rust/go code) for which there's some amazing cross compilation tooling and build infrastructure — see https://binarybuilder.org/
At this point, I think Julia projects enjoy really first class portability and reproducibility.
Using a rolling membrane for the seal is discussed at
https://heindl-energy.com/technical-concept/engineering-chal...
Naively that does seem plausible but it's a very large sheet of material to manufacture. What are your thoughts on that approach?
They didn't stick the landing, but it looks like they got test data from all the planned test activities. The explosion will prevent gathering some data from post-flight inspection, but other than that I doubt it has much affect on future development.
To look back on SN5/SN6 testing, they stuck the landings with those prototypes, but the prototypes themselves are now obsoleted by the new prototypes in production (up to SN16?!)
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Typ...
> you also have to assume the size of those primitive types
This usually works though there's some situations where you could still be surprised. For instance if you're programming embedded processors with avr-gcc you'll have sizeof(double)==4
It's true that in the early history of the Earth there would have been heating from gravitational contraction of the protoplanetary disc. But as soon as the Earth swept its orbit of material this source of heating disappeared.
There's an interesting footnote in the history of physics where gravitational contraction was the proposed mechanism for solar luminosity: https://en.wikipedia.org/wiki/History_of_Solar_System_format...
Methods and their type signatures do exist within the runtime as soon as the function expression is evaluated. To simplify the example from your article
julia> a = 20
20
julia> foo(x::(a < 10 ? Int : Float64)) = "thing"
foo (generic function with 1 method)
julia> methods(foo)
# 1 method for generic function "foo":
[1] foo(x::Float64) in Main at REPL[2]:1
Here you see that one method of the function foo has been defined, and the code in the type signature has already run, resulting in a method which takes x::Float64. After this point, changing the value of `a` will not change anything about foo.