libera/#shirakumo - IRC Chatlog
Search
15:42:59
Colleen
<shinmera> and how well it scales depends mostly on your hardware and db and whatever.
15:44:31
Colleen
<shinmera> I've been running various apps in production for years and haven't had issues, but I don't know (or care) what kindsa loads I get.
16:19:12
Colleen
<shinmera> Well, one thing is that it should not impose a whole lot. You can avoid or disable features if you need to. The other is that (through the interface mechanism) things that many apps need (like sessions, authentication, users, profiles, etc.) should be shared to reduce the burden on users.
16:32:56
Colleen
<shinmera> I'm not sure what I would write about in a review. I don't feel like I have enough experience with other frameworks to compare in a useful way.
16:34:27
hamza
Well, I don't care about comparisons, I just just a small pitch on why I should continue (even though I will). I just need some motivation that is all
16:34:54
Colleen
<shinmera> I wrote a lot of apps with Radiance and I generally enjoy the process. As much as one can enjoy webdev, anyway.
16:36:18
Colleen
<shinmera> All of the apps I wrote are public on the Shirakumo org, so if you want to have a look at stuff, there you go.
16:36:40
hamza
Also, your website is very fast. And you provide many features in one bundle which is in Common Lisp.
16:37:07
Colleen
<shinmera> I'm not sure which one counts as the biggest, if you're worried about scale, but Courier is the latest and one of the bigger ones, I suppose.
16:38:28
Colleen
<shinmera> The radiance docs/website and my personal site are just static HTML files.
16:40:00
Colleen
<shinmera> So like https://irclog.tymoon.eu https://blog.tymoon.eu https://courier.tymoon.eu/subscription/1 https://studio.tymoon.eu
16:41:58
Colleen
<shinmera> It's all served from the same process, so idunno what's causing the slowdown.
16:42:28
hamza
No matter, I'm already sold. However I still don't understand the multiple apps from one process thing
16:43:20
Colleen
<shinmera> so if you register an account for one of them you can re-use it for all the others.
16:43:43
Colleen
<shinmera> they also all access the same database, use the same server backend, etc.
16:47:59
Colleen
<shinmera> It runs a bunch of other stuff besides radiance. My chat network which the channel you're posting on is bridged to, bots, gitlab/gitea, etc.
16:52:19
Colleen
<shinmera> They have another service that's even cheaper for backups, arctic? or something? but I was too lazy to figure out if that would be better for what I'm doing.
16:55:04
Colleen
<shinmera> Radiance only does backend stuff. You can use whatever you want for the frontend.
16:55:35
Colleen
<shinmera> I typically write my apps in such a way that no JS is needed, so I'm not too interested in heavy frontend solutions.
17:01:08
Colleen
<shinmera> When you request a page, the server builds the HTML page and sends it back.
17:02:11
Colleen
<shinmera> When you click a button or whatever, that's a different URL, so the browser sends a new request to the server, and you get a new page. That's all.
17:04:44
Colleen
<shinmera> Eg look at the buttons at the top right above the images here https://studio.tymoon.eu/view/6
17:05:39
Colleen
<shinmera> Anyhow. That's just how I like to do it. as I said, if you find JS easier or find you need it, you can certainly include it.
17:06:46
Colleen
<shinmera> JS to me is something that runs on the client's browser. You can't use Common Lisp there.
17:08:46
Colleen
<shinmera> JSCL is very incomplete, and would also be a huge JS blob to attach to every page.
17:09:42
Colleen
<shinmera> I don't particularly enjoy transpilers that have to break the abstractions they purport to sell every now and again because of incompatible semantics.
17:10:10
Colleen
<shinmera> And then I don't mind writing the little JS I do write by hand, so I never saw a need to dig for Parenscript and learn how to use it.
17:10:51
hamza
So basically, for front end, you use HTML, CSS and JS. For backend, you use Radiance.
17:11:33
hamza
After seeing this way, I now realize how overcomplicated they have made Web development.
17:14:30
Colleen
<shinmera> Granted, when you have something that's highly interactive like a chat client or whatever, a JS framework can help a lot, since you have to write everything in JS anyway. But for most things just serving some html that you generated on the server well suffices. Maybe with some JS sprinkled on top to handle things like inputs nicely.
17:16:23
hamza
Well, my question now: How could you write a chat client like you supposed, with just Common Lisp and little Javascript?
17:17:43
Colleen
<shinmera> If the chat doesn't have to be super serious, I'd just make a REST endpoint that gives new messages since a timestamp that the client JS polls for every now and again.
17:23:48
hamza
More from old videos about from gameengine videos from a guy who is now working somewhere else. He mentioned you trial engine a couple of times.
17:24:28
Colleen
<shinmera> Ah. Man, haven't talked to him in like a year. Should see what he's up to.
17:25:15
hamza
Shinmera, I apologize if this is intruding, and if you don't mind, do you work somewhere or only on your own projects?
17:27:54
Colleen
<shinmera> I used to play the violin and saxophone as a kid. But I never posted anything online.
17:30:27
hamza
Oh, was asking because someone thought they saw your animations somewhere in a music video.
17:34:10
Colleen
<shinmera> Huh. Well, again, dunno of anyone using my art in videos, but anyone can if they want to.
17:37:49
hamza
Just one last thing, when are you free to talk here? And can I ask questions inside of Radiance here too?
17:39:05
hamza
Thanks a bunch for taking out your time to talk with me. I really do apreciate it greatly. (I am CodeBitCookie for people who have seen me elsewhere)
17:44:23
Colleen
<selwyn> radiance was discussed recently on #lispcafe iirc, so it attracts some outside interest
17:44:37
Colleen
<shinmera> Granted I probably don't like my own name both because there's very little about myself in general that I like, and because I don't like to be reminded of myself, either.
18:20:07
Colleen
<shinmera> Weechat is cool as long as you don't try to make a big plugin for it lmao
18:45:26
phantomics_
There's something odd about Dissect. I pushed a bunch of its environment traces into a list called *stacks*, then tried to read one with (dissect::environment-stack (nth 0 *stacks*))
18:45:50
phantomics_
I got an error: Evaluation aborted on #<TYPE-ERROR expected-type: SB-INT:INDEX, datum: #<unknown immediate object, lowtag=#b1001, widetag=#x59 {50201E0300005059}>>.
18:46:19
phantomics_
However, when I right-clicked the environment object and used "inspect" in Emacs, it displayed just fine
18:46:42
Colleen
<shinmera> if you can, best to purify the traces of all references to stuff that you don't know/need.
18:47:11
Colleen
<shinmera> trying to look at objects that had dynamic extent can crash your image (or do worse stuff)
18:47:36
phantomics_
Is that also what causes #<DISSECT::SBCL-CALL <<error printing object>> {10260A5D63}> to show up in the trace?
18:48:25
phantomics_
The issue is that I'm seeing a large number of calls to a certain function that shouldn't be necessary, and I'm working to trace those calls to their source to find what's responsible
18:50:51
phantomics_
That's what I've been using, but even :report :graph doesn't give the full picture
19:48:22
Kingsy
does anyone know how to goabout loading r-data-model via quickload in the emacs repl so I can get autocomplete and function sigs in there? (ql:quickload :r-data-model) gives me #<RADIANCE-CORE:ENVIRONMENT-NOT-SET
19:57:15
Kingsy
sorry I should I have started with, what does it mean by environment? and how do you load one?
19:59:41
Kingsy
shinmera, ah yeah that worked. I supposeI was just wondering why it hit the debugger.
20:12:30
Kingsy
ugh, I still cant get proper goto definition / help docs working in doom emacs. so annoying.
20:16:59
Kingsy
shinmera, I think I missed your link the other day, can you give me the url for documentation on radiance modules? like r-clip and r-data-model
20:55:14
Kingsy
yeah I meant like a discription of what each function does. for example dm:hull, I really dont know what that does. and I am quite new to lisp to reading the source isnt telling me much in terms of understanding things.