😎 Data Wrangling with DataFrames.jl Cheat Sheet

Download your own PDF copy Cheat Sheet for DataFrames.jl v1.x (English) Cheat Sheet for DataFrames.jl v1.x (Chinese) Credit: Chinese translation by zy Where to get the data The examples are based on the Kaggle Titanic data set. You can use the following code to download the data: using DataFrames using CSV function download_titanic() url = "https://www.openml.org/data/get_csv/16826755/phpMYEkMl" return DataFrame(CSV.File(download(url); missingstring = "?")) end Questions/Suggestions If you have any questions/suggestions about this cheat sheet, please submit an issue to to this GitHub repo. ...

May 13, 2021

😎 JuliaCon 2020 was awesome! The virtual experience is even better than a physical one.

The year of 2020 is interesting as the COVID-19 pandemic forces everyone to really think about how they communicate and work with each other. Technology conferences are hit particularly hard. As most people cannot travel anymore, and with the constraint of social distancing, it has become impractical to organize physical conferences anymore. I just finished JuliaCon 2020 and I had a great experience. So I would like to share my thoughts here. ...

August 8, 2020

😎 Naming things properly

Photo by Amador Loureiro on Unsplash Perhaps it is not news to everyone that there are two hard things in Computer Science. In my last post, I explained why I felt programming is not boring because there is some art in doing it[^1]. I will not spend any time here arguing whether naming things is an art or not. Instead, I will just go straight into how to name things properly. All the examples below uses the Julia language. ...

June 8, 2020

😎 The meaning of functions in Julia

Photo by Romain Vignes on Unsplash! When I first learned about the Julia programming language, there were a few things that gave me the “wat” moments. One of those surprises involves functions naming. Interestingly, my naive question triggered over 200 follow-up posts in the Julia Discourse forum. 200! That’s one of my best record for motivating fellow developers! 😄 What is the issue? Let’s first take a look at a very simple example. Suppose that I have a CalendarApp module that contains the following code: ...

June 7, 2020

😎 Holy Traits Pattern (book excerpt)

This blog post contains an excerpt from my book Hands-on Design Patterns and Best Practices with Julia, published by Packt Publishing in January 2020. This is my first book, and I have spent months of my weekend time to do the research and write about various patterns pioneered by other expert Julia programmers. I also feel honored to have Stefan Karpinski write forewords for the book. If you like the content below, you can support me by buying the book (ISBN: 183864881X), telling your buddies about the book, or even just sending me a note via the official JuliaLang Slack. In addition, any constructive criticism are pleasantly welcomed. After all, life is a continuous learning process. ...

January 22, 2020

😎 Advent-of-Code 2018 Fun Stuffs using Julia

For several years, I have been itching to dive into the sea of programming around Christmas but I never really got hooked. I’m fortunate enough that my family does not get all that crazy about home decorations or buying/exchanging presents. I had never played the Advent of Code(AoC) game before, but I do know that it is quite exhausting as one has to work through daily problems for 25 days in December. Nonetheless, I expected it to be a rewarding exercise. My solutions are available at my AoC 2018 github repo. ...

January 22, 2019

😎 Hacking AES (ECB mode) Cipher using Julia

Photo by Florian Olivo on Unsplash This blog post walks through how to solve the SpyFi problem from the picoCTF 2018 competition. The problem involves an encrypted message that uses an AES block cipher and the objective is to exploit the weakness of the block cipher and find the secret message inside. The code was written in Julia. The SpyFi Problem Here comes the question: James Brahm, James Bond’s less-franchised cousin, has left his secure communication with HQ running, but we couldn’t find a way to steal his agent identification code. Can you? ...

October 21, 2018

😎 An Updated Analysis on 'Giving up on Julia' Blog Post

Photo by chuttersnap on Unsplash This blog post from May 2016 introduced a lot of skepticism about the Julia programming language. As one can see from comments on the blog page as well as recent discussions in the Julia Discourse forum, it is not without controversy. The purpose of this blog post is to debunk the myths and determine what truly be a concern…. or not. Most blogs are opinionated but I will try my best to be fair and point out differences here so people can judge according to their use cases. ...

February 4, 2018