Author Archives: oxinabox.github.io

Dispatch, Traits and Metaprogramming Over Reflection

By: oxinabox.github.io

Re-posted from: https://www.oxinabox.net/2018/10/03/Dispatch,-Traits-and-Metaprogramming-Over-Reflection.html

This is a blog post about about dispatch.
Mostly, single dispatch, though it trivially generalises to multiple dispatch,
because julia is a multiple dispatch language.

This post starts simple, and becomes complex.

  • Beginning with, introductory julia skills: dispatch
  • continue to intermidate julia skills: traits
  • and finishing up with advanced techniques: metaprogramming over reflection

The last of which is kinda evil.

Continue reading

Asynchronous and Distributed File Loading

By: oxinabox.github.io

Re-posted from: https://white.ucc.asn.au/2018/07/14/Asynchronous-and-Distributed-File-Loading.html

Today we are going to look at loading large datasets in a asynchronous and distributed fashion.
In a lot of circumstances it is best to work with such datasets in an entirely distributed fashion,
but for this demonstration we will be assuming that that is not possible,
because you need to Channel it into some serial process.
But it doesn’t have to be the case.
Anyway, we use this to further introduce Channels and RemoteChannels.
I have blogged about Channels before,
you make wish to skim that first.
That article focused on single producer single consumer.
This post will focus on multiple producers, single consumer.
(though you’ll probably be able to workout multiple consumers from there, it is pretty semetrical).
Continue reading

These are a few of my Favourite Things (that are coming with Julia 1.0)

By: oxinabox.github.io

Re-posted from: https://white.ucc.asn.au/2018/06/01/Julia-Favourite-New-Things.html

If I were more musically talented I would be writing a song
Arguments that are destructured, and operator characters combine-ed; Loop binding changes and convert redefine-ed…
no none of that, please stop.

Technically speaking these are a few of my Favourite Things that are in julia 0.7-alpha.
But since since 1.0 is going to be 0.7 with deprecations removed,
We can look at it as a 1.0 list.

Many people are getting excited about big changes like
Pkg3,
named tuples,
field access overloading,
lazy broadcasting,
or the parallel task runtime (which isn’t in 0.7 alpha, but I am hopeful for 1.0)
I am excited about them too, but I think they’re going to get all the attention they need.
(If not then they deserve a post of their own each, not going to try and squeeze them into this one.)
Here are some of the smaller changes I am excited about.

These are excepts from 0.7-alpha NEWS.md
Continue reading