Julia Debugging Basics by Gregory Farage


This is a practical how-to guide on best practices for debugging code in Julia using the Gallium package. We explore two methods: REPL and Juno-Atom.


To use the debugger Gallium in Julia 0.6+, the following packages should be installed: Gallium and ASTInterpreter2.

julia> Pkg.add("Gallium")
julia> Pkg.clone("https://github.com/Keno/DebuggerFramework.jl")
julia> Pkg.clone("https://github.com/Keno/ASTInterpreter2.jl")

There are two possible ways to debug with Gallium, by using:

  1. REPL
  2. Juno-Atom

Continue reading…

A Quick Recommendation on SAS Setup at UT by Fridtjof Thomas


This is a quick guide on the recommended SAS setup for UT users. This is excerpted from a longer guide on software setup and windows 10.


Large (16GB) download from UT Knoxville

This download will take several hours due to its size (zipped file 16GB).  You may want to ask the Biostatistics Division (Tristan Hayes) for a local copy of the file.  You will still need to download the license file from UT Knoxville (same link as given above, but a small, less than 1MB download). Continue reading…

Real Close to the Machine: Floating Point in D | Using Floating Point Without Losing Your Sanity by Dan Clugston [outside article & video]


An entertaining look at floating point computation and absurdities that you might encounter if you are not careful. The video is entertaining; the details are in the article.

Computers were originally conceived as devices for performing mathematics. The earliest computers spent most of their time solving equations. Although the engineering and scientific community now forms only a miniscule part of the computing world, there is a fantastic legacy from those former times: almost all computers now feature superb hardware for performing mathematical calculations accurately and extremely quickly. Sadly, most programming languages make it difficult for programmers to take full advantage of this hardware. An even bigger problem is the lack of documentation; even for many mathematical programmers, aspects of floating-point arithmetic remain shrouded in mystery.

Article: https://dlang.org/articles/d-floating-point.html

Video: https://www.youtube.com/watch?v=97bxjeP3LzY&list=PL3jwVPmk_PRyTWWtTAZyvmjDF4pm6EX6z

Missing values in Julia by Milan Bouchet-Valat [outside article]


Starting from Julia 0.7, missing values are represented using the new missing object. Resulting from intense design discussions, experimentations and language improvements developed over several years, it is the heir of the NA value implemented in the DataArrays package, which used to be the standard way of representing missing data in Julia. Continue reading…

Gradient Descent: The mother of all algorithms? by Aleksander Mądry [outside lecture]


More than half a century of research in theoretical computer science has brought us a great wealth of advanced algorithmic techniques. These techniques can be combined in a variety of ways to provide us with sophisticated, often beautifully elegant algorithms. This diversity of methods is truly stimulating and intellectually satisfying. But is it also necessary? Continue reading…