[1] https://gist.github.com/brenhinkeller/44051118c2f9d18b26dc76...
1,804 karma · joined October 22, 2018
[1] https://gist.github.com/brenhinkeller/44051118c2f9d18b26dc76...
> At about one-quarter the diameter of Earth (comparable to the width of Australia), it [the Moon] is the largest natural satellite in the Solar System relative to the size of its planet, the fifth largest satellite in the Solar System overall, and is larger than any dwarf planet.
Still a work in progress, but I've written up a few of my lessons learned in the process [1] in case they're useful to anyone else. Properly figuring out type stability and dispatch-oriented programming took me way too long, but things started making a lot more sense after that.
I haven't used it a ton, but [2] also seems potentially useful for anyone else interested in making the same switch.
[1] https://github.com/brenhinkeller/JuliaAdviceForMatlabProgram...
Typing certainly does add more friction between u and µ than a chalkboard would, though it is perhaps also notable that mathematicians seem to have felt that it's worth the effort, and have come up with a quite nice system for it in LaTeX -- and I would certainly not mind seeing more languages and editors add support for LaTeX completions the way the Julia ecosystem has.
There is also technically an interpreter if you want to go that way [1], so in principle it might be possible to do the same trick javascript does, but someone would have to implement that.
IMHO, you really have to embrace dispatch-oriented programming, and that includes being scrupulous about avoiding type instability. You also have to be a bit conscious about allocations, since it's easy to write Julia code (especially if you're trying to write in a "vectorized" style as is common in R, Python, Matlab) that generates absurd numbers of allocations, which must then be garbage-collected. But also easy to avoid those allocations if you know.
It took about two years, but after picking up more of this, I was eventually able to switch everything my group does from a two-language solution of matlab for scripts and plotting and C (with MPI) for HPC to all-Julia. This [1] was originally targeted at academics making the same switch, but much of it could be relevant to those with an R background as well.
[1] https://github.com/brenhinkeller/JuliaAdviceForMatlabProgram...
More seriously though, just because some language may be considered "general purpose" doesn't mean it's the best language for everything, or should replace other languages outside of whichever particular applications where it excels.
Look, everyone wants static compilation, and it's almost certainly going to happen eventually. It's not unreasonable at all to want that. The only thing that would be unreasonable is to (apparently repeatedly!) imply or assert that this lack of static compilation (and/or better caching) is due to some bizarre perversion on the part of the community.
If you want it to happen faster, then stop complaining about it on HN, get familiar with the current attempts at true static compilation in e.g. https://github.com/tshort/StaticCompiler.jl/pull/46 and start contributing yourself.
That's a good question, I would say if anyone found fungi before the GOE that would be a big surprise. Finding them after the GOE makes sense, so doesn't necessarily change our understanding of the GOE -- but if they really were around this soon after (if this article is correct) that would definitely seem to have interesting implications for the evolutionary origin of fungi.
If Julia solves your personal version of the two language problem, and especially if dispatch-oriented programming happens to be a good fit for the problems you solve and the way you like to program, you're probably going to think it's the best thing since sliced bread. If not, on the other hand, you may not think it's anything particularly special.
The pollution at [1] is larger/brighter than Denver, and [2] is about equivalent to Moscow!
[1] https://www.lightpollutionmap.info/#zoom=7.67&lat=47.9667&lo... [2] https://www.lightpollutionmap.info/#zoom=7.43&lat=67.7473&lo...
In fact, of the ~200 mosquito species which occur in the United States, only 12 are known spread any sort of human disease [2].
[1] https://en.wikipedia.org/wiki/Anopheles
[2] https://www.cdc.gov/mosquitoes/about/mosquitoes-in-the-us.ht...
[1] https://twitter.com/SarahJamieLewis/status/13848713855379087...
Most to the point, declining to take painkillers does not adversely impact other people's health.
This is not a good analogy.
eta: ironically, the problem with the opioid crisis was not too much regulation and oversight by "the authorities", but too little; too much freedom for doctors to prescribe stronger painkillers, and for patients to request them.
The origins of the observatory trace to late 1950s efforts to develop anti-ballistic missile (ABM) defenses as part of the newly formed United States Department of Defense (DoD) Advanced Research Projects Agency (ARPA) ABM umbrella-effort, Project Defender. [...] It was known that hot, high-speed objects caused ionization of the atmosphere that reflects radar waves, and it appeared that a warhead's signature would be different enough from decoys that a detector could pick out the warhead directly, or alternately, provide added information that would allow operators to focus a conventional tracking radar on the single return from the warhead.
Although the concept appeared to offer a solution to the tracking problem, there was almost no information on either the physics of re-entry or a strong understanding of the normal composition of the upper layers of the ionosphere. ARPA began to address both simultaneously. To better understand the radar returns from a warhead, several radars were built on Kwajalein Atoll, while Arecibo started with the dual purpose of understanding the ionosphere's F-layer while also producing a general-purpose scientific radio observatory.
Some folks here may also be familiar with the US project to locate Soviet radar installations via signals reflected off the moon (as discussed in Steve Blank's excellent Secret history of Silicon Valley [3]), and it seems that Arecibo participated in this as well [4]:
The CIA employed a 150-foot dish antenna at Stanford University in Palo Alto, California to monitor Soviet radar signals reflected off the moon, while the National Security Agency used the Arecibo Ionospheric Observatory in Puerto Rico to intercept signals that had originally been transmitted from a Soviet Arctic Coast radar.
[1] https://en.wikipedia.org/wiki/Arecibo_Telescope#Design_and_c...
[2] https://www.thedrive.com/the-war-zone/37898/collapsed-arecib...
Pioneering and ahead of its time in many ways, but for whatever reason it seems that the use of multiple dispatch in Dylan seems to have not (yet?) led to the same level of ecosystem-wide composability.
It’s not that it’s the first, but it seems to be the first where the use of multiple dispatch throughout the community was sufficiently pervasive to kick-start the emergence of the strong network effects we’re now seeing w/r/t composability.
I would not be surprised to see more languages working to emulate this kind of combination of multiple dispatch and JAOT compilation in the future.
Making a nice small static binary is technically possible using an approach similar to what GPUCompiler.jl does, but the CPU equivalent of that isn’t quite ready for primetime.