Note: cross posted from my original article at LinkedIn. Credit: Photo by Igor Omilaev on Unsplash I had been very skeptical about how AI tools can actually replace software engineers but today my mind was blown. This post describes how I used Windsurf to build a full stack application that fetches data from US Treasury, displays yield curve chart for an historical date, visualizes yield curve shape changes with animation, and displays a full time series chart for a specific maturity when a specific data point is clicked. I also asked the tool to improve the application security posture, adding a rate limiting function, and automatically refreshes data every hour from the US Treasury. (Note: the demo is no longer available.) ...
π Hiring talents is not the same as finding someone with specific experience
Photo by Jason Hogan, retrieved from Unsplash Often enough, I hear hiring managers complaining that they cannot find the right person for their jobs. You may wonder why β nowadays there are robots that can screen resumes for you. Just enter a keyword and it gives you everyone with the specific experience that you are looking for. Isnβt that great? That is precisely the problem. I am not talking about the robots. Those are great tools to cut down the volume of resumes that you have to spend time reviewing. I am talking about the strategy of finding talents. ...
π 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. ...
π 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. ...
π 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. ...
π 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: ...
π Programming is boring art
Photo by Sebastian Muller on Unsplash Wow, there is a lot to unpack here. Boring? Art? I said itβs boring because you keep writing code that looks like blocks and blocks of text having the same shape. Assignments, conditionals, loops, functions, etc. I can pull out the best, the most intelligent code on this planet and put that side by side with another dumb piece of code that someone just wrote for fun. And they look the same from afar. ...
π 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. ...
π 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. ...
π Honorable Experience @ AWS re:Invent 2018
The AWS re:Invent conference is one of the largest technology conferences. I heard over 50,000 people attended the event in 2018. I was fortunate enough to attend all 5 days, and itβs one of the most rewarding experience for me at a technology conference. Workshops, workshops, workshops! It is a known trick that people attend as many workshops as possible. Why? Because they are hands-on with instructors presenting and walking through one or more AWS products. The instructors are very helpful as they make sure that you understand the subject and you can ask a lot of questions. In some cases, they will give you a temporary AWS account to play with. Alternatively, you may use your own personal AWS account for the exercise, and they will give you AWS $25 credit. ...