New Website

I finally got around to redoing my work-related website this summer.

My last website was built using Ruby on Rails. For several years I had taught a course on building database-backed websites, and felt for that period as if I really ought to write one myself for my own website. One of my student TAs for that course had helped me learn (by having me teach a minicourse) Rails, so that is what I used. I liked a lot of things about what I did. I made it very easy to add publications and talks directly, and in a second iteration I made it easy to edit the static parts of the website directly; everything got saved into the database, and I didn’t have to modify files then upload them in order to keep the website up-to-date.

But there were deficiencies as well, especially as time wore on. Finding a cheap hosting site for Rails became harder. I gave up on trying to keep Rails up-to-date, which probably would have presented security problems if anyone had been interested in hacking me. I designed the site in the pre-mobile era, and it became clear that I needed to update the design for mobile use. I don’t use Rails or Ruby on a regular basis, and touching the code meant relearning that system.

So this summer I started looking for a web framework that would be mobile-friendly and not quite so heavy-weight as Rails. I ended up finding (Hugo Academic)[], and have switched over to that. It will require a bit more work to keep up-to-date: in particular, I’ll have to upload files for new publications and talks. It also took a bit of work to configure it the way I wanted it. But there’s no scripting language driving it, just a bunch of configuration files and markdown files for content, and I like the way it looks, so that’s what I am going with. It was some amount of effort to pull all the information about my publications from the old website’s database and create the files the way Hugo wants them, but I got through it.

David P. Williamson
Professor of Operations Research

My research interests include combinatorial optimization and approximation algorithms.