Sigh. There’s a modelines vulnerability in vim that’s rather simple to exploit. Thankfully there’s a simple workaround - just disable that functionality.
Add this to your ~/.vimrc and then it won’t affect you but you’ll get modelines back when fixed versions arrive. However there’s some question about the fix so might keep an eye out on this issue and adjust the if statement as appropriate.
1 2 3 4 5 6 7 8 9 " Disabled due to https://nvd.
This article is a bit wordy but get towards the end and there’s lots of new stuff in there. Really want to play with C-n and the thing with tabs and sessions looks interesting but lots of new keystrokes there.
Every now and then I skim through this till I find something I’m wrong about. I’ve read lists like this for years and always, every time, learned something new. An assumption I’d incorrectly made or something I’d read before that was wrong. I often promptly forget it, but over time some of it sticks.
The world’s a big ol’ place. A guy I worked with once made the following observation:
The text programs have been amusing, but this video shows the one I really want to port. I’m not generally a front-end dev, and this was about as close as I ever got to doing it.
Some things to background info about what’s there:
First, IIRC, the project was to demonstrate how to use two dimensional arrays. I obviously understood the concept of “feature creep” before I learned the term.
Some notes on the conversion:
My coding style was far less consistent back then and that makes it harder to read the code. In this first pass I’ve made one-line summaries of the code as I’ve ported them and my style back then has made some programs a bit unscrutible.
Indenting varied so following program flow is a bit harder. Pascal is not case-sensitive and my capitalisation varied which makes it hard to find variables and include files.
After my initial research I filed two bugs (35596 and 35597), decided to put graphics aside and tried getting non-graphics programs running.
And I’ve had good success so far. I’ve ported 15 so far.
The fpc compiler has various modes which includes a Turbo Pascal mode. However that’s somewhere around Turbo Pascal 7 - definitely not all the way back to version 3.01a like we were using.
This isn’t a huge stumbling block though.
I came across a bunch of code I wrote in high school. So I decided I could see if I could get the programs running again.
I have them running inside of DOSBox but I was wondering if I could get them running natively. And sure enough, there’s a Free Pascal project. It’s targeted at “newer” versions of Turbo Pascal than I used.
Amusingly I already hit an issue with the systems runtime library.
So after using Go to do the initial activity collection, I went a bit more old school for
extracting it from git repos directly. Note that this and the previous post use the data capabilities
baby! It’s not ideal, but this script only runs once so good enough.
The reason for this one-off extraction is because both gitlab and github
restrict the time period they save activity data (two years for gitlab, 90
days for github - though some gitlab instances hold more and some less).
Future activity recording will be done via the Go programs described
before; this just runs once-ish. If I find older code repos I’ll likely
add them to this.Read more
Added some activity graphs to this
( linked off my about page ). Currently
they just look at activity on a set of gitlab servers I use. I’m going
to try and add github later. And then maybe raid some other data sources.
Just a quick explanation of how I did it.Read more
[posted this on facebook originally, this is the start of a series on migrating off facebook]
I first joined facebook around a decade ago because someone told me there were other Kevin Lyda’s here and that just seemed wrong. And then, horrifyingly, I learned my 20 year high school reunion was happening.
Now, ten years on I’ve finally booked tickets so I can actually go to a high school reunion. horrors And I’m beginning to think about being on this site.
On cable channels you’ll find loads of “documentaries” breathlessly telling you about supervolcanoes and how Yellowstone is going to kill everyone. Possibly also involving aliens.
So it was nice to see this public lecture on supervolcanoes and what they actually are (and are not), their history in the Pacific northwest and the science behind it all. It’s an hour and a bit long and makes for a good listen on a lazy weekend morning.
I’ve converted code repos a number of times through my career. From cvs to subversion, from subversion to mercurial and git, from mercurial to git. However until the other day, I’d never converted from cvs to git directly.
In this case it was converting an old CVS repo I’d found in some old backup cdroms which were being tossed out.
It went well but there were a few hiccups. First there are a number of methods to do this.
My first attempt at Cheez-Its went ok, but they were
too dense. Looking at the official recipe I saw it called for yeast. So
I looked for a recipe that used yeast and found this one from
Serious Eats. As always I tweaked it a little. Currently on
step 5, so should be interesting to see how they turn out!Read more
Like quite a few Galway geeks it appears, I queued up early to see Avengers Endgame.
Queuing for Endgame This was taken around 10pm as we waited for the one past midnight showing. For once I walked in pretty unspoiled and it was well worth the wait. I can’t go into what I liked without spoilers but can say that I was surprised, I laughed a fair bit, I teared up and was just plain wowed in parts.
Thanks to mpk today I learned that vim can work with scp “urls.” So vim scp://remote-host/kittens.txt works kind of as you’d expect. It can edit existing files - and for zsh tab completion will work here - or completely new files.
By default it’s going to edit files relative you your home dir - you’d need to do a double slash to edit a file from the root dir.
Some left over pictures I didn’t categorise when going through all my photos .
In the new site design I wanted a subtle and simple tag cloud. I initially did it by ordering tags in the footer by how common they were. However alphabetical order exists for a reason, so it was clear that wasn’t the best choice.
Tag clouds normally show popularity with font size. Not being a huge CSS person, I hadn’t realized font size was another thing you could specify relative to everything else - but you can!
I use gandi for all my DNS needs and while I used to run my own dns it got tiresome after a while. So a long time ago I switched to using gandi to do it. Back then they had an api I was able to manipulate rather easily with python.
But a few years ago they changed to a new api and I put it on the long finger to migrate over.
OpenSSL 1.1.0 introduced some incompatible changes for symetric encryption. I use it for some code repos to store secrets in lieu of other options. It works just fine for a single developer, but obviously doesn’t work very well beyond that.
Recently those projects started breaking and I wasn’t sure why. The commands I used to encrypt and decrypt were, respectively, as follows:
1 2 3 4 openssl enc -aes-256-cbc -pass "pass:$SECRET" \ -in .
In Google there was (and possibly still is) a tool called “sourcerer” that let you browse through a repo. One nice feature it had was that deleted files and directories were shown struch through in red - and you could even follow down deleted dirs.
I’ve long wanted that view of a git repo. And today while digging through a rather old, imported work project it turned out that was useful to have.