just an english enby living through the end times…

Formerly of:

  • 9 posts
  • 27 comments
Joined 2 years ago
Cake day: January 28th, 2024
    • OS:
      • Arch Linux or OpenBSD, depending in how I feel
    • Editor:
      • Micro on Linux
      • mg(1) on OpenBSD
    • Plug-ins:
      • Micro has support for a few linters, which is all I really need
      • mg(1), meanwhile, doesn’t even have syntax highlighting
    • Terminal:
      • Kitty on Linux
      • XTerm on OpenBSD
    • Shell:
      • Zsh on Linux
      • ksh on OpenBSD
    • Version Control:
      • Git is the only realistic option (though Mercurial and Fossil are nice)
    • Code Hosting:
      • Usually Codeberg
      • I also have sourcehut
      • My Formula Student team uses GitLab
      • My university and another society use GitHub 🤮

    I usually licence my work under GPL if it’s a large project, or Beerware if it’s something smaller (or if it’s for internal use in one of my societies).

    Any coursework I do, however, gets licenced under BSD-3-clause. For this, GPL would be too restrictive and Beerware would be too informal, and BSD-3-clause is a nice middle-ground (as far as I’m concerned).

I have always had a great deal of respect for C, and I would like to start writing in it. However, while I am skilled in other languages, I basically don’t know any C off the top of my head.

I find that I learn better and faster by attempting projects, rather than working through a book ir taking a class. For example, to learn Perl, I am working on a basic disk image writer that’s coming along nicely.

So, what do you think might be a good idea for my first C project?

EDIT: Zig is also something I’m interested in learning. Same question, different language.

  • Reminds me of the xterm(1) README:

    Abandon All Hope, Ye Who Enter Here

    This is undoubtedly the most ugly program in the distribution. It was one of the first “serious” programs ported, and still has a lot of historical baggage. Ideally, there would be a general tty widget and then vt102 and tek4014 subwidgets so that they could be used in other programs. We are trying to clean things up as we go, but there is still a lot of work to do.