Understand your Mac and iPhone more deeply by tracing the evolution of Mac OS X from prelease to Swift. John Siracusa delivers the details.
You've got two main options:
| ;; nano-emacs.el --- NANO Emacs (minimal version) -*- lexical-binding: t -*- | |
| ;; Copyright (c) 2025 Nicolas P. Rougier | |
| ;; Released under the GNU General Public License 3.0 | |
| ;; Author: Nicolas P. Rougier <[email protected]> | |
| ;; URL: https://github.com/rougier/nano-emacs | |
| ;; This is NANO Emacs in 256 lines, without any dependency | |
| ;; Usage (command line): emacs -Q -l nano.el -[light|dark] |
| /* Heap based virtual machine described in section 3.4 of Three Implementation Models for Scheme, Dybvig | |
| */ | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <string.h> | |
| #include <ctype.h> | |
| #include <assert.h> | |
| char token[128][32]; |
| #lang racket | |
| (require (rename-in racket/base [+ r:+])) | |
| (provide +) | |
| (define (join e1 e2) | |
| (cond | |
| [(and (number? e1) (number? e2)) | |
| number?] | |
| [(and (number? e1) (symbol? e2)) |
This guide was adapted from https://gist.github.com/niw/e4313b9c14e968764a52375da41b4278#running-ubuntu-server-for-arm64
| ;; A space invaders game in Racket | |
| ;; Copyright (c) 2020 Alex Harsányi ([email protected]) | |
| ;; Permission is hereby granted, free of charge, to any person obtaining a | |
| ;; copy of this software and associated documentation files (the "Software"), | |
| ;; to deal in the Software without restriction, including without limitation | |
| ;; the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
| ;; and/or sell copies of the Software, and to permit persons to whom the | |
| ;; Software is furnished to do so, subject to the following conditions: |
| # Stick this in your home directory and point your Global Git config at it by running: | |
| # | |
| # $ git config --global core.attributesfile ~/.gitattributes | |
| # | |
| # See https://tekin.co.uk/2020/10/better-git-diff-output-for-ruby-python-elixir-and-more for more details | |
| *.c diff=cpp | |
| *.h diff=cpp | |
| *.c++ diff=cpp | |
| *.h++ diff=cpp |
| :- use_module(library(pairs)). | |
| :- use_module(library(reif)). | |
| not_in_list(K, L) :- | |
| if_((L = []), | |
| true, | |
| ([X | More] = L, | |
| dif(K, X), | |
| not_in_list(K, More))). |
If you, like me, resent every dollar spent on commercial PDF tools,
you might want to know how to change the text content of a PDF without
having to pay for Adobe Acrobat or another PDF tool. I didn't see an
obvious open-source tool that lets you dig into PDF internals, but I
did discover a few useful facts about how PDFs are structured that
I think may prove useful to others (or myself) in the future. They
are recorded here. They are surely not universally applicable --
the PDF standard is truly Byzantine -- but they worked for my case.