Julia 1.0 launched this week to fanfare and positive reviews in English, Spanish, Chinese, French, German, Hungarian, Czech, Russian, Dutch, Norwegian, Swedish, Danish, Finnish and Japanese. The…
Category Archives: Julia
Julia 1.0 Released
London, UK – Julia 1.0 was released today during JuliaCon 2018.
Today’s Julia 1.0 release is the most important Julia milestone since Julia was introduced in February 2012.
Julia 1.0 is the first complete, reliable, stable and forward-compatible Julia release. More information about Julia 1.0 is available here.
Julia is the fastest, simplest and most productive open-source programming language for scientific, numeric and mathematical computing.
Julia co-creators Jeff Bezanson, Stefan Karpinski, Viral Shah and Alan Edelman explain:
“During the last six and a half years, Julia has reached more than 2 million downloads and early adopters have already put Julia into production to power self-driving cars, robots, 3D printers and applications in precision medicine, augmented reality, genomics, energy trading, machine learning, financial risk management and space mission planning. With today’s Julia 1.0 release, Julia now provides the language stability that commercial customers require together with the unique combination of lightning speed and high productivity that gives Julia its competitive advantage compared with Python, R, C++ and Java.”
-
Julia users, partners and employers hiring Julia programmers include Amazon, Apple, BlackRock, Booz Allen Hamilton, Capital One, Comcast, Disney, Ernst & Young, Facebook, Federal Aviation Administration, Federal Reserve Bank of New York, Ford, Google, IBM, Intel, KPMG, Microsoft, NASA, Oracle, PwC and Uber.
-
Julia is used at more than 700 universities, research laboratories and research institutions worldwide including MIT, UC Berkeley, Harvard, Stanford, University of Chicago, Caltech, Carnegie Mellon, Cambridge, Oxford, Lawrence Berkeley National Laboratory, Oak Ridge National Laboratory, Los Alamos National Laboratory, National Energy Research Scientific Computing Center, Lawrence Livermore National Laboratory, Alan Turing Institute, Max Planck Institute, National Renewable Energy Laboratory, Argonne National Laboratory, Ames Laboratory and Barts Cancer Institute.
-
Julia is free and open source with a large and growing community of more than 700 contributors, 2 million downloads, 1,900 packages, 41 thousand GitHub stars (cumulative for Julia language and Julia packages) and +101% annual download growth
-
Julia combines the high-level productivity and ease of use of Python and R with the lightning-fast speed of C++
-
Julia is the only high-level language that has run at petascale
-
Julia leveraged 650,000 cores and 1.3 million threads on 9,300 Knights Landing (KNL) nodes to catalog 188 million astronomical objects in just 14.6 minutes using the world’s sixth most powerful supercomputer
-
Julia provides speed and performance improvements of 1,000x or more for applications such as insurance risk modeling and astronomical image analysis
-
Julia delivers vast improvements in speed and performance on a wide range of architectures from a single laptop to the world’s sixth most powerful supercomputer, and from one node to thousands of nodes including multithreading, GPU and parallel computing capabilities
-
Julia powers the Federal Aviation Administration’s NextGen Aircraft Collision Avoidance System (ACAS-X), BlackRock’s trademark Aladdin analytics platform and the New York Federal Reserve Bank’s Dynamic Stochastic General Equilibrium (DSGE) macroeconomic model
About Julia Computing
Julia Computing was founded in 2015 by all of the co-creators of Julia to provide Julia users with Julia products, Julia training, and Julia support. Julia Computing is headquartered in Boston with offices in London and Bangalore.
Guilloches
By: cormullion
Re-posted from: https://cormullion.github.io/blog/2018/08/10/guilloches.html
This year’s Julia conference is nearly over, and JuliaCon 2018 has been a great success. I wasn’t able to attend in person, but there were numerous live video streams, and many tweeters kept everyone around the world up to date. There was even a live-streamed github commit of the 1.0 release! So thanks to you all and to the audio-visual folks for enabling us to attend in spirit.
I was fortunate enough to be allowed to contribute in a very small way. Avik asked me to help with making certificates to be presented to the winners of the Julia Community Prizes. These certificates were made with Julia (of course!); here’s a slightly modified (unofficial, unsigned!) version of the certificate. I’ve added all the winner’s names and their citations.
I tried to make a modern-looking certificate while still hinting at some of the traditional graphical techniques of elaborate ornamental linework. This is often known as guilloches or guillochés, and has been used for centuries, not only for decoration on watches and jewellery, but also on all kinds of printed matter as a way of dissuading hopeful copiers and forgers. They were often engraved onto metal plates using geometric lathes, which occasionally were known as rose engines. There’s speculation that the name ‘guilloches’ comes from a Swiss or French craftsman called Guillot, but that’s probably not true.
(I don’t think forgeries are going to be an issue for this certificate!)
Before the 20th century, guilloches would have warned the less enterprising forger away from attempting unauthorized reproductions. With the advent of modern digital technologies, forging and anti-forging techniques have become much more sophisticated, but the ornamental swirls are still retained skeuomorphically, no longer fulfilling their original role but maintained for their visual interest and beauty.

There are many possible approaches, sometimes based on hypotrochoids, but often using simpler parametric equations. Mathematically they can be very straightforward; here’s a simple example:
@svg begin
setline(0.5)
poly([
Point(e^(-k₁ * t) * (r * cos(k₃ * t + 1)) +
e^(-k₂ * t) * (r * cos(k₄ * t + 1)),
e^(-k₁ * t) * (r * sin(k₅ * t + 2)) +
e^(-k₂ * t) * (r * sin(k₆ * t + 1)))
for t in 0:0.05:500], :stroke)
end

If you change the parameters slowly, they have the peculiar ability to look like they’re rotating in 3D space:

In a way, these guilloches curves were like visual cryptography. If the artist kept the values of the constants secret, and only the resulting curves were seen, others will be unable to reproduce exactly the same curves even if they had access to the same machinery. Of course, today you could probably analyse the curves well enough to find out the original constants, but it must have deterred the more mathematically-challenged forgers back in the day.
Guillochéd bank notes are often very beautiful. They can be found on the internet, despite the general reluctance to reproduce currency.
Some of these patterns could be hypotrochoids. I added a hypotrochoid() function ages ago, but it’s usually gathering dust: perhaps it would have been useful for this project.

@svg begin
background("ivory")
translate(-200, -200)
scale(1.2)
julialogo(action=:clip)
setline(0.2)
for i in 1:30
@layer begin
randomhue()
translate(rand(-250:250), rand(-250:250))
hypotrochoid(250, 181, 153, :stroke)
end
end
clipreset()
end 500 500 "/tmp/s.svg"
The patterns also remind me of the results made by the Harmonograph, a old 19th century device, probably made of brass and mahogany, with two or more pendulums that trace out the interactions of the simple harmonic motions as the pendulums lose velocity. These devices became popular during the 19th century, and gentlemen and ladies would attend soirées and ‘conversaziones’, watching with delight as the images were slowly revealed. My SVG original image takes only a few seconds to generate, and a bit longer to open in a web browser: I like the quality of the SVG output, but the 70 MB files are a bit bulky.
Anti-forging techniques have progressed a lot since the heyday of the guilloches, and I expect that there’s a lot more going on in the field than reaches the public internet, for obvious reasons. This old (1999) brochure from the Swiss National Bank has a quick introduction to some of them, including the Kinegram, Optically Variable Ink, ultraviolet, intaglio, and watermarked digits, but the less they tell you the better the security.
All of which doesn’t—I hope—detract from the achievements of the winners of this year’s Julia Community prize. Congratulations!
[2018-08-10]
