• 40 Posts
  • 1.95K Comments
Joined 3 years ago
cake
Cake day: August 4th, 2023

help-circle





  • This sounds like a fun project, and perhaps quite innovative! I’m excited by it and I hope it goes well!

    Thanks! I’m kindof on a weird personal quest to make as many DSLs for accomplishing traditionally GUI-based, point-and-click-adventure sort of use cases as possible. Here is my previous (slightly-less-ambitious) installment in that quest.

    If I were in your shoes, I’d probably choose the AGPL. It sounds to me like your library is quite innovative, and might contain some useful features that don’t exist in other similar projects?

    Yeah, I’m leaning pretty strongly toward AGPL at this point. I was already leaning that way before making my post, and both aurtzy’s post (and more-so the article they linked to) and your post have clinched it. That “codecomic” thing I linked to earlier, I originally published under GPL, but just now switched it to AGPL. While I hold the copyright on the whole thing is probably the best time to do that. Heh. (Well, second-best, right after “before I published it” would have been, but at least if I change it now, I can ensure that only the very first version doesn’t have the whole Affero-specific provision.)

    There is no definitive answer, since the license depends on the copyright system itself for the definition of a derived work.

    That’s all fascinating. In my case, I’m writing it in Go which I believe, by default, statically links against libraries and includes other Go code on a source basis rather than via linking. But Go does have a way to do runtime-loadable code. (“Plugins” if you will.) That plugin system is only kindof half-supported, though. (It’s not supported at all on Windows in recent days.)

    Anyway, a ramble of my own, but I guess it informs a bit under exactly which theories others’ code could end up being derivative and under which theories others’ code wouldn’t be derivative.

    The more leverage you have (features, quality, more mindshare etc.), the more you can use that to push for copyleft.

    Yeah, I’m pretty sure there’s nothing out there much like what I’m working on. So I guess the whole “if it does something unlike what anything else out there does”, definitely applies. Once it’s published and the idea that there could exist a DSL for making things like game assets is out there, someone else could implement a different design/implementation of the same basic vision from scratch (even learning a bit from the trail I’m blazing) just to avoid having any copyleft-ish sort of obligations, but of course that’s an investment that companies have declined to undertake many times, opting instead to just blatantly violate the GPL. (Look at the Vizio suit, for instance.) So that’s probably a pretty solid argument for just going AGPL rather than going for anything like LGPL or anything.

    Quality: I guess remains to be seen. Lol. Mindshare: well, that rounds to zero at the moment, but a couple of folks have expressed interest.

    I do expect I’ll be publishing something soon – probably in the next couple of months. Definitely an “alpha” sort of thing with much room for improvement, but I’ll probably publish it once it reaches a point of being minimally-able-to-provide-some-utility while being something I’m ok with having my name/reputation connected to.

    Anyway! Great stuff. Thanks for your answer. It definitely helped!






  • Just some examples of things I’ve printed or plan to. Ones marked with an asterisk (*) at the end are ones I largely or entirely designed myself or plan to largely or entirely design myself. Ones marked with a plus (+) are ones that are half completed. Minuses (-) are ones I haven’t started yet but intend to.

    • Wall mounts for Nintendo Switch components (dock, controllers, Joycon charger, etc.) Definite space saver. *
    • Wall mount for a Raspberry-Pi-based NAS solution. *
    • Parts to augment a computer chassis wall mount for my ridiculously-large chassis. (Yes, there’s a bit of a pattern there.) *
    • A custom Raspberry Pi case that mounts nicely and nondestructively to my desk.
    • A custom adapter for my drill that let me run the drain in my washing machine when the motor was broken. *
    • A custom plate to cover my nightstand clock face so it doesn’t shine in my eyes all night. *
    • A custom die for a Sizzix Die Cutting Machine for quilting use. (That one took a lot of work.) *
    • A custom tool for precisely bending 16mm steel strapping (which I’d sharpened into a blade) in service to the custom die just above. *
    • Custom yarn bowls for my crafty mother. *
    • Custom stitch markers for my crafty mother. *
    • Custom barrel buttons for my crafty mother. *
    • A couple of custom mounts for SAD lamps. *
    • Custom shelving for a bathroom. *
    • Custom mods for some wire shelving in the same bathroom. *
    • Custom mount for a reflector mirror to let me see more with the security camera on my front porch. *
    • A tool for straightening 3D-printing filament. *
    • Spacers for mounting a peg board on the wall.
    • I also had a folding door that broke and got kinda janky. I had a few extra of those peg board spacers, and they turned out coincidentally to be exactly the right size to properly shore up that door.
    • Custom shelving for DVDs/Blurays and video games. *+
    • A custom shelf-drawer for my mousepad. *-
    • A custom 3D printed mechanical keyboard… once I’m done writing the program for rapidly prototyping 3D-printed keyboards. *+

    I’m sure I’m forgetting a bunch. And the above is only the useful things and excluding the mostly art/fun items.

    I have in mind to do more 3D-printing of tools. I don’t have much specifically in mind. But that custom steel strapping bender is pretty cool. Also, some of what I mentioned above is available on my Thingiverse.








  • Hey thank you! I’m glad to hear some interest in it. I’ve definitely got ideas as far as how I’d like to see it improve moving forward (some syntactic sugar, more sophisticated ways of drawing “people”/creatures/skeletons/etc, maybe vector graphics output support – no project is ever really done, you know.) I’m on another project at the moment, but if it got enough interest, I’d probably be inclined to put more work into it.

    I don’t have a TTRPG campaign running right now (which is what I wrote it for), so I’m not “eating my own dog food” very much with that particular project. But I would love to do more with it. Only reason I’m not already is because I’ve got so many other projects I want to work on. Heh.

    The main project I’m working on lately has been that 3D game assets DSL that I mentioned later in my post. It’s probably quite a bit more ambitious than codecomic (it’s actually Turing complete which definitely adds to the challenge), but I do see a point approaching where it’s feature-complete enough to at least publish an alpha version. It also definitely needs a lot more code comments/documentation before I publish. Probably still months away, but it feels a lot closer than it did last week. Heh.

    Anyway, thanks again for the complement!




  • Honestly, I’m starting to think in terms of what really would it look like to not use a (Firefox- or Webkit-based) browser any more.

    Aside from random one-off things I wouldn’t know I wanted to use until I wanted to use it, a few things I’d want to be able to use on my desktop Gentoo machine:

    • Discord (without installing the proprietary dedicated app, though I don’t currently give a fuck about video or audio – just chat)
    • Lemmy (I might literally write my own client if necessary, but I’m curious about Neon Modem)
    • YouTube (Minitube’s not terrible)
    • Wikipedia (Dillo would probably work ok for Wikipedia, though I’d definitely lose features like link hovering previous and such)
    • Twitch (No idea how to do that yet)
    • Gmail (Mutt, maybe? Though, honestly, I should quit Gmail and get another provider anyway.)
    • Various relatively-mainstream news sites and blogs (Dillo? RSS readers?)

    There are probably plenty of things I’m not thinking of. We’ll see if I ever do that or not.


  • Here’s my GitLab. None of it’s “active” really. I’m the only contributor to most things I have on GitLab. At least some of the things there, if they started getting attention and interest, I might very likely make them active. But for now, they’re just out there and may or may not receive further updates. Though I’m working on other projects I specifically intend to publish as FOSS in the future.

    • Simple-CSS-Shrinker was made for a web-based game I wrote back in the day. I ought to dust that game off and publish it.
    • JeSter, the JS tester. A really simple JS unit testing framework that runs in a browser and doesn’t require Node or V8 or anything. Made in service to the same game I mentioned in the previous item.
    • pystocking was basically in service of hydrogen_proxy
    • hydrogen_proxy is a “scriptable HTTP proxy” written in Python. Definitely intended for privacy kind of applications. But it’s kinda slow. I have in the back of my mind to rewrite it in Go, but it’s not high on my priority list. (I’m honestly mulling the idea of quitting the use of browsers all together if I can wrangle a way to do that that doesn’t involve switching to a bunch of proprietary software. The main browsers are bullshit these days.)
    • GoVTT was written because I wanted to play a TTRPG with friends remotely. It’s a web-based virtual tabletop application that you can self-host. I may some day offer hosting for it. (Like, if you want to use it but don’t want to be bothered to go through the hassle of hosting it yourself, maybe I’ll offer to host it for a small fee.) No guarantees, though, except that it’ll always be FOSS and it’ll always be an option to self-host.
    • codecomic is a domain-specific language for making simple webcomics or story boards. I made it because I wanted to be able to include webcomics/story boards in my game mastering notes, which are managed with a system that I should also publish as FOSS.

    My main side-projects right now that I haven’t published yet are:

    • A domain-specific language for building 3d game assets. Roughly speaking, FreeCAD is to OpenSCAD as Blender is to what I’m currently working on building. (It’s in the early stages right now. I intend for it to be able to do modeling, rigging, animations, textures, normals, etc. All in the DSL’s syntax. I’m making progress, but of course that project is ridiculously ambitious. We’ll see where it is in a year.)
    • A framework for rapidly prototyping 3d-printable mechanical keyboards. (Also pretty ridiculously ambitious.) The image below is a sneak peak at the first keyboard I’m intending to build with it. Some day.

    3D render from OpenSCAD of a 3D-printable keyboard with funky-shaped keycaps.