News for hackers. Stuff that matters.

artsi0m

Re:Let Over Lambda is free online to read as pdf on Friday August 07, 2026 @12:02PM (#49212490)
https://letoverlambda.com/

«2026 update: Let Over Lambda was published in 2008, to align with the 50th anniversary of Lisp's invention in 1958. A lot has changed since then, in both Lisp and programming practice in general. Although my thinking and opinions have evolved since, I still believe the book holds up well as a tutorial and explanation of why Lisp so special. Going forward, the entire book is free to read online (HTML, PDF). Happy lisping»

Let Over Lambda is one of the most advanced books on Common Lisp macros.

In this book authors shows the great possibilities that unhygienic macro system gives. He implements closures using Let Over Lambda pattern, shows usage of anaphoric and reader macros and also construct some kind of OOP system out of abilities that CL macro system provides.

Show HN: Howm meets org-dril: note taking tool combined with flashcards in Emacs

https://github.com/artsi0m/posts/blob/master/2025-01-22-195006.org

Literate programming/orgdev style article containing my environment for note taking and active recall in Emacs. Screen cast with example of how to use such system is included.Relevant HN submissions:Howm: Personal Wiki for Emacs https://news.ycombinator.com/item?id=41438107org-fc: https://news.ycombinator.com/item?id=39286107Effective spaced...

( Read More... | no comments | 2 points | on HN )
Re:Howm: Personal Wiki for Emacs on Thursday September 05, 2024 @02:32PM (#41459261)
Thanks, this sound reasonable actually.

Maybe, I would think about implementing it in this way.

Actually I don't really want to create a separate emacs package, but rather merge my code with main howm repo at some point, when it would be good enough.

Creating your own package would be acceptable alternative to this, though.

I also should add, that I can add enabling external grep part to my short howm config, but it seems to slow down howm, rather speed it up, when using it on windows.

Re:Howm: Personal Wiki for Emacs on Thursday September 05, 2024 @02:26PM (#41459217)
Sorry, of course no. But there is much better introduction blog posts on this topic in my opinion.

I liked this one: https://baty.blog/2024/03/the-emacs-howm-package-for-notes

Re:Howm: Personal Wiki for Emacs on Wednesday September 04, 2024 @09:22PM (#41452584)
> How does this deal with searches that, over time, can change to return 0 or 2+ results?

You can put more than one search link in currently edited note, than test all of them and at one point you will learn how to formulate search query so that you would recite yourself exactly as in that note that you want to see just now.

Also you would find more suitable titles while being in this process, but it wouldn't be for long.

Re:Howm: Personal Wiki for Emacs on Wednesday September 04, 2024 @09:16PM (#41452551)
Date line could be put everywhere you want or entirely deleted. You are absolutely free in this aspect of usage of howm.
Re:Howm: Personal Wiki for Emacs on Wednesday September 04, 2024 @08:55PM (#41452428)
> lab notebook

I write down my uni's lectures in howm using org as markup, so maybe yes, probably.

howm has two types of links, both are search for all your data it howm actually, but the second type (<<< links) work as a tag, that would be highlighted everywhere.

I thing creating templates can be done with one or another emacs snippets packages. Or just by your own elisp.

Re:Howm: Personal Wiki for Emacs on Wednesday September 04, 2024 @08:48PM (#41452383)
Mine is much simpler

(use-package howm)

Although I am the one who use it with org-mode too.

I've done it using prop-line feature of emacs and my own interactive, for today it is only interactive, function howm-insert-prop-line:

    (defun howm-insert-prop-line ()
  "Activate major mode and modify the file so that this mode is activated
  automatically the next time it is opened"
      (interactive)
      (howm-mode)
      (let*
   ((modes (mapcar #'cdr auto-mode-alist))
    (mode-name (completing-read "Choose major mode: " modes))
    (mode (intern-soft mode-name)))
 (unless (or (null mode)
     (eq mode major-mode))
   (funcall mode)
   (howm-mode)
   (add-file-local-variable-prop-line
    'mode (intern (string-trim-right mode-name "-mode\\'"))))))

It is in github repo, too although it is not yet finished:

https://github.com/artsi0m/howm-use-any-markup

My problem is that I can't combine well nested interactive+let or let+interactive, so it is only as interactive function for now.

Re:Howm: Personal Wiki for Emacs on Wednesday September 04, 2024 @08:41PM (#41452350)
Nope, it suggest to use howm with markdown only, while when using emacs prop-line feature, you can use it with any markup.
Terry referenced the joke about web browsers, saying that as the most people use internet explorer to download firefox, he used Ubuntu with VMWare to run Temple OS. https://iv.ggtyler.dev/watch?v=IXhmu1aQSOY
Re:Porn restrictions are leading to a VPN boom on Saturday April 06, 2024 @05:12PM (#39955607)
I use VPN for bypassing blocks created either by government of the country I currently live in or established as a sanctions by another governments.

I set up wireguard and unbound on VPS in Amsterdam and share with 10-15 people by posting wireguard config in private telegram channel.

Ironically enough, but I block porn access using StevenBlack hosts converted into Unbound config by awk script, so porhhub dot com will return REFUSE dns response from unbound.

I know, that is not impressive idea of how to utilize computing power of the VPS, but I also used it for running tor snowflake (disabled because of eating too much ram), running tor obfs4_proxy (would also eat much ram, but that can be adjusted, I don't remember clearly why I disabled it at one point) and I used it as a server for Postgres that I tried to use for uni's coursework on databases.

Maybe I am too lazy to setup tools like zapret for bypassing deep packet inspection locally on my laptop or on router. But still there should be a ton of things that can be done on the same vps.

Re:Term-Lisp on Tuesday April 02, 2024 @03:05PM (#39909616)
term-lisp is a language for term list processing with first-class pattern matching, inspired by Pie, Haskel, Agda et al
Re:Aho – a Git implementation in Awk on Saturday February 10, 2024 @12:50PM (#39328415)
I found an awesome-awk[1] page on github and is seems to be a little empty. Maybe we should contribute to it and bring some examples like subj of this HN post or ahrf[2], dedicated markup language for static site generators based on awk. I've started with adding one true awk and bioawk implementations.

[1]: https://github.com/freznicek/awesome-awk [2]: https://github.com/Ypnose/ahrf

Re:Aho – a Git implementation in Awk on Saturday February 10, 2024 @11:46AM (#39327679)
Re:OPML Is Underrated on Saturday February 10, 2024 @11:39AM (#39327589)
I would like to share opml, but at the same time I would like to have some of my subscription staying private. Would be cool to have some elisp or shell + xmlstarlet script to export only things that I would feel normal to share.
Re:Org-fc: orgmode flashcards with gawk as indexer on Wednesday February 07, 2024 @03:50AM (#39286108)
Org-fc is a spaced-repetition system for Emacs' org-mode.

It allows you to mark headlines in a file as "flashcards", turning pieces of knowledge you want to learn into a question-answer test.

These cards are reviewed at regular interval. After each review, a Repetition Spacing Algorithm is used to calculate the next interval based on how well you remembered the contents of the card.

Re:GitHub is preparing for IPv6 support for Github.com on Wednesday February 07, 2024 @03:09AM (#39285865)
Sorry, I thought that it would sound like a fine joke. Don't want to offend someone
Re:GitHub is preparing for IPv6 support for Github.com on Monday February 05, 2024 @02:12AM (#39258220)
I am not gonna read this postmortem, but post link to this HN thread as a proof of mass IPv6 adoption.
Re:ProofWiki: Online compendium of mathematical proofs on Monday February 05, 2024 @02:04AM (#39258173)
I remember findind this site when solving exercise of creating sign function for Z with arithmetic operators only. I used this[1] page to cheat and reimplement mod in C (by default % is rem) with defined zero. Unfortunately it doesn't helped me yet, but I still like this site.

[1]: https://proofwiki.org/wiki/Definition:Modulo_Operation/Modul...

Re:Modeless Vim on Tuesday January 16, 2024 @01:53PM (#39017195)
Emacs has a mode called cua-mode with keybindings thats more simillar to ones from other modern gui programms like browser.
Re:Modeless Vim on Tuesday January 16, 2024 @01:52PM (#39017159)
I use emacs and I respect emacs developers, but it is not originally emacs bindings: http://unix-kb.cat-v.org/
Re:OpenBSD KDE Plasma Desktop on Tuesday January 09, 2024 @07:49AM (#38925550)
It somehow happens that OpenBSD feels like an whole operating system rather than Linux distro built from various components. For example, when pledge(2) and unveil(2) appeared, many user-space programms got patched as soon as possible. You can see simillar process now, after pinsyscall(2) appeared and syscall(2) was removed.

I heard, that there is something simillar in FreeBSD with zstd compression.

For me cons is that you can't run some programms that depends on Linux kernel insides, like rr debugger, which depends on some specific of linux ptrace(2): https://github.com/rr-debugger/rr?tab=readme-ov-file#system-...

Re:OpenBSD KDE Plasma Desktop on Tuesday January 09, 2024 @07:36AM (#38925417)
You can edit /etc/firefox/unveil.main and add string like "~/Documents rwx" so it would be available from firefox
Re:OpenBSD KDE Plasma Desktop on Tuesday January 09, 2024 @07:35AM (#38925413)
But apparmor is more complex system and in fact is an RBAC. unveil(2) is much more easier in implementation and enforcing.
Re:OpenBSD KDE Plasma Desktop on Tuesday January 09, 2024 @07:32AM (#38925378)
OpenBSD is in fact already pretty much user-friendly. Installer is simple, althought an a textual interface. It comes with preinstalled X server and window managers fvwm and cwm. In the installer you can choose Xenodm to start automatically after boot, it would be your display manager and you can just simply login through it to fvwm. From here you can edit .xsession and choose any window manager you installed or pre-installed cwm.
Indeed. But lisp is much more than prefix notation.

Different notations like revers polish notation also easier to parse. You can evaluate RPN only using stack.

Also, recently I learned about thread-last macro in emacs lisp. Using it you can evaluate forms from left to right, and using it you can write less parenthesis.

Yes, sometimes logical AND called logical multiplication and logical OR called logical summation.

It seems clear for me, because I remember learning De Morgan's Laws in electronics class and from one specific level of Turing Complete game.

Older »