[ mona / prog / sol ]



π's closed form

1 2020-08-10 16:46


2 2020-08-10 16:51

Shorter version:

3 2020-08-10 18:13

Sum of inverse square roots is square root of Nth member number of sum(n^0.5)

4 2020-08-13 17:29

What about ln(-1)/i ?

5 2020-08-13 17:42




do not edit these


SchemeBBS [part 2]

1 2020-06-18 04:00

Let's keep the questions about installation and code reviews in one thread.
previous thread http://textboard.org/prog/39


Thanks a lot, I will probably add these worthwhile optimizations. I was thinking about changing the redirection to an absolute path too because, sadly, patching http-syntax.scm has been an exceedingly high barrier entry for many persons who have shown their interest. Updating that file (and the broken httpio.scm) to follow the new RFC might still be possible in future releases of MIT Scheme 10, but I have only recently tried porting SchemeBBS to the newer version. (The 10.1.10 dist you could download from the official site was broken for a year, I've just noticed it's been replaced by 10.1.11, 2020/06/04)

I have a cute idea for some really fun and unique feature that should be very easy to implement but no spoiler.


64 2020-08-13 13:56

you can play multiplayer Diablo with github pages
but you can't have a BBS


65 2020-08-13 16:03 *


>but you can't have a BBS

You could use git to store json, then make the users browser load the json over http, then do git requests over http for posting, if you were that much of a webshit hipster hacker. Don't forget to disregard the gaping modification hole, fellow hackers.

66 2020-08-13 16:24

Not him, but

then do git requests over http for posting

how would you do git requests over http? I though GH pages had no way to run backend code.

67 2020-08-13 16:25

>>61 Doom is simpler than Diablo which does run(its essentially a magically themed FPS with roguelike elements) >>64

68 2020-08-13 16:57 *

They don't the users browser does, hence the gaping hole.



do not edit these



1 2020-08-13 12:03

Since subset sum problem is NP-hard
and its now confirmed to be polynomial
What does it say for NP? Will it be redefined?

2 2020-08-13 12:32

Didn't know that pseudo-polynomial means polynomial.



do not edit these



1 2020-08-13 06:07

An ephemeron is an object with two components called its key and its datum. It differs from an ordinary pair as follows: if the garbage collector (GC) can prove that there are no references to the key except from the ephemeron itself and possibly from the datum, then it is free to break the ephemeron, dropping its reference to both key and datum. In other words, an ephemeron can be broken when nobody else cares about its key. Ephemerons can be used to construct weak vectors or lists and (possibly in combination with finalizers) weak hash tables.


2 2020-08-13 09:49

This is interesting, won't work well for compiled scheme though. I like the ephemeron-broken idiom.



do not edit these


Small programming projects ideas

1 2020-05-24 00:20

Share programming tasks that you considered doing at some point but realized you lack the time or motivation and that could be an interesting task for someone else.

Here's one: rewrite Notational Velocity for Linux. The Python clone is awful, so don't use Python or another slow scripting language. NV was the best and simplest note taking software ever made (for people too lazy to get into Org-mode)


It only works on OSX 10.4-10.7 so you'll need an old mac or a VM to run it.


115 2020-07-24 18:24


Maybe it would make sense to limit it to certain functions. For example, if you are reading ``An Introduction to Programming in Emacs Lisp'', you would want to be quizzed only for the functions that were mentioned in the chapters you have finished. The same could be done for the reference manual. Studying a single package from ELPA might also make sense.

As an alternative I thought that unit tests could be also used. For example, here's a snippet from rot13-tests.el:

(ert-deftest rot13-tests-rot13-string ()
  (should (equal (rot13-string "") ""))
  (should (equal (rot13-string (rot13-string "foo")) "foo"))
  (should (equal (rot13-string "Super-secret text")
                 "Fhcre-frperg grkg")))

This could easily be split into just the parts inside the should. You could randomly replace a value with a special symbol (*HIDDEN* or something), and let the user guess what was the original value. The user could supply an alternative solution, but it can be evaluated and accepted if it is equivalent. The bigger issue is that most tests are more involved, they need special buffers and variables, or mention the function tested in the example inputs, etc.

I remember there was some package that would work like Smalltalk's Finder and list you possible functions to use if you have given it the inputs and the desired output. Maybe something like that could be used to generate questions? But generating random inputs is probably a harder problem than finding the function.

116 2020-07-25 21:29


With replacing *HIDDEN* in tests it kinda becomes lisp-koans for emacs

117 2020-07-26 08:40

Apparently elisp-koans exists: https://github.com/jtmoulia/elisp-koans

118 2020-08-02 14:12

A blaseball radio. The API is undocumented but dead simple, so it shouldn't be too difficult.

119 2020-08-12 18:22

org-capture but for making unit tests out of the last input sent to your Geiser REPL. You press the magic keybinding and it opens up a new window, narrowed to the new test. It automatically inputs the expression you evaluated and the result you got back. You can edit it to your heart's content, and then send it away with C-c C-c.



do not edit these



1 2020-08-11 12:03

Licky.org Cute discord alternative


7 2020-08-12 14:44 *

Mumble and IRC.
Seriously, what's so hard about this when both are well-established standards.

8 2020-08-12 14:44 *

Also, this discussion is really supposed to be in /sol/.

9 2020-08-12 15:34

Not a discord fan, but what do you do when it comes to persistence? IRC and Mumble both only work if everyone is online, and most people aren't interested in using an additional bouncer.

10 2020-08-12 16:45 *

Chat logs persistence? Then you use a web IRC client for noobs like thelounge.chat (it's FLOSS, you can install it yourself) or you can go the Matrix way and integrate Mumble as a plugin.

There, you have your Discord, with persistent logs, site preview, file uploads and what not. Oh and everyone's favorite: your users can connect through their browser.

11 2020-08-12 19:35 *

There's too many discussions on /prog/ that should be in /sol/ but now you two care when the advertisement spam hits..



do not edit these



1 2020-08-10 02:18


2 2020-08-10 04:49 *

ok reddit

3 2020-08-11 11:40


4 2020-08-12 08:35 *


Not using VIP for this and bumping the thread.
>>>/nazo/ you go now (>,,´∀`)>︻╦̵̵̿╤── ◎ ◎ ◎ (you) . . . ....:|/nazo/|



do not edit these


Web Frameworks Benchmark

1 2019-12-26 03:18


Rust is finally nailing it.

Never heard of https://vertx.io/ before.

H2O is the fastest C project submitted : https://h2o.examp1e.net/


11 2020-08-10 12:51 *

I think it doesn't do multi-line?


12 2020-08-10 19:53 *

bold, italics, code and spoiler (<del>) are inline elements. They were only intended to highlight a word in a sentence. Only code blocks are multilines. All the BBCode fun has been slaughtered.

13 2020-08-11 10:26


It literally says:

Get used to minimalism and security

14 2020-08-11 10:27


HTML inline elements can contain <br> afaik, so I guess the question is why SchemeBBS stops parsing at newlines…

15 2020-08-13 06:43 *


why SchemeBBS stops parsing at newlines

By design.

Users cannot be trusted for typography. They'll separate paragraphs with several lines (but SchemeBBS won't allow that) or they'll use typographical abominations such as text that's both bold and italic (super emphasis?)
Spoilers didn't even exist in the first version of the markup language (years ago, in the Erlang implementation). It's a concession made for the hypothetical poster from /prog/ who really can't live without them and a pain in the ass for those of us who don't use a mouse. You get to hide a word or two but you don't nest spoilers, you don't implement a Pong game in spoilers. No fun's allowed.

Nowadays you have only HTML generation, but that wasn't always the case. S-exp were translated to roff pages at one point. In a man page you have bold and underline but spoilers don't really exist (I know there's an ANSI escape code for invisible text). I digress. Try to do this in Markdown:
What do you get? The rule of least surprise was followed, I guess.



do not edit these



1 2020-06-13 20:09

When I was starting to get into Lisp, the Common Lisp Hyper Spec (CLHS) was quite confusing. The formatting is off, much of the navigation is implemented using images, and despite the sites being packed, it was hard to find what one wanted to know. I have got used to it since, it is still kind of sad that one of the canonical references of the Lisp "community" is a non-free, not even any Creative Commons document, that cannot be updated or maintained by said users. It would be great if it could be redistributed as a SLIME package or as an Info document, but as it says "Copyright 1996-2005, LispWorks Ltd. All rights reserved." at the bottom of the page, it's not possible.

Sadly most alternatives I know of aren't as expansive. So has there ever been a push to get LispWorks to release the HyperSpec into some kind of a public domain/CC-BY-whatever state? If not, is it even feasible? Does anyone here know any details on it's history?


12 2020-08-06 09:30

What would be really nice, was a lisp implementation with some kind of HyperSpec / Standard integration in the documentation function. I find that the output of that (in SBCL at least) is hardly useful enough for what you are trying to find out although it is a great feature.

13 2020-08-06 16:18

>>12 the unfortunate aspect of "common" in common lisp is that a lot of existing functionality was left behind, because each vendor already had some kind of elaborate, incompatible in details but similar in spirit solution to various IDE problems. genera's repl for example allowed you to enter human readable commands in addition to lisp code. one of such commands is Show Documentation, which would pull formatted docs for pretty much anything in the system, and dump them straight in the repl. i think texinfo's original intent was to support something like that on an emacs machine, and i believe there's already enough tooling to make emacs give you texinfo documentation for a symbol at point.

14 2020-08-07 13:16

It’s a real shame that none of the Common Lisp implementations of Emacs ever really caught on. It’s pretty easy to imagine a Hemlock decendent, or similar project being a pretty exceptional development environment.

15 2020-08-10 02:06 *

>>14 i've used hemlock fulltime for a year. the unsatisfying aspect of the "emacs" paradigm is that the original lisp machines didn't really have everything living inside the editor. editor was just another, smart, widget that you could integrate into programs. hemlock makes it obvious: typeout, exception handling, various lisp integration features are better off living outside, but there's no framework to support this outside. mcclim and friends is simultaneously anemic compared to the real deal, and over engineered. emacs to some extent is the ultimate worse is better slap in the face: it even at being good enough lisp machine because it's such a hack.

16 2020-08-10 13:03 *

I've certainly noticed that GNU Emacs is one big hack, the more you embrace it the more painfully obvious this is. I was also aware that ZEmacs was just an application for Lisp Machines. Your comments really tell me that I should take the time to research McCLIM, and gain a better understanding of Lisp Machines overall though.



do not edit these



1 2020-07-25 19:15

What's up folks,
I've compiled a list of textboard sites in a .json format.
Am I missing any?



13 2020-08-01 22:17 *

Way before. I think.

14 2020-08-07 10:22


the other half is dead or spammed.

Hence why it's useful. Dead or spam-friendly boards are good places to communicate via asymmetrically encrypted cryptographically signed messages without email. Recipient periodically scrapes all new posts, piping them through his assymetric decrypter-verifier, saving whatever that matches.

15 2020-08-07 10:23


two or three boards on there that look like somebody's labor of love will surely benefit from your idiot project by having their little comfy communities exposed to people who like to say "nigger" a lot.

That's a fair point. Discriminatingly spreading awareness of good messageboards is good.

16 2020-08-07 10:23


"guys guys guys I MADE A LIST!"

Exactly. So what? Is there some reason I should care about >>1? There's a lot of data around. Even if most of it weren't pollution, most of it would be less valuable to me than some other data. Why should I care about these data?

17 2020-08-07 11:48 *


That's an exceptionally stupid idea.



do not edit these

New Thread

do not edit these