Avatar
😁

Organizations

  • A brief summary of all CS courses offered by the Cheriton School of Computer Science.
    Created Thu, 19 Sep 2024 21:00:21 -0400
  • My virtual bookshelf. Somewhat accurate.
    Created Sat, 29 Jun 2024 21:01:21 -0400
  • I mostly use this site to share off-the-record projects and half-baked ideas. If you are looking for my research, you should look at my Google Scholar profile. If you are looking for course information, I suggest looking at the respective home-page from the list of courses on my homepage.
    Created Sat, 29 Jun 2024 21:00:25 -0400
  • Building user-facing applications can be challenging. Widget or GUI toolkits provide essential abstractions for OS-level capabilities like graphics, sound, reusable widgets and event handling. There are a large number of these toolkits available. Let’s review some of the differences in their design.
    Created Mon, 02 Oct 2023 01:12:21 -0400
  • Over the past few years, I’ve moved through a number of solutions while figuring out how to publish courses notes online. Currently, I’m publishing-with-hugo, which is an exceptionally great tool for small sites.
    Created Sun, 01 Oct 2023 12:57:21 -0400
  • What do I believe as an application developer? What are my biases?
    Created Tue, 26 Sep 2023 10:13:21 -0400
  • I joked with a group of friends the other day that I would `rather retire than teach web development’. It was an off-the-cuff comment, but there’s a grain of truth to it. Does this mean that I hate web technologies?
    Created Sun, 24 Sep 2023 16:17:35 -0400
  • Picking a programming language for a new software project can be a daunting task: there’s just so many choices! So, why Kotlin? Why not Rust, Typescript, Go? I think this choice always comes down to the suitability of the programming language and language ecosystem to the types of software that you are writing.
    Created Tue, 30 Aug 2022 21:04:38 -0400
  • In a previous post, I talked about the value in using Markdown to generate course notes. I’ve continued to refine my use of Markdown, and I’m convinced that it’s still the fastest way to generate semi-structured content for my courses1

    I’ve also recently started using Hugo to generate websites. Hugo is a static site generator that takes Markdown source files and related assets, and generates a static website from your content. It supports many, many different themes, so you can pick something that works for particular style of content.

    Created Tue, 07 Dec 2021 20:12:21 -0400
  • Early in 2020, I started writing course notes for CS 346, a new course that I’m developing. My notes from CS 349 were a collection of Powerpoint and Keynote slides, some text documents, and a bunch of HTML pages that I’d hand-written. It worked, but it was a cumbersome way to organize course notes. I spent far more time fidgeting with formatting issues than actually creating content.
    Created Fri, 13 Aug 2021 09:22:11 -0400
Next