Tag: emacs
In today's video, we'll take a look at a few new completion frameworks for Emacs. For years I've been using Ivy and have been very happy with it but since I decided to rebuild my Emacs config from scratch I thought I'd try the new kids on the block, Selectrum and Vertico along with some support packages.
I've liked Ivy from day one and still do. To be honest, from a day to day point of view, I didn't notice much difference between Ivy and the newcomers but I do like their philosophies - they're supposed to be simple and minimalist and focus on the Emacs completion API without extending it.
# COMMENTSOne of the comments on my last video talked about the new project management support Emacs includes in it's latest version - project.el. I remembered reading about it when it rolled around but then forgot and never checked it out.
Up until recently when working in projects I used Projectile, a great package by Bozhidar Batsov, also known as Bug. I only used it when doing development work - that's when I find myself jumping around within a group of related files.
# COMMENTSGrading sucks. Even for a well crafted assignment it takes time and rarely does it give you the same insights into your students as you can get from just observing them and working with them, at least when the environment supports you doing so. This leads lots of teachers to go to auto graders. I can't bring myself going along with that. While assignments are imperfect and tedious to grade, they do provide some insight to your students and that's an important part about being a teacher.
# COMMENTSTime for some final thoughts on Advent of Code 2020. This was my sixth Advent of Code but the first time I completed all 25 days. Better than last year's 31 and a whole lot better than my weakest effort of 11 stars in 2017. I managed to find the time to finish all but two on the day they were released and finished those two on Christmas morning. This was also the first year I wrote all my solutions in Clojure and I also made a bunch of blog posts and videos (linked on the bottom of this post).
# COMMENTSDay 24 didn't take that much time so I had a chance to go back and finish day 21.
As usual, all my code is up here. Day 21 Problem Link
It took me a while to get my head around this example. You have a set of recipes. Each recipe has a list of ingredients and a list of allergens. Your job for part 1 was basically to determine which ingredients don't contain any allergens.
# COMMENTSA few days have past so it's time for an update. Two more days to go and while I haven't completed all the problems, I have accumulated 43 stars which is a personal best. Given the nature of the problems I'm missing, I might even go back and do them at some point. Of course, I may very well also just crash out on the final two days.
As usual, all my code is up here.
# COMMENTSDay 17 Day 17 brought back Cellular Automata. It was a nice follow up to day 11. In my writeup I talked about data representation - how a Cellular Automoton like Conway's game of life is a nice 2D array project in a class like APCS-A but multi dimensional arrays are only one way to represent a cellular automaton. Day 17 really drove that home. The actual rules were pretty simple - if a cell is active and has 2 or 3 active neighbors it stays active.
# COMMENTSToday's problem was a fun one to solve. Why was it fun? Stay tuned,
The basic gist is that you have a plane ticket which is a set of numbers but you don't know which number maps to which category - row, seat, gate, etc. You also know the number ranges for each category. For example, row might be a number between 6 and 11 or 33 through 44 while a seat might be 13 through 40 or 45 through 50.
# COMMENTSTime for Day 14!!!
I didn't write up day 12 but here's a Clojure video runthrough. I also didn't write up day 13 mostly because I hacked together my part 2 in Python and still want to rewrite it in decent clojure. In any event, all my solutions are up on GitHub.
Day 14 had a few interesting things going on. At its core it's a small machine simulator where you have to deal with binary numbers.
# COMMENTSAs we get closer to the end of the semester and time becomes scarcer I'm wondering how many more I'll finish. Barely had time to do days 9 and 10.
Not much to say about day 9 Part one was basically a rehash of day 1 part 1 but with a sliding widow. Part 2? I just brute force tried all the subranges. I meant to go back to try to improve the solution but didn't have a chance.
# COMMENTS