A long-time Linux user's thoughts about Windows after using it for a week

The last time I used Windows at all was right after the initial release of Windows 10 in July 2015. At that point, I had already been using Linux for a while on a separate computer (to avoid dual-boot issues). As I got more and more comfortable with Linux, I found myself using Windows very little. Not long after upgrading to Windows 10 on the Windows machine, I decided that I would start using Linux exclusively. Just recently, I spent a week trying out Windows again to see if it had actually gotten any better.

Read more...

How to get "smart" punctuation working in Zola---the hacky way

In case you haven't noticed, I just recently upgraded the templates and CSS on this website to get a much nicer design. I was previously using the After Dark theme. While it looked pretty at first glance, it's not a typographical wonder: all of the text is at the exact same size, making it harder to read. Plus, monospaced fonts just aren't the right choice for reading long-form content. In the process of upgrading my site's design, I noticed that proper Unicode smart quotation---handled out of the box with Jekyll---was missing altogether from Zola. If you have JavaScript enabled, you can see that I came up with an imperfect solution to this problem on the front end.

Read more...

A complete web app development environment with Guile

I have a penchant for trying to build practical things in obscure programming languages. Scheme isn't that obscure, but it's used pretty infrequently for "real work" (unfortunately). I'm quite a fan of it, so I decided to give it a shot for writing a web app, something that I do pretty often. Since there's so many implementations, I tried a few. I also took a holistic approach to the entire system and reevaluated my choice of text editor for the task.

Read more...

Moving my site around

While my previous Jekyll-based website wasn't horribly complex, maintaining it was still a chore. Like most software written in a scripting language, Jekyll has a lot of run-time dependencies that must be installed for it to function. Given that I switch between a few different computers running different operating systems, making sure that all my Gems were up-to-date was annoying. Since I'm not getting paid to make my own website, I figured that I might as well migrate it to a simpler static site generator.

Read more...

My C FAQ: things I wished I had learned a while ago

The fact that C is the dominant programming language for everything low-level is an interesting historical oddity. Even though there were far better languages around when C was created (and now, of course), C still somehow ended up being what everything was written in. For that reason, having a good understanding of some of C's intricacies is important to be able to do security research or just maintain software written in C. There are far more complete resources on this topic, like the original C FAQ; the purpose of this post is to address specific things I would have liked to have known when I was starting out with C.

Read more...