about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2020-02-04 r/476 feat(ops/nixos/nugget): Enable U2F hardware supportVincent Ambo1-0/+1
2020-01-29 r/475 refactor(fun/wcl): Use portable unix-opts libraryVincent Ambo2-1/+2
unix-opts, imported into buildLisp.nix in the previous commit, provides an implementation independent way of parsing command line arguments.
2020-01-29 r/474 feat(third_party/lisp): Add derivation for unix-optsVincent Ambo1-0/+17
2020-01-29 r/473 fix(nix/buildLisp): Ensure SBCL uses UTF-8 encodingVincent Ambo1-0/+1
2020-01-29 r/472 fix(fun/wcl): Use 'eql' for byte comparisonsVincent Ambo1-4/+4
The fact that this works is just an implementation-specific detail. In theory, 'eq' will only compare object instance equality and not value. Thanks to /u/patrec from HN for pointing this out.
2020-01-29 r/471 docs(nix/buildLisp): Update the README with actual docsVincent Ambo2-12/+87
2020-01-28 r/470 fix(fun/wcl): Count words correctly if file starts with whitespaceVincent Ambo1-2/+3
2020-01-28 r/469 feat(fun/wcl): Add a simple 'wc' clone in LispVincent Ambo2-0/+46
Prompted by this thread: https://lobste.rs/s/zntyeq/wc_d_712_characters_without_single_branch
2020-01-27 r/468 feat(web/tazblog_lisp): Implement retrieval of blog posts from DNSVincent Ambo2-0/+100
This is mostly equivalent to the Haskell implementation, with the primary difference that the Lisp DNS library does not support caching yet.
2020-01-27 r/467 fix(emacs-pkgs/nix-util): Don't leave sly build out-links aroundVincent Ambo1-1/+1
2020-01-27 r/466 refactor(lisp/dns): Return dns-answer from query functionsVincent Ambo2-2/+10
2020-01-27 r/465 docs(lisp/dns): Add initial README fileVincent Ambo1-0/+75
2020-01-27 r/464 feat(lisp/dns): Support CNAME & NS record RDATAsVincent Ambo2-378/+64
2020-01-27 r/463 refactor(lisp/dns): Refactor structure of lookup-generic callsVincent Ambo1-9/+12
2020-01-26 r/462 refactor(third_party/lisp): Use buildLisp.bundled for built-in libsVincent Ambo14-74/+36
Deprecates derivations for: * sb-bsd-sockets * sb-posix * sb-rotate-byte * uiop
2020-01-26 r/461 feat(nix/buildLisp): Add 'bundled' function for built-in librariesVincent Ambo1-0/+8
Makes it possible to add virtual dependencies on built-in libraries, e.g. `buildLisp.bundled "sb-posix"`.
2020-01-26 r/460 chore(lisp/dns): Remove unused dependenciesVincent Ambo1-2/+0
2020-01-26 r/459 Merge branch 'feat/dns-lisp'Vincent Ambo5-31/+812
2020-01-26 feat(lisp/dns): Export struct fieldsVincent Ambo1-3/+3
2020-01-26 feat(lisp/dns): Introduce enum for DNS types & decode RDATAVincent Ambo1-2/+21
Adds some of the most common DNS types in the enum (others TBD), and starts decoding RDATA for TXT and A.
2020-01-26 chore(lisp/dns): Add 'message.lisp' to build instructionsVincent Ambo1-0/+1
2020-01-26 feat(lisp/dns): Use new DNS deserialiser in dns:lookup-genericVincent Ambo1-152/+52
This enables arbitrary DNS lookups (with the caveat that RRDATAs are currently not deserialised into a record-type-specific format). An error condition has been defined for error-responses from the HTTP server which provides interactive restarts for attempting a new call with different parameters.
2020-01-26 r/458 feat(emacs.d): Add interactive 'scrot-select' screenshot functionVincent Ambo1-0/+6
2020-01-26 feat(lisp/dns): Implement qname compression parsingVincent Ambo1-270/+29
Implements support for the compresion scheme used in binary DNS messages. This makes it possible to decode messages entirely, but not yet actually resolve the labels to their "real" values. All qnames are stored with file-offsets pointing at the position at which their reading started, which enables the implementation of a function to resolve pointers internally.
2020-01-26 refactor(lisp/dns): Introduce structured QNAME representationVincent Ambo1-31/+51
Adds a struct that represents QNAMEs, tracks the stream offset at which the QNAME parsing began and makes it possible to resolve pointers inside of the QNAME. Note that resolving pointers needs to happen *after* the call to lisp-binary currently. It might be possible to implement this inside of lisp-binary in the future by switching on the top two bits of the qname field, but since this is happening *inside* of a reader function I'm not currently sure how to implement it.
2020-01-26 feat(lisp/dns): Check in initial DNS message implementationVincent Ambo1-0/+931
This uses lisp-binary to define serialisation types for the DNS messages defined by RFC 1035. Currently the compression scheme used for QNAMEs is not supported, hence deserialisation of even simple records fails after the header and question sections are read.
2020-01-26 refactor(lisp/dns): Split package into multiple filesVincent Ambo4-31/+182
Adds a package definition file and moves the current client into client.lisp Note that the client is not working at all at this commit as this is a work-in-progress snapshot.
2020-01-26 r/457 feat(fun): Add copy of my avatarVincent Ambo1-0/+0
Handy to keep this around somewhere! Thanks Kitty <3
2020-01-25 r/456 feat(ops/nixos/nugget): Install unzipVincent Ambo1-0/+1
2020-01-24 r/455 chore(buildLisp): use lib.optionalString where applicableedef1-4/+1
2020-01-24 r/454 chore(buildGo): use lib.optionalString where applicableedef1-1/+1
2020-01-24 r/453 feat(emacs.d): Add notmuch-depot-apply-patch helper functionVincent Ambo1-0/+21
This function lets me interactively apply a patch from the currently opened notmuch message to the depot.
2020-01-22 r/452 feat(third_party/lisp): Add 'lisp-binary' package and dependenciesVincent Ambo3-0/+64
2020-01-22 r/451 feat(third_party/lisp): Add 'iterate' and 'quasiquote-2.0' packagesVincent Ambo3-3/+35
2020-01-22 r/450 Merge commit '47f60d0996ed57d3a3c00b25ddbd8fea04096f90' as ↵Vincent Ambo8-0/+895
'third_party/lisp/quasiquote_2'
2020-01-22 Squashed 'third_party/lisp/quasiquote_2/' content from commit cac90875d1Vincent Ambo8-0/+895
git-subtree-dir: third_party/lisp/quasiquote_2 git-subtree-split: cac90875d1f66e9385e559bfebafe6b7808b0930
2020-01-22 r/449 chore(build): Build Lisp DNS library in CIVincent Ambo1-0/+1
2020-01-22 r/448 feat(lisp/dns): Check in very early DNS-over-HTTPS clientVincent Ambo3-0/+45
This includes very barebones support for querying TXT and MX records right now. The returned structure is not turned into a more convenient format and error handling is, well, NIL.
2020-01-22 r/447 feat(emacs.d): Add key binding for counsel-notmuchVincent Ambo1-1/+3
2020-01-22 r/446 fix(fun/gemma): Give Hunchentoot the trailing slash it desiresVincent Ambo1-1/+1
2020-01-22 r/445 refactor(fun/gemma): Make acceptor available in a variableVincent Ambo1-4/+7
This makes it possible to *stop* the server again in a REPL, which is useful :)
2020-01-22 r/444 fix(third_party/lisp/bordeaux-threads): Use native condvars on SBCLVincent Ambo1-1/+0
This underlines that I should probably have a thing that imports these automatically.
2020-01-22 r/443 fix(fun/gemma): Fix minor typo in frontend injectionVincent Ambo1-1/+1
2020-01-22 r/442 chore(builds): Enable Gemma build in CIVincent Ambo1-0/+1
2020-01-22 r/441 chore(overrides): Remove lispPackages overridesVincent Ambo6-114/+0
No longer required since Gemma now uses buildLisp.nix
2020-01-22 r/440 refactor(fun/gemma): Use buildLisp.nix to build GemmaVincent Ambo5-91/+40
This removes the ASDF system definition for Gemma and switches the code over to buildLisp. The program builds (including some terrifying hacks to get the frontend to work), but there are some bizarre runtime issues that I need to debug.
2020-01-22 r/439 feat(third_party/lisp): Check in dependencies of gemmaVincent Ambo4-0/+89
2020-01-22 r/438 feat(third_party/lisp/s-xml): Check in sources & derivationVincent Ambo23-0/+2389
Checked in the sources for this because it is tracked upstream in CVS and I can't be bothered to deal with that right now.
2020-01-22 r/437 feat(third_party/lisp): Add derivations for hunchentoot & depsVincent Ambo5-0/+131
2020-01-21 r/436 feat(third_party/lisp): Check in drakma HTTP client & depsVincent Ambo8-0/+188
This HTTP client has much fewer dependencies than some of the other ones I've seen, and it'll be good enough for my demo purposes.