Apropos of nothing, this is a project I started some time ago. Due to the community’s lack of interest and financial support, I kind of stopped working on it. Sharing it again just to test the waters - if there’s enough interest, I might feel motivated to work on it again. (Issues and PRs welcome!)

https://codeberg.org/IDEmacs/IDEmacs

IDEmacs aims to be a set of #Emacs configurations which provide an out-of-the-box experience similar (if not identical) to popular GUI IDEs and editors.

It is aimed at…

  • Programmers coming to Emacs from other IDEs, or even first-time programmers familiar with only office applications.

  • Beginner #CommonLisp and #Scheme programmers, who need the functionality of Emacs (Sly/Geiser + structural editing) without having to perform unnecessary setup and without dealing with an alien style of keybindings. In other words, similar to Portacle or Guile Studio.

  • Non-programmers who want a fully-featured #Org, #Markdown, or #LaTeX editor with idiomatic shortcuts and mouse-friendly GUI.

  • It aims to provide…

  • GUI and mouse support, in addition to a keyboard-driven interface.

    • Unlike most starter kits, we do not hide GUI elements by default.

    • We support configuration via the custom GUI, not just Elisp

    • If resources allow, we may implement new GUIs in Emacs

  • Keybindings that follow popular GUI and IDE conventions.

    • CUA mode is just the start - much more keybinding configuration is needed to provide an unsurprising experince. And that’s before we even get to the IDE-specific keybindings.

    • This excludes starter kits that use Evil by default, such as Spacemacs or Doom.

  • A fully-featured, fast, and configuration-free Emacs experience, like any starter kit/distro.

    • The configuration uses idiomatic Elisp and contains a generous amount of comments, valuable to anyone interested in learning to configure Emacs using Elisp.
  • Perfectly imitating the GUIs and subtle behaviour differences of IDEs is desirable, but not top priority. Given our limited resources, we aim for “good enough”.

    We hope this gives new users a comfortable starting point, and make them more likely to stick around to discover the possibilities of Emacs’ malleability, rather than being driven off by the default experience.

    #contraCodes #Lisp #EmacsLisp

    IDEmacs

    Making Emacs beginner-friendly, via configurations that emulate mainstream IDEs

    Codeberg.org

    It’s good to be programming again.

    I’ve been adding some small quality-of-life features to my Common Lisp osm-dm library.

    I’ve also started writing a new OpenStreetMap-related program (in Common Lisp, as usual). It’s mostly for my own benefit, but I hope it will also be generally useful. I’ve poured in around 6 hours over three days so far, and got myself a MVP/MWP early this morning.

    (Both projects are private repos. I’ll release them under the AGPL when they’re ready for prime time.)

    #contraCodes

    Oh, so after the FOSS Meetup I mentioned earlier, I was traveling in a car with some other participants, and we were going somewhere to eat.

    They were all developers, and they happened to start talking about #Rust and how it took upwards of 20 minutes to compile.

    As a fan of #CommonLisp

    • a language standardized in the 90s but with a background dating back to the 60s;
    • a language which supports compilation of individual functions, and modification of running programs, thereby doing away with the incredibly outdated and flow-killing edit-compile-run workflow (among other unique superpowers mysteriously missing from “modern” and popular languages);

    …I had to really struggle to refrain from speaking my mind on the subject of awful DX 🤭

    PS: obligatory recommendation to watch @jack ‘s hilarious, energetic, and eye-opening talk, Stop Writing Dead Programs

    #contraCodes

    "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

    YouTube

    So…I wrote a script to send messages to #OpenStreetMap users en masse.

    I’ve been using and refining it for many months, and I’ve used it to send mapping party invitations to thousands of users.

    It has progress reporting, it automatically waits and resumes when it hits the API rate limit, and it can automatically delete the messages it sends, to keep your outbox clean…

    I’m also planning to extend it, so it can…

    • …mass delete messages matching a date-range and/or a title from your outbox (in case you don’t use the delete-after-send feature)
    • …send messages to people in or around specific areas
    • …send messages to all users who have clicked “Attend” on an OSM Calendar event
    • …send messages to new OSM users
    • …send messages to OSM users who have made their 10th edit.

    Should I release it as freedom-respecting software? (a.k.a. libre or “open source” software) [1]

    On one hand, it could be used for spamming users.

    On the other hand…

    • It’s very handy for mapping party invitations. It’s allowed us to reach out to so many people whom we couldn’t have otherwise, and it has become the backbone of our communications. (OSM DMs are also sent to users’ emails, so if you know someone’s OSM username, you can send them emails without knowing their email address.)

    • Even if I don’t release it, it’s not like someone else couldn’t write their own such script against the OSM messaging API…

    • If you want to use it to spam OSM users, you currently need to put together a list of OSM users. This is currently done using external programs like Overview of OpenStreetMap Contributors. A spammer would first need to know about OOOC, then perform some basic text processing to convert the output into a Lisp list of names…which is definitely a deterrent, however weak.

    • It needs authorization from an OSM account you control. If you use it for spam, users can easily mute or report you, and I imagine the operations team @osm_tech can easily ban you.

    • It’s written in a rather unpopular language (Common Lisp), which - I’m guessing - could also deter spammers. Currently, it can only be used from a Lisp REPL, not a UNIX shell. (I could always implement a command line interface too…but for interactive use, Emacs + SLIME blows any shell out of the water.)

    I guess there’s also a third option - make it a private repo and give read access to the code to established members of the #OSM community on request.

    [1] Probably under the AGPL…let me know if you recommend a different license.

    #contraCodes

    Don't release it
    11.5%
    Release it as freedom-respecting software
    44.2%
    Private repo with access for specific trusted users
    44.2%
    Poll ended at .
    Overview @ ResultMaps.neis-one.org

    Overview @ ResultMaps.neis-one.org OpenStreetMap (OSM) - Pascal Neis (neis-one.org)