#CommonLisp

2025-06-25

Okay, one more #TypeScript hater post: override functions are useless. Their selling point is that you can provide multiple (supposedly compatible) signatures for a function and then process whatever comes in being certain of its type. Except... it only allows one implementation body. So you may have five override signatures, but only one implementation function. And this implementation is doomed to re-invent type/value dispatching, even though TS was supposed to help. To illustrate, here's a simple "take string or int, convert it to int, and print it out" function in #CommonLisp, #JavaScript, and #typescript

(defmethod foo ((x string))
(foo (parse-integer x)))

(defmethod foo ((x integer))
(format t "~&X is ~d~%" x))

-----------------------------------

function foo (x) {
if (typeof x === "string"){
foo(parseInt(x));
} else {
console.log("X is " + x)
}
}

------------------------------------

function foo(x: number): void;
function foo(x: string): void;
function foo(x: string | number): void {
if (typeof x === "string") {
console.log("X is " + parseInt(x));
} else {
console.log("X is " + x);
}
}

- CL generic function is short and strictly typed.
- JS function is short-ish and does its own type dispatching.
- TS function is LONG and DOES ITS OWN TYPE DISPATCHING. Useless, in other words.

2025-06-25

@jackdaniel @NGIZero h'mmm ... Yesterday, not for the first time, I was looking at reimplementing #InterLisp's GRAPHER library in #Clojure. It's doable, but surprisingly difficult. If there was a good Java SVG engine which allowed callbacks through JavaScript or whatever, it would be easier, and *possibly* Batik may do that.

But #CommonLisp in the browser, interacting with SVG in the browser... Now that sounds fun.

#Lisp

Daniel Kochmańskijackdaniel@functional.cafe
2025-06-25

I'm happy to share that my grant proposal to @NGIZero to improve #ecl support in the browser has been accepted!

nlnet.nl/project/ECL/

#lisp #commonlisp

2025-06-25

I released the first alpha of my social media meta-client yesterday. So far only for #SailfishOS but Android's coming too after I've figured out all the Play Store stuff.

multipos.social/releases/2025-

openrepos.net/content/aerique/

#CommonLisp #ECL #Lisp #Qt #LQML

2025-06-24

Version 0.1.1 of my XQATool is now released. This is my tool for creating/tagging/modifying Extended QOA Format audio files (XQAF).

Change log, source code, and Linux x86-64 AppImage are all here:
https://nanako.mooo.com/fossil/xqatool/technote?name=0cc02a558fd11efc4dde9cf8618a8efdeb7d5674 #qoa #xqaf #LinuxAudio #CommonLisp

Christoff, the humandeadbeef@oldbytes.space
2025-06-23

#Introduction

Hello, my name is Christoff.

I live in Illinois, USA, outside the St. Louis area. Below I'll talk about my technology and creative interests, and a bit about me personally. I'm going to hashtag the heck out of this post.

the whole "deadbeef" thing is the magic number from #Solaris for freed memory. I simply chose .monster TLD because it seemed cool and I like "extended" TLDs.

#Technology

I have been using a OpenBSD, #NetBSD, or #GNU/#Linux since the late 1990s as a primary workstation. I used macOS from 2020 to 2025, switching to the #KDE neon distro (KDE plasma is amazing and KDE isn't bloated anymore, yay!).

My current career is as a #pentester where I break into web applications, IP networks, mobile applications (especially #Android), and people to their face or over the phone; code #malware; write documentation; and enjoy helping clients in a third party contractor/consultant role. I started that job change in 2020, when I earned the #OSCP certification at the height of "#infosec twitter" when I did well there.

Previously I worked for about 20 years as a senior-level programmer, and systems, infrastructure, and database administrator. Burnout was very real and I was extremely bored/unfulfilled.

Now that programming and sysadmin stuff isn't my career, I find I enjoy programming and tinkering again.

I am a big fan of NetBSD and always have been. I am not a huge fan of GNU/Linux but I do appreciate things "just working", even if it is full of closed-source binary blobs and other garbage. It was fun in the 1990s.

I know many programming languages but have been paid professionally to code in #C, #Perl, #Python, #PHP, #Java, and #Groovy for big commercial entities like eBay, small companies, and the US government.

I've maintained 99.99% uptime for a 60MM+ platform for years, including failover and backups (that were regularly tested... you test your failover and backups, right?!).

I always wanted to be a cool C and low-level programmer, which I thought for the longest time was being a kernel programmer, but now I know that isn't the life for me.

Emacs is something I've enjoyed since the beginning and I still can't code a #Lisp well. I'd love to be a cool #lisper with #CommonLisp, but haven't gotten there yet. I'm on the #c64 and #embedded #retrocomputing train now.

#Creative

For creative stuff, I aim to do a lot but tend to hop around as interests take me. I could use some discipline there (someday?).

For #music, I have an electric #bass (Fender Jazz) and electric #guitar. I love #jambands (#GratefulDead, #Phish, #Goose) and that's the type of music I like to play along to.

For #art, I like #acrylic and #watercolor painting. I rarely do it, but think about it a lot and love it when I do it. I don't have any skill or talent, but that's not the point. It's for me and no one else.

For #computing, I am venturing into #C64 #demoscene programming and exploration. Not only was I too poor to get one when I was little but I sorta forgot about it over time. The desire to do cool things in a restricted environment where folks are playing in the sandbox, too, is very exciting and attractive to me. I don't know how to code the #Commodore64 stuff yet, but will! Learning the assembly language (I have zero desire to code in BASIC again and I can just code assembly).

#Personal

I live with my soulmate and our five amazing cats in a small town outside St. Louis living a quiet life. Just doing our jobs, taking care of daily life stuff, and enjoying each other and life as much as we can. Ups and downs of life chaos, like anyone else, but we're doing alright!

We enjoy exploring places within driving distance and there are a lot of places to go to.

Currently, we're really into playing two-player games together and just started collecting #boardgames. Right now, we're really digging #SkyTeam, #RoyalGameOfUr, #ForrestShuffle, #SentinelsOfTheMultiverse, and this magnet game I don't know the name of. We have #SpiritIsland and #ArcNova to unwrap and learn. We tried really really hard to get into #ArkhamHorrorTheCardGame but the rules are too complicated and confusing, where it felt like we were doing the wrong thing all the time.

I am 46. I grew up loving Star Wars, Star Trek, #SciFi, reading novels non-stop, horror, and watching movies. I collect classic SciFi books from 1960s and 1970s.

I would perhaps describe myself as an extremely curious person, that loves #puzzles and #mysteries, #exploration, figuring out #HumanBehavior like I'm an alien studying humans (I'm good at it, it turns out), that has a keen eye for detail, remembering random little things, and a good listener. I'm fairly adaptable and fluid in most things, which works well for me. My brain works differently than a lot of people, and while frustrating a lot of the time for things I don't understand fully, it is me and serves me well in niches.

Making people laugh makes me happy. I am a #hacker and #tinkerer.

Dimly Lit CornersDimlyLitCorners@c.im
2025-06-22

#Goals2025

Moving away from the constant upgrade cycle & moving closer to the ideals of #PermaComputing #MalleableSoftware

Design and setup a redundant system of old/used, cheap, low-power devices running ia: #Guix, #Linux, #FreeBSD, #macOS, #HaikuOS, #Plan9Front, #X11, #P9, #NFS, all working together

Become an expert on #MicroControllers #ESP32 #STM32 #RP2040 #MIPS #RiscV

DIY sensors which sing like birds to communicate their status

DIY robots "drones"

Move as much as possible of my computing needs to the #Terminal, #Emacs, #Rio #CLI #TUI #P9

Get an #3DPrinter and learn to use it

Design and build my own portable 8dot #braille terminal & try out if 3x3 or 3x4 dots is also workable.

Design and build my own low-power computers, their OS, and tools

Writing more of my own tools #DIY

#SmallTalk #ObjectPascal #Prolog #Scheme #Racket #CommonLisp #Haskell #Rust #Go #ObjectiveC #Swift

Deploy #LoRa #ReticullumNetwork #RNodes #MeshCore #Meshtastic

Start an #InternetResiliencyClub

Add #Tor, #I2P support by #WebProxy

#SolarPowered #SelfHost over #I2P, #OnionService #Blog #Wiki #Repositories #GopherHole #Darcs #Mercurial

#SelfHost my own #EmailServer, which will only accept email from #KnownServers #CommunityEmail #MutualEmailAcceptance

Share files via #BitTorrent over #I2P

DIY #HomeAutomation
DIY #GardeningAutomation
DIY #GreenHouse

Get a house cat, train the cat, use voice and gestures

Start asking money for advice & technology support

Build/program my own opportunistic and strange cryptocurrency miners #BTC, #XMR, #ZEC, etc #Art

#MakeMoreArt #LearnToDraw #Learn3DModeling #LearnGenerativeArt #LearnToComposeAmbientMusic

#ReCreateJottit #ReCreateInstikiWiki

#WriteMore #PublishMore #Letters, #Essays, #Missives, #Reports, #Treatise

#Incomplete #Ongoing #NotFinal

2025-06-22

Normally the Halton sequence is a nice way to get pseudo-random X, Y coordinates to fill a plane with items that 1) looks random but 2) doesn't have the clumping truly random numbers give. I have been amusing myself by using Halton sequences to drive polar coordinates instead. You often spirals out of that, depending on the prime number base you choose for each sequence.

#CommonLisp #AlgorithmicArt

10 spokes spiraling in counterclockwise, made of of many lighter points on a dark background.
The Medley Interlisp Projectinterlisp@fosstodon.org
2025-06-20

The newsletter Hotline was a support resource Xerox published in the late 1980s for users of Xerox Lisp (Interlisp and Common Lisp). It featured tutorials, usage tips, fixes, and more that are still valuable to Medley users.

bitsavers.org/pdf/xerox/interl

#interlisp #CommonLisp #lisp

2025-06-19

Im live streaming some Common Lisp today. 🆑

twitch.tv/charjey

2025-06-19

#kitten #smallweb #webdev #lisp #commonlisp #ecl
screwlisp.small-web.org/kitten

Kinda rushed, but I show the kitten server operator and kitten visitors interacting in real time (the kitten visitor by hitting a kitten page, the kitten server operator by reading and setting kittendb values in the kitten shell).

What do you think @mdhughes @aral

Obviously the kitten host will be robotic, but I thought this is a useful half-interaction to see.

2025-06-18

Oh my god! It is alive!!!

Remember, I wrote about a new MCP framework for Common Lisp I'm working on?

It works and I was able to search and install a quicklisp library by giving an agent only one tool – EVAL!

#commonlisp #ai #mcp #tool

2025-06-18

#lispyGopherClimate #interview #transcript #webDev #technology #computerHistory #lisp #commonlisp #harlequin #CLIM

screwlisp.small-web.org/show/k

Summary and transcript of the first eight minutes of the hour-long downloadable episode, including Kent's summary of his personal web work in lisp (mostly at Harlequin) through the 80s and 90s.

@vindarel @khinsen (being the missing guests)
@kentpitman @dougmerritt @mdhughes

I'm hand-transcribing and summarizing, so this is something like part 1/6.

2025-06-18

Hah. In the tradition of hackerly error messages, apparently: “Nihil ex nihil. (can't set SYMBOL-VALUE of NIL)” and “Veritas aeterna. (can't set SYMBOL-VALUE of T)” #CommonLisp #SteelBankCommonLisp

2025-06-18

The Svensson attractor often does these circular or torus-appearing shapes. #fractal #CommonLisp #AlgorithmicArt

A fractal consisting of an inner and outer circle, between which rather swirly/gauze curved lines flow.
2025-06-17

When someone says: "There's this great dynamically-typed programming language with a useful and expressive type system, powerful macros and multiple-dispatch that solves the 'two language problem' (meaning that you can quickly and comfortably write a prototype in the language but then also write the fast production version in the same language), that has roots in academia but with uptake in industry, a great interactive coding experience in the REPL (including the ability to show you the assembly code for any function!) and [an] excellent compiler[s]" you don't know if they're talking about #CommonLisp or #JuliaLang until they choose either the plural or singular for the word "compiler"! 😛

2025-06-17

@mdhughes The way testing conventionally works is that #commonLisp system definition facility #ASDF has another pre-made operate-on-system, test-op (to go with load-op and build-op), and you use that with fiveam or something. github.com/fare/asdf/blob/mast

Vassil Nikolovvnikolov@ieji.de
2025-06-17

> inspecting (nested) hash tables in Common Lisp/SBCL? Is there a good lib for pretty-printing such things?

My needs in this respect have been modest, so I just convert them to a-lists (easy with `loop' `collect'), and pretty-print those.

#CommonLisp

@i_dabble

2025-06-17

What do you do for inspecting (nested) hash tables in Common Lisp/SBCL? Is there a good lib for pretty-printing such things?
#CommonLisp #sbcl

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst