* About Log of [[https://liberapay.com/wasamasa/][my Liberapay-related contributions]]. * 2023 ** 2023-07 - xcb: Published a PoC for XCB bindings in CHICKEN: https://depp.brause.cc/xcb/ - emacs-jabber: FixedContributed some MRs to emacs-jabber: - https://codeberg.org/emacs-jabber/emacs-jabber/pulls/33 - https://codeberg.org/emacs-jabber/emacs-jabber/pulls/34 ** 2023-06 - xcb-boomshine: Wrote a XCB demo game using XELB for Spring Lisp Game Jam 2023: https://depp.brause.cc/xcb-boomshine/ - talks: Held a talk about X11 and XCB: https://depp.brause.cc/talks/chicken-village/ ** 2023-05 - xelb: Significantly improve connection performance: https://github.com/ch11ng/xelb/pull/30 ** 2023-04 - protohackers: Wrote networking code in Emacs Lisp and CHICKEN: https://depp.brause.cc/protohackers/ - letloop-cloud: Tested it and fixed a README oversight: https://github.com/letloop/cloud/pull/1 ** 2023-03 - zone-tmux-clock: Contributed another zone package to MELPA - judybot: Fixed bugs in the YouTube processing code ** 2023-02 - openssl: Expose OpenSSL3-specific EOF bug workaround ** 2023-01 - CHICKEN wiki: Add SRFI-42 cheatsheet - nyxt: Patch an almost security-relevant issue in TTS mode: https://github.com/atlas-engineer/nyxt/pull/2737 - judybot: Truncate ML output after punctuation - judybot: Add YouTube title posting feature * 2022 ** 2022-12 - openssl: Adjust code for OpenSSL3 compatibility ** 2022-11 - judybot: Add help command - judybot: Rework error handling - judybot: Migrate ML completion API to aleph-alpha (note that this costs money, so these donations finally come in useful) - setup-cask: Point out that migration to node16 is in order: https://github.com/cask/setup-cask/issues/26 - Circe: Make CI/tests run again - Circe: Bump minimum Emacs version to 25.1 - CHICKEN: Security research leading to CVE-2022-45145: https://lists.nongnu.org/archive/html/chicken-announce/2022-11/msg00000.html ** 2022-10 - Move elisp-playground off Heroku to fly.io due to upcoming sunset of free tier - Switch judybot over to new elisp-playground location to handle OoM errors better - Help out Syohex with becoming an additional maintainer for yaml-mode: https://github.com/yoshiki/yaml-mode/pull/98#issuecomment-1287662962 https://github.com/yoshiki/yaml-mode/pull/101 https://github.com/yoshiki/yaml-mode/pull/102 ** 2022-09 - Fix an escaping oversight in chicken-ldap ** 2022-08 - Contributed a bunch of bug reports to the eisl ISLISP implementation: - https://github.com/sasagawa888/eisl/issues/198 - https://github.com/sasagawa888/eisl/issues/199 - https://github.com/sasagawa888/eisl/issues/200 - https://github.com/sasagawa888/eisl/issues/201 - https://github.com/sasagawa888/eisl/issues/202 - https://github.com/sasagawa888/eisl/pull/204 - https://github.com/sasagawa888/eisl/pull/205 - https://github.com/sasagawa888/eisl/issues/206 - Updated Emacs timeline ** 2022-07 - Shed some light on UTF-8 issues on planet.scheme.org: https://github.com/schemeorg/planet.scheme.org/issues/5#issuecomment-1183442000 - Removed broken planet.scheme links and fixed one broken one: - https://github.com/schemeorg/planet.scheme.org/pull/6 - Evaluate the suitability of plz.el: https://github.com/alphapapa/plz.el/issues/7 ** 2022-06 - Released a new version of the srfi-203 egg fixing some embarassing mistakes ** 2022-05 - Add (E)SXML raw-string support to esxml - https://github.com/tali713/esxml/issues/34#issuecomment-1119449770 - Make the elisp-playground escape newlines properly ** 2022-04 - Ported the irc egg to C5 - Fixed #1754 for the sandbox egg and extended the test suite to catch that error - https://bugs.call-cc.org/ticket/1754 - Ported vandusen to C5 - Added more missing cases to flymake-chicken.el - Syntax error for missing ~(import (chicken condition))~ - Syntax error for unknown imports - Syntax error for malformed let - Answered an old Scheme question on Stackoverflow: https://stackoverflow.com/questions/39971287/how-to-define-a-char-array-in-chicken-scheme/71713508#71713508 - Released nov.el 0.4.0 - Minimum Emacs version bumped to 25.1 - dom.el is used instead of esxml node accessors - seq.el is used instead of dash.el - Helpful error is raised if no unzip program has been found - Target handling has been fixed (again) - Buttons now have a dedicated map and nov.el keys are preferred - A menu has been added - The nav item check has been made more robust - Improved my emacsclient reimplementation to no longer block on error - Improved the sxpath tool to support raw output and stripping namespaces - Updated the Emacs timeline for Emacs 28.1 - Published my GIMP Scheme hacking so far: - https://depp.brause.cc/script-fu/ - Added notes on badly or undocumented features ** 2022-03 - Rewrote flymake-chicken.el and contributed it to chicken-contrib: - https://github.com/chicken-contrib/flymake-chicken ** 2022-02 - Started implementing tinylisp in Ruby: https://codegolf.meta.stackexchange.com/questions/24402/language-of-the-month-for-february-2022-tinylisp - Demonstrated that AutoHotkey might be a MAL candidate: https://depp.brause.cc/mal-candidates/autohotkey/ - Wrote a blog post on exotic Emacs Lisp comment syntax: https://emacsninja.com/posts/forbidden-emacs-lisp-knowledge-block-comments.html - Implemented the "third timer" system: https://depp.brause.cc/dotemacs/unpublished/third-timer.el - Improved Emacs Lisp solutions on Rosetta Code - https://www.rosettacode.org/wiki/Special:Contributions/Wasamasa - https://rosettacode.org/wiki/99_bottles_of_beer#Emacs_Lisp - https://rosettacode.org/wiki/A%2BB#Emacs_Lisp - https://rosettacode.org/wiki/Arbitrary-precision_integers_(included)#Emacs_Lisp - https://rosettacode.org/wiki/Assertions#Emacs_Lisp - https://rosettacode.org/wiki/Averages/Arithmetic_mean#Emacs_Lisp - https://rosettacode.org/wiki/Averages/Root_mean_square#Emacs_Lisp - https://rosettacode.org/wiki/Character_codes#Emacs_Lisp - https://rosettacode.org/wiki/Closures/Value_capture#Emacs_Lisp - https://rosettacode.org/wiki/Combinations#Emacs_Lisp - https://rosettacode.org/wiki/Command-line_arguments#Emacs_Lisp - https://rosettacode.org/wiki/Copy_a_string#Emacs_Lisp - https://rosettacode.org/wiki/Create_a_file#Emacs_Lisp - https://rosettacode.org/wiki/Cumulative_standard_deviation#Emacs_Lisp - https://rosettacode.org/wiki/Delete_a_file#Emacs_Lisp - https://rosettacode.org/wiki/Dot_product#Emacs_Lisp - https://rosettacode.org/wiki/Dragon_curve#Emacs_Lisp - https://rosettacode.org/wiki/Even_or_odd#Emacs_Lisp - https://rosettacode.org/wiki/Fibonacci_sequence#Emacs_Lisp - https://rosettacode.org/wiki/FizzBuzz#Emacs_Lisp - https://rosettacode.org/wiki/Function_composition#Emacs_Lisp - https://rosettacode.org/wiki/Generic_swap#Emacs_Lisp - https://rosettacode.org/wiki/Greatest_element_of_a_list#Emacs_Lisp - https://rosettacode.org/wiki/Guess_the_number#Emacs_Lisp - https://rosettacode.org/wiki/Guess_the_number/With_feedback#Emacs_Lisp - https://rosettacode.org/wiki/Hello_world/Newline_omission#Emacs_Lisp - https://rosettacode.org/wiki/Hello_world/Standard_error#Emacs_Lisp - https://rosettacode.org/wiki/Hello_world/Text#Emacs_Lisp - https://rosettacode.org/wiki/Horner%27s_rule_for_polynomial_evaluation#Emacs_Lisp - https://rosettacode.org/wiki/HTTP#Emacs_Lisp - https://rosettacode.org/wiki/JSON#Emacs_Lisp - https://rosettacode.org/wiki/Kernighans_large_earthquake_problem#Emacs_Lisp - https://rosettacode.org/wiki/Loops/Do-while#Emacs_Lisp - https://rosettacode.org/wiki/Loops/Foreach#Emacs_Lisp - https://rosettacode.org/wiki/Loops/Infinite#Emacs_Lisp - https://rosettacode.org/wiki/Luhn_test_of_credit_card_numbers#Emacs_Lisp - https://rosettacode.org/wiki/Matrix_transposition#Emacs_Lisp - https://rosettacode.org/wiki/Maze_generation#Emacs_Lisp - https://rosettacode.org/wiki/Maze_solving#Emacs_Lisp - https://rosettacode.org/wiki/MD4#Emacs_Lisp - https://rosettacode.org/wiki/MD5#Emacs_Lisp - https://rosettacode.org/wiki/Monty_Hall_problem#Emacs_Lisp - https://rosettacode.org/wiki/Multiple_regression#Emacs_Lisp - https://rosettacode.org/wiki/Pascal%27s_triangle#Emacs_Lisp - https://rosettacode.org/wiki/Pattern_matching#Emacs_Lisp - https://rosettacode.org/wiki/Phrase_reversals#Emacs_Lisp - https://rosettacode.org/wiki/Pick_random_element#Emacs_Lisp - https://rosettacode.org/wiki/Polynomial_regression#Emacs_Lisp - https://rosettacode.org/wiki/Primality_by_trial_division#Emacs_Lisp - https://rosettacode.org/wiki/Program_termination#Emacs_Lisp - https://rosettacode.org/wiki/Range_extraction#Emacs_Lisp - https://rosettacode.org/wiki/Regular_expressions#Emacs_Lisp - https://rosettacode.org/wiki/Repeat_a_string#Emacs_Lisp - https://rosettacode.org/wiki/Run-length_encoding#Emacs_Lisp - https://rosettacode.org/wiki/Sieve_of_Eratosthenes#Emacs_Lisp - https://rosettacode.org/wiki/Sleep#Emacs_Lisp - https://rosettacode.org/wiki/Sorting_algorithms/Insertion_sort#Emacs_Lisp - https://rosettacode.org/wiki/Sorting_algorithms/Quicksort#Emacs_Lisp - https://rosettacode.org/wiki/Spinning_rod_animation/Text#Emacs_Lisp - https://rosettacode.org/wiki/String_append#Emacs_Lisp - https://rosettacode.org/wiki/String_concatenation#Emacs_Lisp - https://rosettacode.org/wiki/String_matching#Emacs_Lisp - https://rosettacode.org/wiki/String_prepend#Emacs_Lisp - https://rosettacode.org/wiki/Strip_whitespace_from_a_string/Top_and_tail#Emacs_Lisp - https://rosettacode.org/wiki/Substring/Top_and_tail#Emacs_Lisp - https://rosettacode.org/wiki/Sum_and_product_of_an_array#Emacs_Lisp - https://rosettacode.org/wiki/Sum_digits_of_an_integer#Emacs_Lisp - https://rosettacode.org/wiki/Sum_multiples_of_3_and_5#Emacs_Lisp - https://rosettacode.org/wiki/Sum_of_a_series#Emacs_Lisp - https://rosettacode.org/wiki/Towers_of_Hanoi#Emacs_Lisp - https://rosettacode.org/wiki/Zero_to_the_zero_power#Emacs_Lisp - Contributed Emacs Lisp solutions on Rosetta Code - [X] https://rosettacode.org/wiki/File_input/output ** 2022-01 - Dealt with most open Circe issues - Figured out how emacsclient works and reimplemented it in Ruby, CHICKEN Scheme and Emacs Lisp - Contributed Emacs Lisp solutions on Rosetta Code - https://www.rosettacode.org/wiki/Special:Contributions/Wasamasa - [X] https://rosettacode.org/wiki/Rot-13#Emacs_Lisp - [X] https://rosettacode.org/wiki/SHA-1#Emacs_Lisp - [X] https://rosettacode.org/wiki/String_interpolation_(included)#Emacs_Lisp * 2021 ** 2021-12 - Collaborated with Mario Goulart to make pastiche (paste.call-cc.org) block spam better: - https://github.com/ckeen/pastiche/pull/9 - https://github.com/ckeen/pastiche/pull/10 - Background: https://github.com/ckeen/pastiche/pull/8 - Further background: Due to PR #8 not being deployed, I've extended judybot to download newly announced pastes, check them against a denylist and tell vandusen to delete the paste. This worked surprisingly well, but was relatively noisy. Now a new version of pastiche has been deployed and it directly blocks the offending pastes. Further improvements are planned to deter the spammer. - Played Advent of Code 2021 using Emacs Lisp and gave up midway - Split the nov.el keymap into a global and button one to avoid a bug with the menu bar ** 2021-11 - Fixed a bug in lowdown-fenced-code-block which prevented it from emitting a `
` block when encountering an unknown or missing
  language:
  - https://gist.github.com/wasamasa/e49e66e050255a8973270e0a52d68818

** 2021-09

- Started work on an Emacs Lisp version of pl0c:
  - https://briancallahan.net/blog/20210814.html
  - https://depp.brause.cc/pl0c.el/
- Released taglib 0.2.5:
  - Resolves a broken record printer (it always errored out because of
    me not fully understanding the C++ instance wrapper pattern, now
    it doesn't)
  - Introduces the path backing a taglib-file record in the record
    printer and audio property/properties
- Report a bug for tabular to handle headers correctly (#1786)
- Figure out how to make the openssl egg work on CentOS 7:
  - Clarification of the changelog item for 2.0.3
- Redeployed Heroku-based elisp playground to use latest Emacs
  buildpack and Emacs 27.2
- Forked SRFI-66 to ensure it uses SRFI-4 vectors internally:
  - https://depp.brause.cc/srfi-66/
- Fixed depp's README detection to pick up README.md and README.org
  before other README files
- Fixed cl deprecation warnings in sr-speedbar:
  - https://github.com/emacsorphanage/sr-speedbar/pull/2

** 2021-08

- Added basic documentation to the yaml egg wiki page
- Wrote egg-license-check.scm for SPDX tests
- Changed all of my eggs to use -module.scm instead of -impl.scm
- Landed a cairo feature detection patch in Kooda's cairo egg:
  https://www.upyum.com/cgit.cgi/chicken-cairo/commit/?id=cdc98825d2bc29d22c78cfe38908f01d6bdcb5fe
- Mention NonGNU ELPA in Evil's documentation
- Wrote a patch for the sqlite3 egg to handle -D options correctly,
  then wrote another patch to replace deprecated APIs:
  - https://bugs.call-cc.org/ticket/1335
- Ported the following wiki pages to C5:
  - http://wiki.call-cc.org/An%20extended%20FFI%20example
- Wrote code to detect svnwiki pages with subsequent preformatted code
  blocks, then wrote and submitted a patch for the svnwiki-sxml egg to
  detect these as a single code block (resolved with minor adjustment
  in 0.2.14)
- Wrote a salmonella dashboard:
  - https://depp.brause.cc/brause.cc/salmonella/
  - https://salmonella.brause.cc/
- Wrote patches to fix salmonella breakage for:
  - SRFI-144 (DBL_TRUE_MIN is undefined with tcc) (resolved in 0.1.3)
  - stb-image (emmintrin.h isn't available for tcc):
    https://github.com/kristianlm/chicken-stb-image/pull/1
- Opened an issue for envsubst to resolve its salmonella failures:
  https://github.com/r1b/envsubst/issues/1
- Published last available fork of sendfile
- Published svnwiki-linter to improve detection of signature
  identifiers: https://depp.brause.cc/tools/svnwiki-linter.scm
- Wrote and submitted an accompanying svnwiki-sxml patch.
- Contributed a define-symbols recipe to the Scheme cookbook:
  https://github.com/schemedoc/cookbook/pull/56
- Discovered a speed penalty in SRFI-130 and SRFI-152
- Contributed a patch to speed up SRFI-133 by using built-in
  receive/let-optionals*: https://github.com/ThatGeoGuy/srfi-133/pull/1
- Started hacking towards an elisp eval bot:
  - Wrote a Heroku elisp playground: https://elisp-playground.herokuapp.com/
  - Source: https://depp.brause.cc/elisp-playground/
  - Reported an issue with the latest available Emacs buildpack:
    https://github.com/raxod502/heroku-buildpack-emacs/issues/1
  - Added an eval command to judybot using the Heroku app
- Issue tracker grooming:
  - srfi-13 0.3.2 published to fix #1779
  - Debugged and resolved #1761
  - Closed already fixed #1680
  - Reviewed wiki code snippets for #1551
- Tested 5.3.0rc2 on mingw-msys and cygwin

** 2021-07

- openssl 2.2.4 released to fix a serious file-cipher/file-digest bug
- image-dimensions 1.0.1 released to fix tests on mingw64-msys2
- kiwi 1.0.1 released to fix salmonella test failures
- stfl 1.1 released to fix BSD and Debian 9 salmonella build failures
- taglib 0.2.4 released to use taglib-config instead of pkg-config
- breadline 0.10 released to support syntax highlighting
- SRFI-203 and SRFI-216 have been ported and added to the coop
- Wrote a cairo feature detection patch for Kooda's cairo egg
- Missing egg documentation ported from C4 to C5 pages:
  - alist-lib
  - cluckcheck
  - define-record-and-printer
  - heap-o-rama
  - hmac
  - levenshtein
  - monad
  - pathname-expand
  - plot
  - r6rs-bytevectors
  - stemmer
  - tokyocabinet
  - yaml