Custom org-sitemap-function post-Org 9.1

Published: December 27, 2022

I have been lugging around an old version of org-mode (9.0 to be specific) in the git repo which builds this website for a number of years now. I decided to do this because I had a custom org-sitemap-function to generate the landing page for my blog, but org 9.1 introduced a breaking change to the org-publish API.

I have now finally come around to fixing this issue and making my website compatible with modern emacs and org-mode versions higher than 9.1. However, porting my old sitemap function was… surprisingly difficult? So just in case someone is looking up my original post these days, this post contains a sitemap-function which will work in 2022.

Read More…

Emacs Config Redux

Published: April 24, 2020

I used to keep a HTMLized version of my Emacs config on this website for folks to browse. However, during my last larger config overhaul, I changed things up so much that simply exporting one file and putting it on the website was not possible anymore and the link to my config silently 404'ed.

Since then, I have received multiple requests to re-upload the config file. I kept promising folks that I would one day get to doing that. That day has now finally come.

Took a few hours of cleanup and writing, but the config is now back online in all its glory. There is also extensive commentary, in case you are interested.

Read More…

Beamer Poster templates using (some) Purdue Colors

Published: October 02, 2018

During the Advanced LaTeX workshop we taught at Purdue last week, I announced that I would share my poster design using the beamerposter package and a similar design as the slides. I finally came around to uploading a few examples to my GitHub account (thanks for being patient, everyone)—you can find them here.

Read More…

Towards a better Integration of the Julia REPL in Emacs

Published: July 18, 2017

It is not a secret that I am a fan of both Emacs and the Julia language. Even though I have not been working with Julia a lot recently, I still try to keep up to date with the language and use it in my research and other projects whenever it fits. It should also not be a secret that I am a big fan of the Emacs Way™ of working with interpreted languages, which involves the idea of controlling a REPL without leaving the editor. It was for those and other reasons that I initially hacked together julia-shell-mode (See my blog post about it here), but if you take a closer look at the open isses in GitHub and the overall lack of commits, you might sense that I have lost interest in this package. Of course, the reality behind my lack of enthusiasm for julia-shell-mode is a little more complicated.

Read More…

ZeroMQ Pub/Sub Hello World

Published: June 28, 2017

It's been a while since I posted some new content on here. This is mostly because I've been quite busy trying to be an academic at Purdue. This blog will get an update soon with a few publications!

Anyways, I've been working a LOT with C++ recently, side-by-side with (and guided by) my labmates Tomo and Stephen. (Expect a post about the perfect emacs setup for C++ development soon, but here's a hint: it involves the usual suspects rtags and ycmd) As part of our project, I am currently surveying a few methods for inter-thread and inter-process communication, which seems to be what ZeroMQ was created for.

Read More…

Beamer templates inspired by the official Purdue University colors

Published: May 19, 2016

I've gotten a few requests to share my custom Purdue-themed beamer templates recently and I finally came around to clean them up, put them in individual .sty-files, and upload them to GitHub.

The GitHub repository contains some examples to use the two templates I have been using for talks and presentations over the last few semesters. The first (and IMHO better) template is beamer-purdue-gold and the title page looks like this:


Read More…

Reducing the size of GNOME 3.20's titlebars

Published: April 11, 2016

GNOME 3.20 has made it into the official Arch Linux repositories and with it came—as usual—some sort of breakage. I personally find the default width of the titlebars repulsive, and I used a small CSS hack to fix them. This broke, but thanks to reddit, I managed to fix it. Put the following in ~/.config/gtk-3.0/gtk.css (create the file if it does not exist):

Read More…

Extending your X11 Desktop using VNC

Published: March 12, 2016

I love multihead setups and I am a thrifty grad student. Today, this combination lead to an interesting and fun Saturday morning project. I figured out how to add an additional monitor to my dual-monitor set-up, which is already a little convoluted.

Let me clear things up: My main setup currently consists of a Thinkpad with its lid closed connected to two monitors (one over VGA, one over DisplayPort). Since my laptop has no third physical display connector, I had to get creative in order to add a third physical monitor to my set-up.

I use a cheap DisplayLink adapter at home for exactly this reason, but unfortunately the official dirvers are buggy and the whole set-up is generally very unreliable. So, with me being the thrifty grad student that I am, I did not want to shell out another $30 for a piece of hardware that doesn't even really work.

What I ended up doing is pretty neat.

Read More…

Some matrix multiplication tricks

Published: March 04, 2016

The first two are sort of obvious:

We want to multiply some matrix \(\mathbf{A}\) with some diagonal matrix \(\mathbf{D}\). Instead of carrying out a bunch of multiplications by zero, we replace the matrix multiplications by a for loop and elementwise multiplication. In other words,

Read More…