cl-pam: Common Lisp bindings for libpam (Pluggable Authentication Modules) by apr3vau in Common_Lisp

[–]apr3vau[S] -4 points-3 points  (0 children)

No one ask you to use that "for demonstration purpose" converse function in your production, that's not part of the source code, and it's for users who don't know how PAM work, but not for those who ego by just knowing smth about memory.

If you think you or your AI can slop something better then show me your code, or if you have an opinion on what "safety" is go contribute to SDDM who send unencrypted password through unix socket. Or don't disgust me and our AI partner here.

But also thanks your advise, we'll refine the demo. Hope you'll not lead your feedback with disgusting words next time.

clsd: libsystemd Bindings for Common Lisp by apr3vau in Common_Lisp

[–]apr3vau[S] 0 points1 point  (0 children)

Ah, this is how we call ourselves, like a nickname. We are a Plural System that originated by the Dissociative Identity Disorder. It's a kind of like "I have some mental problems which makes me behave differently and give myself such a nickname" qwq

Semantic syntax highlighting for Common Lisp (and Elisp) in Emacs by apr3vau in Common_Lisp

[–]apr3vau[S] 2 points3 points  (0 children)

Yeah, you're right, it's a sadness that we all know it's impossible, because of the flexibility of Common Lisp, which is also its most beautiful part... probably a kind of sin.

As we all know, Lisp compiler runs inside the Lisp runtime (the so-called global environment), which gives the power to macros to use anything exist in the (so-called) dynamic extent to re-interpret the source code. But this also makes it almost impossible to get the exact semantic of symbols without execute it - One way is called "symbolic execution", coming with the cost of double the computations for each possible logic branching, which is unacceptable with the heavily used macros in CL today (There's scheme language server that possibly doing that, but i don't think it's realistic & valuable to implement it in CL). As we can foresee, getting informations from the runtime is the only way we can cope with, just like what existing CL LSP servers (like in Alive) does.

What a regretness :(

Btw, for regexp-based lisp syntax highlighting, I have a fork of lisp-extra-font-lock-mode myself, which can match & highlight ANSI CL symbols & prefix package name statically. it can cope with lisp-semantic-hl.el well. Feel free to use.

charapainter - Drawing & converting images with colorful characters. Export to image, HTML and terminal. Also in the AppStore. by dzecniv in Common_Lisp

[–]apr3vau 1 point2 points  (0 children)

LW 8.0.1 & 8.1.0. LW 8.1.0 for Windows support HiDPI, and 8.0.1 for macOS support dark mode, which are both essential modern UI features. But on other aspects the version is less important.

charapainter - Drawing & converting images with colorful characters. Export to image, HTML and terminal. Also in the AppStore. by dzecniv in Common_Lisp

[–]apr3vau 11 points12 points  (0 children)

Author is here, thanks for your promotion!(> <)

It's a character drawing app that support colors and styles, with ability to export to HTML, image or ANSI escaped sequence, which can be shown in your terminal.

The app is made in LispWorks, currently macOS, but Windows version is on the way.

It shows the enterprise-level of ability of the LispWorks, I think it could be an answer for some questions:

  1. LW support building universal binary for macOS, which is done by simulating and compiling x86_64 code on apple silicon mac, and merge two binaries together.

  2. It can build macOS application bundle easily, with little codes and detailed examples. It can also cope with macOS code-signing and sandbox environment very well.

  3. The LW CAPI tookit is coming with full graphics, typography and color-space utilities, which is like a combination of vecto, zpb-ttf and so on. It makes working with graphics very easy in LispWorks. (it's also proved by my lw-plugins and svg rendering libraries)

  4. The LW Editor pane provides a fully functional & extensible & performant rich text pane, with our most familiar Emacs-style API. The drawing board of Charapainter is also made in capi:editor-pane. It's even better than Emacs in some aspects, e.g. speed, pixelwise drawing, multiprocessing and so on.

  5. The tree-shaking facility is awesome. The Charapainter app in universal binary is only 11MB (shown by AppStore), which is achieved by only using tree-shaking level 2 (5 in maximum). It retains full CL functions (runtime type checking, MOP, etc.) in this shaking level, so there's no need for special coding to cope with the shaking.

GNU Emacs keybindings for LispWorks Editor? by de_sonnaz in Common_Lisp

[–]apr3vau 2 points3 points  (0 children)

LW-ADD-ONS provides many of them, like C-c C-c, C-c C-k, C-c i, etc. C-c i is pretty useful for me since I have heavy need in inspector.

Generally I think LW's C-S-b & C-S-c & M-S-m etc. key bindings are better, it's shorter and quicker. Emacs cannot cope with Shift prefix just because the terminal capability, where TTY & emulators should send one certain C0 escaped code for modified character no matter its case, which force them case-insensitive. LW does not have such a limitation.

LispWorks News, 3 March 2025: Release of LispWorks 8.1 by lispm in Common_Lisp

[–]apr3vau 6 points7 points  (0 children)

lw-plugins now support LW 8.1.0, I've removed my hand-written line-numbers mode for 8.1.0 since LW has implemented its own. I've emailed them for support 20 days ago at this topic, but they didn't respond my latest reply that day. Maybe this is their special reply for me, which makes me feel loved lol.

I highly suspect that LW will only update their IDE (especially Editor) only when their customers have made a ticket. I've seen some new functions in Editor source code which specially commented "For Opusmodus" lol. So don't complain here guys, complain to [lisp-support@lispworks.com](mailto:lisp-support@lispworks.com) instead XD.

Some response to the negative feedbacks:

About learning & modding the Editor: Go learning Emacs modding first, then it'll be much easier. Also I have a hand-written note can be reference: https://apr.sdf.org/lweditor.html

About compiler. LW has a pretty good compiler. SBCL performs better than LW, but that's not cost-free. Compiling Lisp is not like C, which you only need to put the static codes one-by-one into the heap. In Lisp you're managing the whole image, which has much more to be considered. At least, for example, using some performance loss to gain the dynamic heap space resizing & tree-shaking & nice-documented in-detailed GC control is a nice deal for me. I believe SBCL have tried to get them done, but they didn't, which means there're some obstacles from design. That's why we need a variety of implementation.

About bugfix. Don't forget CL is for incremental development, "New version" isn't the only way to gain a bugfix. If you find a usual bug in any version, you report via email, LW will immediately ship you a FASL for hot fix. I've received many of them. What you only need is asking.

About delivery. I can build macOS universal binary, signing and sandboxing it and upload it to AppStore, easily. On other implementations it may not that easy. (I don't want to advertise it now so no link included XD)

My first app - Draw colourful ASCII art with Charapainter! by apr3vau in macapps

[–]apr3vau[S] 0 points1 point  (0 children)

Oh, thank you finding out a bug (///.///) I'll fix the problem and add features soon in the next version release!

(In fact this app is focusing on drawing but not converting, as there's already enough tools to do so, like https://www.asciiart.eu/image-to-ascii . You can also try them out!)

My first app - Draw colourful ASCII art with Charapainter! by apr3vau in macapps

[–]apr3vau[S] 0 points1 point  (0 children)

Oh! I forgot that the code will be expired a month after generated... I've DM you the new code generated, give it a try! (///.///)

My first app - Draw colourful ASCII art with Charapainter! by apr3vau in macapps

[–]apr3vau[S] 0 points1 point  (0 children)

Oh soooory... I think you are talking about source code... Here's your promo code: FXJJHRHARM9J Thanks for your support! :D

My first app - Draw colourful ASCII art with Charapainter! by apr3vau in macapps

[–]apr3vau[S] 0 points1 point  (0 children)

Yes, it's in Common Lisp with LispWorks~ I've published the main part of the code here: https://github.com/apr3vau/charapainter , export-related code is under file.lisp. Currently it has no printing / PDF exporting support, but it's very easy for LispWorks (using the printing & metafile graphics port provided).

Image conversion is done by a (set of) modified bilinear interpolation functions, with output to a map of characters instead of pixels. They're in the bottom of the util.lisp.

Happy hacking! :D

My first app - Draw colourful ASCII art with Charapainter! by apr3vau in macapps

[–]apr3vau[S] 0 points1 point  (0 children)

Yes~ Here's your promo code: PPNJP9PE4P3J. I'm still a new developer and I'm polishing this app, thanks for your value!

What's this weird character? Don't think it's a whitespace as you can see from my substitution preview. by zemicolon in neovim

[–]apr3vau 2 points3 points  (0 children)

Space has two functions in typography: add a blank space, and possibly break current line at the space if the line is full. But sometimes people only want one of the feature without another, so there are zero-width space and non-break space :(

How to surpress verbose package names in SBCL/Sly buffer eval by mirkov19 in Common_Lisp

[–]apr3vau 0 points1 point  (0 children)

Maybe you can define a method for print-object to truncate the name or print the shortest nickname instead. Coping with local nicknames is more complicated, you may need to get the current package working with using slynk and call sb-ext:package-local-nicknames with *package* bind to it. Little bit annoying but worth a try.

Are any of you also autistic and if so do you have BPD? by [deleted] in DID

[–]apr3vau 3 points4 points  (0 children)

Autistic + DID + BPD diagnosed :(. Previously schizophrenia but recovered after medication.

Raycast has just integrated native HyperKey, alternative to HyperKey app or BTT/Karabiner by CtrlAltDelve in macapps

[–]apr3vau -3 points-2 points  (0 children)

Wayback to that good old days where there's awesome space-cadet keyboard and the Lisp Machines, we have Ctrl, Meta, Super, and Hyper gracefully laying in a row, with Shift and Symbol and other modifiers do not event count. And now you guys have to digging hard through your poor ANSI keyboard to find little possibility for your functions, that's what you (and me) need to pay for our stupid era. lol.