opensource Opensource best alternative to windows file explorer?
Jump
  • Andy Andy 4 days ago 100%

    In no particular order.

    2
  • linux Linux best linux terminal emulator
    Jump
  • Andy Andy 6 days ago 88%

    Ah yes you can tell by the post title:

    best linux terminal emulator

    7
  • linux Linux best linux terminal emulator
    Jump
  • Andy Andy 6 days ago 100%

    Oh, is that #4948?

    2
  • linux Linux best linux terminal emulator
    Jump
  • Andy Andy 1 week ago 94%

    For me: Wezterm. It does pretty much everything. I don't think Alacritty/Kitty etc. offer anything over it for my usage, and the developer is a pleasure to engage with.

    Second place is Konsole -- it does a lot, is easy to configure, and obviously integrates nicely with KDE apps.

    Honorable mention is Extraterm, which has been working on cool features for a long time, and is now Qt based.

    17
  • privacy Privacy Is Telegram really an encrypted messaging app?
    Jump
  • Andy Andy 3 weeks ago 100%

    Just note that the comment was inaccurate, in that their weird encryption is indeed open source at least.

    3
  • linux Linux Anyone knows if it's possible to color command line commands as you type them (kind of like an editor)?
    Jump
  • Andy Andy 2 months ago 100%

    I suggest trying this one for Zsh, over the more common one: https://github.com/zdharma-continuum/fast-syntax-highlighting

    6
  • linux Linux Is there a better way to browse man pages?
    Jump
  • Andy Andy 2 months ago 100%

    As someone else said, setting less' jump value is helpful.

    Another tool I use, mostly for the zshall manpage, is https://github.com/kristopolous/mansnip

    1
  • python Python Python's UV tool is even better
    Jump
  • Andy Andy 3 months ago 100%

    I have a pip-tools wrapper thing that now optionally uses uv instead. Aside from doing the pip-tools things faster, the main advantage I've found, and what really motivated me to support and recommend uv with it, is that uv creates new venvs MUCH faster than python's venv module, which is really annoyingly slow for that operation.

    1
  • python Python Recommended way to run my scripts from a venv?
    Jump
  • Andy Andy 3 months ago 100%

    I use my own Zsh project (zpy) to manage venvs stored like ~/.local/share/venvs/HASH-OF-PROJECT-PATH/venv, so use zpy's vpy function to launch a script with its associated Python executable ad-hoc, or add a full path shebang to the script with zpy's vpyshebang function.

    vpy and vpyshebang in the docs

    If anyone else is a Zsh fan and has any questions, I'm more than happy to answer or demo.

    2
  • zsh zsh ZLE tutorial #2 - File Descriptors, Networking, and More | Video
    Jump
  • Andy Andy 3 months ago 100%

    From the author, on reddit:

    Made a little mistake in there: you can create FDs with higher numbers using eg. exec {fd}<>pipe and they'll generate numbers above 10, plus the variables'll be better for scripting.

    1
  • linux Linux GitHub - xavierog/moulti: Moulti is a CLI-driven Terminal User Interface (TUI) displaying arbitrary outputs inside visual, collapsible blocks called steps.
    Jump
  • Andy Andy 3 months ago 100%

    CLI flow: run command, print output below

    TUI flow: navigate and interact with a layout that updates in place

    6
  • linux Linux How happy are you with your current distro?
    Jump
  • Andy Andy 3 months ago 100%

    If you haven't checked them out you might be interested in aconfmgr or pacdef.

    1
  • linux Linux VLC Player
    Jump
  • Andy Andy 4 months ago 100%

    mpv+uosc is my jam these days.

    5
  • linux Linux [SOLVED] How do I add autocompletion for my `stfu` command?
    Jump
  • Andy Andy 4 months ago 100%

    No, that's not used by Zsh.

    1
  • linux Linux [SOLVED] How do I add autocompletion for my `stfu` command?
    Jump
  • Andy Andy 4 months ago 100%

    Glad you have it working. This may also work:

    _stfu () {
      shift words
      (( CURRENT-=1 ))
      _normal -P
    }
    compdef _stfu stfu
    
    8
  • linux Linux Manjaro 24.0 Wynsdey released
    Jump
  • Andy Andy 4 months ago 100%

    FWIW I've read an Arch dev complain that folks using any 3rd party installer are not in fact "running Arch" and should not claim to be doing so.

    1
  • piracy Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ Telegram Reportedly "Ready to Fight Piracy" According to Govt. Official * TorrentFreak
    Jump
  • Andy Andy 4 months ago 100%

    Huh? Is this relevant, or some kind of bot spam?

    1
  • selfhost Self Hosted - Self-hosting your services. Release v0.52.5 · navidrome/navidrome · GitHub
    Jump
  • Andy Andy 4 months ago 100%

    For anyone else wondering:

    Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify!

    2
  • piracy Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ Telegram Reportedly "Ready to Fight Piracy" According to Govt. Official * TorrentFreak
    Jump
  • Andy Andy 4 months ago 100%

    So far, this isn't much of anything.

    Telegram already closes public channels reported for copyright violations.

    Some excerpts from this post:

    Compared to other platforms, we do not see the seriousness of Telegram to cooperate.

    . . .

    In May 2023, progress appeared to be going in the wrong direction. Telegram was reportedly refusing to cooperate with the Ministry of Communications and Digital on the basis it did not wish to participate in any form of politically-related censorship.

    . . .

    With no obviously public comment from Telegram on the matter, it’s hard to say how the social platform views its end of what appears to be an informal agreement.

    Telegram will be acutely aware, however, that whatever it gives, others will demand too. That may ultimately limit Telegram’s response, whatever it may be, whenever it arrives – if it even arrives at all.

    18
  • selfhost Self Hosted - Self-hosting your services. Release v0.52.0 · navidrome/navidrome · GitHub
    Jump
  • Andy Andy 5 months ago 100%

    Congrats on all the labor you saved.

    If you think folks here are uniquely unreasonable you could try lemmy.world/c/selfhosted .

    6
  • selfhost Self Hosted - Self-hosting your services. Release v0.52.0 · navidrome/navidrome · GitHub
    Jump
  • Andy Andy 5 months ago 100%

    On the off chance that you truly don't understand:

    The nice thing to do would be to accept the feedback and add a short description. It's confusing to others why you are staunchly opposed to performing that small courtesy, and instead jump to never posting here again.

    11
  • linux Linux Are we Wayland yet or Whats missing?
    Jump
  • Andy Andy 5 months ago 100%

    The window shade problem is keeping me from Wayland. AFAIU there's currently no commitment to ever fix it on Wayland, it's only a maybe.

    For anyone interested, it's being tracked here.

    3
  • opensource Open Source (Read before Comment) Why you don't like GIMP UI?
    Jump
  • Andy Andy 5 months ago 100%

    So . . . not relevant to my comment?

    3
  • Andy Andy 5 months ago 72%
    • Factor
    • Roc
    • Nim
    • Zsh
    • Execline
    5
  • Andy Andy 5 months ago 100%

    Well FWIW CodeWars has plenty of Factor katas, and I try to gather related resources at https://programming.dev/c/concatenative

    I'm trying to keep up with the Perl Weekly Challenges, but with Factor, and am posting some Factor solutions to Exercism's 48in24 series.

    2
  • opensource Open Source foss audio slowdowner?
    Jump
  • Andy Andy 5 months ago 100%

    By default you can use left and right bracket keys [] to adjust speed, and it should do adjustments to make the pitch sound the same.

    To adjust the pitch alone, you can have something like this in your input.conf, customized as you like:

    ALT+p af toggle @rb
    ALT+UP af-command rb multiply-pitch 1.25
    ALT+DOWN af-command rb multiply-pitch 0.8
    ALT+LEFT af-command rb set-pitch 1.0
    

    I haven't looked at this in a long time. If you always need this there's likely a conf option to always enable the "rubber band" (@rb) filter. And maybe other commands than multiply that would be better.


    EDIT: Sorry, I don't have this quite right. Maybe someone can correct me.

    3
  • opensource Open Source (Read before Comment) Why you don't like GIMP UI?
    Jump
  • Andy Andy 5 months ago 100%

    OK, I see some differences between your two screenshots, but what's the relevance to my comment?

    8
  • kde KDE & Plasma users KDE Plasma 6.0.4 Is Out to Improve Plasma Wayland, System Monitor, and More - 9to5Linux
    Jump
  • Andy Andy 5 months ago 100%

    As described at https://docs.kde.org/stable5/en/kwin/kcontrol/windowbehaviour/index.html#titlebar-actions

    Shade

    Causes the window to be reduced to simply the titlebar.

    3
  • opensource Open Source (Read before Comment) Why you don't like GIMP UI?
    Jump
  • Andy Andy 5 months ago 100%

    I don't know what I should be noticing there. I can't see any text for the tool buttons along the left edge of the window.

    6
  • kde KDE & Plasma users KDE Plasma 6.0.4 Is Out to Improve Plasma Wayland, System Monitor, and More - 9to5Linux
    Jump
  • Andy Andy 5 months ago 100%

    Anyone notice non-obvious Wayland road blocks?

    I think the last thing keeping me on X11 is window shade.

    5
  • opensource Open Source (Read before Comment) Why you don't like GIMP UI?
    Jump
  • Andy Andy 5 months ago 100%

    I have trouble with both, but more experience with GIMP. I can't stand all the little tool buttons with no text. I want the name of each tool always visible on its button.

    I have the same problem with Inkscape.

    8
  • python
    Python Andy 5 months ago 100%
    zpy: Zsh helpers for Python venvs, with uv or pip-tools github.com

    cross-posted from: https://programming.dev/post/12688262 > Hello! > > This is my little Zsh frontend for Python venv and dependency management, as well as pipx-like app installation. > > It's not new, but I just made a new release that can use uv as a backend, making it much faster (and hipper, obviously). > > If you have zpy installed, you can install uv with the `pipz` command, and from then on zpy will use uv instead of Python's venv module and pip-tools: > > ```zsh > % pipz install uv > ``` > > If you have any questions, please ask! > > I personally use it in combination with mise (for Python runtime management) and flit (for package publishing), but aim to keep it rather agnostic and interoperable.

    18
    1
    zsh
    zsh Andy 5 months ago 100%
    zpy: Zsh helpers for Python venvs, with uv or pip-tools github.com

    Hello! This is my little Zsh frontend for Python venv and dependency management, as well as pipx-like app installation. It's not new, but I just made a new release that can use uv as a backend, making it much faster (and hipper, obviously). If you have zpy installed, you can install uv with the `pipz` command, and from then on zpy will use uv instead of Python's venv module and pip-tools: ```zsh % pipz install uv ``` If you have any questions, please ask! I personally use it in combination with mise (for Python runtime management) and flit (for package publishing), but aim to keep it rather agnostic and interoperable.

    3
    0
    linux Linux Shortcut to input a string of text in Plasma Wayland
    Jump
  • Andy Andy 5 months ago 100%

    It's more about replacing typed text than using shortcuts, but there's espanso.

    5
  • linux Linux Rectangle for Linux?
    Jump
  • Andy Andy 6 months ago 100%

    Ok next time I won't use your computer.

    7
  • linux Linux Rectangle for Linux?
    Jump
  • Andy Andy 6 months ago 95%

    I'll just second the suggestion that KDE Plasma is worth a try, as it's very adaptable once you know what you want. You don't need to install any addons for the functionality you describe, just open the Shortcuts settings, KWin category, and have at it.

    19
  • linux Linux Marknote, KDE’s New WYSIWYG Note-Taking Application, Finally Released!
    Jump
  • Andy Andy 6 months ago 100%

    Ooh I haven't seen this one. Anyone have a comment on this vs the KleverNotes project? I think that's the name.

    7
  • linux Linux This week in KDE: looking forward towards Plasma 6.1
    Jump
  • Andy Andy 6 months ago 100%

    The Power and Battery widget now responds to middle-clicks and scrolls: middle-click will block or re-enable automatic sleep and screen locking, and scrolling will change the active power profile

    Scrolling on the battery applet is how I adjust my brightness. Is that no longer a thing?

    9
  • linux Linux Accidentally uninstalled an important package in Debian Sid with KDE, transparency no longer working
    Jump
  • Andy Andy 6 months ago 100%

    Have you checked the system settings page that includes compositor stuff?

    3
  • foss Free and Open Source Software What non-FOSS software have you been unable to quit?
    Jump
  • Andy Andy 6 months ago 100%

    I just grabbed it. The dash cam features might possibly be useful on a bike (?). But I tried and tried and couldn't find the magic zoom level for it to show me the name of the street I'm on, got frustrated, and uninstalled.

    3
  • privacy Privacy You may be offered a free premium Telegram subscription – but please don’t accept
    Jump
  • Andy Andy 6 months ago 100%

    Thanks!

    2
  • privacy Privacy You may be offered a free premium Telegram subscription – but please don’t accept
    Jump
  • Andy Andy 6 months ago 100%

    This link doesn't work for me. Do you have an alternative/original? I'd like to read some context and explanation.

    2
  • kde
    KDE Andy 6 months ago 93%
    Plasma 6 + X11: Can we still offset panels from neighboring screen edges?

    Sorry to make a whole post asking this. I've been asking on Reddit, IRC, Telegram, and the issue tracker, and I haven't been able to elicit a response from someone who is running Plasma 6 with an X11 session. Can anyone running Plasma 6 with an X11 session please tell me if it's still possible to offset a panel from a neighboring screen edge? e.g. a bottom panel right-aligned, but some distance from the right screen edge? Thanks for any info!

    13
    5
    commandline
    commandline Andy 7 months ago 100%
    xmq: Convert xml/html to a more human readable/editable format (xmq/htmq) and back. Can also work with JSON. github.com

    Hello! This is not my project, I just found it today. Making verbose things more concise and readable makes a big difference to me, and this could be *excellent* for me when dealing with HTML/XML. Just piping those formats through `xmq` yields a beautiful and clear rendering of the data. And as a NestedText enthusiast, I can now (using additional existing tooling): - transform HTML -> JSON -> NestedText - edit NestedText - transform NestedText -> JSON -> HTML

    6
    0
    zsh
    zsh Andy 7 months ago 100%
    Using broot as an fzf-like path completer and interactive folder jumper in Zsh https://andydecleyre.github.io/this-and-that/posts/broot-zsh

    cross-posted from: https://programming.dev/post/10377576 > Hello! I love broot. It's not my own project, but this blog post is, so feel free to send any questions or insults my way. Previews: - [Drill down to change folder](https://andydecleyre.github.io/this-and-that/posts/broot-zsh/drill_down.mp4) - [Complete a partially typed argument with a path filter](https://andydecleyre.github.io/this-and-that/posts/broot-zsh/complete_partial_with_path_filter.mp4) - [Complete with a file-content filter](https://andydecleyre.github.io/this-and-that/posts/broot-zsh/complete_with_content_filter.mp4)

    1
    0
    shell
    Shell Scripting Andy 7 months ago 100%
    Using broot as an fzf-like path completer and interactive folder jumper in Zsh https://andydecleyre.github.io/this-and-that/posts/broot-zsh

    Hello! I love broot. It's not my own project, but this blog post is, so feel free to send any questions or insults my way. Previews: - [Drill down to change folder](https://andydecleyre.github.io/this-and-that/posts/broot-zsh/drill_down.mp4) - [Complete a partially typed argument with a path filter](https://andydecleyre.github.io/this-and-that/posts/broot-zsh/complete_partial_with_path_filter.mp4) - [Complete with a file-content filter](https://andydecleyre.github.io/this-and-that/posts/broot-zsh/complete_with_content_filter.mp4)

    6
    0
    shell
    Shell Scripting Andy 11 months ago 88%
    olets/zsh-test-runner: Straight-forward tests and coverage reports for Zsh (and emulated csh, ksh, sh) github.com

    This is not my work, but the author (same author as [zsh-abbr](https://github.com/olets/zsh-abbr)) posted it elsewhere and it looks good to me. In his words: > What is zsh-test-runner? A simple testing framework for zsh, and to a degree —thanks to zsh's emulation of other shells— csh, ksh, and sh. > The immediately noticeable difference between zsh-test-runner and other shell script unit test frameworks is it doesn't have a DSL. zsh-test-runner relies entirely on the shell's own testing. For those familiar with other frameworks: nothing like ShellSpec's `Describe … When call … The output should`, or shUnit2's `assertEquals`, or ZUnit's `assert`; zsh-test-runner is closer to Bats if you were to restrict yourself to core and not use helper libraries (there's nothing like bats-assert's `assertEquals` or bats-file's `assert_dir_exists`). > Why no special syntax? It means there's little new to learn— For example, if you know how to test numeric equality in your shell, you know how to test equality in zsh-test-runner; if you don't, there are community resources available. It means every possible test is supported equally out of the box— zsh-test-runner is a newcomer, but there are no "shoot my assertion method isn't supported" blockers. It means the cost of porting homegrow framework-less tests to zsh-test-runner is about as low as can be— generally speaking, `my_cool_test_code` becomes `ztr test 'my_cool_test_code'`. It means tests can live comfortably in one LOC, making zsh-test-runner pleasant to use in the terminal.

    7
    0
    kde
    KDE Andy 11 months ago 100%
    Will it be possible to generalize a launch-or-focus script in the world of Wayland, at least when using Kwin?

    Hello! I'm still using X11, and one of the things that's keeping me there is that I make heavy use of a launch-or-focus script, so that I hit a certain hotkey and no matter what a browser/chat/editor/terminal/file-manager/etc. shows up focused on my current desktop. In the world of Wayland, this isn't so easy. If this can be recreated at all, I think it'll have to be made to rely on some sort of interface to Kwin. I don't think it's possible now, but might it be in the future? Here's my script, let's see if the lemmy interface mangles it (EDIT: yes, the last character should be an ampersand, not `&amp;`): ``` #!/bin/zsh -ex # -- Usage -- # ./toggle_window.zsh LAUNCH_CMD [ WM_CLASS [ CHECK_CMD ] ] # -- Defaults -- # WM_CLASS and CHECK_CMD each default to the value of LAUNCH_CMD # -- Examples -- # ./toggle_window.zsh dolphin # ./toggle_window.zsh wezterm-gui org.wezfurlong.wezterm # ./toggle_window.zsh firefox firefox firefox-bin # ./toggle_window.zsh \ # 'flatpak run --branch=stable --arch=x86_64 --command=telegram-desktop --file-forwarding org.telegram.desktop' \ # telegram-desktop telegram-deskto # Yes, "telegram-deskto" without a final p. Hmm. # -- Dependencies -- # - procps (pgrep) # - wmctrl # - x11-utils (xprop) # - xdotool # -- TODO -- # - wayland launch_cmd=(${(z)1}) wm_class=${2:-$1} check_cmd=${3:-$1} if [[ $(xprop -id $(xdotool getactivewindow) WM_CLASS) =~ \"$wm_class\" ]] { xdotool getactivewindow windowminimize } else { wmctrl -xR $wm_class || true } pgrep -u $USER -x $check_cmd || exec $launch_cmd &amp; ```

    16
    6
    concatenative
    Concatenative Programming Andy 1 year ago 100%
    code.golf now accepts Factor solutions code.golf

    It also supports Forth and Nim, which can be written in a somewhat concatenative style, too.

    1
    0
    concatenative
    Concatenative Programming Andy 1 year ago 100%
    New concatenative Discord server https://discord.gg/jav75FpVHg

    I personally can't stand Discord, but for now it's getting some concatenative action, so I've signed up again. When I'm at a computer I'll add this to the sidebar.

    1
    0
    python
    Python Andy 1 year ago 100%
    svcs: A Flexible Service Locator, from Hynek Schlawak svcs.hynek.me

    From the docs: --- *svcs* (pronounced services) is a **dependency container** for Python. It gives you a central place to register factories for types/interfaces and then imperatively acquire instances of those types with **automatic cleanup** and **health checks**. It’s suitable for implementing [Inversion of Control](https://svcs.hynek.me/en/latest/glossary.html#term-Inversion-of-Control) using either **dependency injection** or **service location** while not requiring global state, decorators, or mangling of function signatures. --- Personally I don't know if I will ever need such a tool; I don't really do web framework-y work right now. But I have a ton of respect for Hynek and enjoy his other projects and his blog posts, so if you need something like this I can recommend it on that basis.

    11
    0
    concatenative
    Concatenative Programming Andy 1 year ago 100%
    Programming with Interaction Nets https://readonly.link/articles/https://cdn.inet.cic.run/docs/articles/programming-with-interaction-nets.md

    In case that link changes, the main site is https://inet.run/ I just started reading and don't yet know about the advantages and trade-offs of a design like this.

    1
    0
    python
    Python Andy 1 year ago 98%
    Textual Web takes a Textual-powered TUI and turns it in to a web application textual.textualize.io

    > With the `textual-web` command you can publish any Textual app on the web, making it available to anyone you send the URL to. This works without creating a socket server on your machine, so you won't have to configure firewalls and ports to share your applications.

    54
    5
    linux
    Linux Andy 1 year ago 100%
    Dinit Release v0.17.0: First Beta release github.com

    I'll copy the release notes below. The exciting bit for me is the ability to pipe service output to a log process, such as s6-log. --- This is 0.17.0, the first beta release of Dinit! Dinit is now considered feature-complete for the first main release. Development until then will focus on bug fixes, improvements to existing features, and documentation. Thank you to several new sponsors, as well as existing sponsors, for supporting this release. Current sponsors include github users: brentfrow, brazeon, and q66 (Daniel Kolesa, author of Chimera Linux). Development of Dinit has also received financial support from Artix Linux. I am grateful for all the support, both financial and otherwise, that has been received. Special thanks to Mobin Aydinfar, who has taken on secondary maintainer duties in the lead-up to this release, including many valuable contributions to getting CI infrastructure up-and-running. This release includes several new features and fixes. There are also some small incompatibilities with the previous release, see "changes" below. New features: - A "log-type" service setting allows for control over how a service output is processed. A new "buffer" type allows capturing service output to an in-memory buffer; this may be useful for service started early, before any logging daemon is available. The buffer contents can be inspected via a new dinitctl subcommand, "catlog". See dinit-service(5) and dinitctl(8). Other log-type settings are "none", "file" (log to file as in previous versions) and "pipe" which allows piping output to another (process) service - read on for details. - Output from a service process can now be chained to another process (in another service). This allows one service to act as a logging agent for another, for example. The consumer service need not be started at the same time as the producer process; the pipe between them can be created early if needed, and will persist if either end dies (so restarting a logging agent without losing log messages should be possible in theory). The "consumer-of" service setting, specified in the consumer, creates the connection between the services; the producer must have log-type of "pipe". - New "triggered" service type, similar to "internal" except that it requires an external trigger before it will start (start of a triggered service is delayed until the external trigger is received). One potential use is to start services after hardware device nodes become available (eg, start dhcp client on a network interface once it is available). - New "dinictl" subcommand, "signal", to send a signal to a service process. See dinitctl(8). Implemented by James Knippes and Mobin Aydinfar. - New "kill-all-on-stop" service option will cause dinit to kill all (other) processes just before stopping the service. This can be used to ensure a cleaner system state and that filesystems can be unmounted (for example). Use with care; see dinit-service(5) for details. - The "shutdown" utility now runs (if present) user-provided shutdown hooks; see shutdown(8) for details. - New service settings to control service logfile ownership and permissions: logfile-permissions, logfile-uid, and logfile-gid. Note that these have default values, which results in a change in behaviour from previous versions even if they are not specified in a service description (i.e. the logfile ownership and permissions are now always set). - A new "--offline" option for dinitctl enables using "enable" and "disable" subcommands to enable/disable services when dinit is not running. - "before" and "after" ordering requirements in service descriptions no longer force the named service to be loaded. This means that a service can be "before" another service even if the other service might not be installed, for example. - New "dinitctl" subcommands "is-started" and "is-failed", to test for specific service statuses (intended to be useful in scripts, for example). Contributed by Daniel Kolesa. - The "dinitctl" utility now supports the "--use-passed-cfd" argument (as for shutdown). - A "configure" script to generate suitable build configuration is included. It is used by default when building on not-recognised systems. Contributed by Mobin Aydinfar. - Meson build system added (as an alternative to the existing makefile-based build) by Mobin Aydinfar. Changes: - The default is now to restart services automatically (previously required "restart = yes"). - The permissions/ownership for logfiles has been reworked, see details in "New features" above. - Services which specify "run-as" to run as a different user now run with the supplementary groups of that user (this can be disabled at build time by setting USE_INITGROUPS=0). Thanks to Daniel Kolesa. - Environment variables from the service-specific environment ("env-file" setting) can now be substituted in many service settings. Variable expansion now supports a limited subset of shell expansions (such as "$(NAME:-word}" and "${NAME:+word}). Behaviour is not identical to shell; see documentation. Implemented by Daniel Kolesa. - Environment variable expansion in service descriptions is no longer optional. The "sub-vars" load option no in a service description no longer has any effect, and "no-sub-vars" is no longer recognised at all. - "/run/dinit.d" is now included in the default set of directories search for service description files (in system mode). - Some service defaults, including automatic restart, can now be configured at build time (contributed by Mobin Aydinfar). Fixes: - A bug in Dasynq which caused out-of-bounds vector access in dinit on shutdown has been fixed. - Fixed a dinit bug that could cause communication on a control socket to block indefinitely, which could theoretically cause dinitctl to hang (no cases of dinitctl hanging have been reported by users!).

    19
    0
    python
    Python Andy 1 year ago 97%
    Litestar 2.0 Released blog.litestar.dev

    > Litestar is a powerful, flexible yet opinionated ASGI framework, focused on building APIs, and offers high-performance data validation and parsing, dependency injection, first-class ORM integration, authorization primitives, and much more that's needed to get applications up and running. https://github.com/litestar-org/litestar/ --- I am not personally involved in the project, I just like following its development. --- I know Medium is annoying, sorry. The content is also copied [on Reddit](https://www.reddit.com/r/Python/comments/162siv5/litestar_20/)... where you can enjoy such comments as > Why would they waste their time trying to promote to the few people on Lemmy? 😢

    33
    5
    concatenative
    Concatenative Programming Andy 1 year ago 100%
    Factor 0.99 Released! https://re.factorcode.org/2023/08/factor-0-99-now-available.html

    It's been a long time coming, and here it is: a new stable [Factor release](https://re.factorcode.org/2023/08/factor-0-99-now-available.html) with years of improvements to enjoy. For those who don't know: > Factor is a concatenative, stack-based programming language with high-level features including dynamic types, extensible syntax, macros, and garbage collection. On a practical side, Factor has a full-featured library, supports many different platforms, and has been extensively documented. > The implementation is fully compiled for performance, while still supporting interactive development. Factor applications are portable between all common platforms. Factor can deploy stand-alone applications on all platforms. Full source code for the Factor project is available under a BSD license.

    1
    0
    concatenative
    Concatenative Programming Andy 1 year ago 100%
    Represent your favorite concatenative languages over at the new c/challenges@programming.dev programming.dev

    The first challenge from programming.dev's new [challenges](https://programming.dev/c/challenges) community has been posted (and so has my amateur Factor solution). I hope to see more concatenative solutions posted, and welcome any critical feedback on any of the Factor bits I submit there.

    1
    0
    concatenative
    Concatenative Programming Andy 1 year ago 100%
    FYI, Codewars has a bunch of Factor exercises www.codewars.com

    Forth, too. Unfortunately it uses the stable Factor release 0.98 which is a bit old, but I know Factor is heading toward a new release soon, which is probably a prerequisite to updating the runtime on [Codewars](https://www.codewars.com/kata/search/factor). Anyway the little exercises help me get to know the language, and then when I see others' solutions I get to see how badly I've done things and what cool library words I should learn next. Anyone else using a concatenative language on an exercises-type site like this, especially where other solutions in the same language can be shared?

    1
    0
    concatenative
    Concatenative Programming Andy 1 year ago 100%
    Welcome to programming.dev's concatenative programming community!

    Hello! I requested the creation of this space because I have a real interest in (and ignorance of) concatenative programming, both the programming languages and tools that fundamentally require that pattern as well as the ones that enable it (or something similar, like `ARG1 FUNC ARG2` syntax) in big or small ways here and there. Examples of the former category include: - Forth - [Factor](https://factorcode.org/) - [Retro](http://www.retroforth.org/) Examples of the latter include: - Nim - [Roc](https://www.roc-lang.org/tutorial#the-pipe-operator) - Unix Pipes - [Cognate](https://github.com/cognate-lang/cognate) - [Execline](http://skarnet.org/software/execline/grammar.html) --- From [Wikipedia](https://en.wikipedia.org/wiki/Concatenative_programming_language): > A concatenative programming language is a point-free computer programming language in which all expressions denote functions, and the juxtaposition of expressions denotes function composition. Concatenative programming replaces function application, which is common in other programming styles, with function composition as the default way to build subroutines. > For example, a sequence of operations in an applicative language like the following: ``` y = foo(x) z = bar(y) w = baz(z) ``` > ...is written in a concatenative language as a sequence of functions: `x foo bar baz` --- This space is meant for sharing news, experiences, announcements, questions, showcases, etc. regarding these topics and tools. --- Related: - [concatenative wiki](https://www.concatenative.org) - [Reverse Polish Notation](https://en.wikipedia.org/wiki/Reverse_Polish_notation) - [Uniform Function Call Syntax](https://en.wikipedia.org/wiki/Uniform_Function_Call_Syntax) - [Stack-Oriented Programming](https://en.wikipedia.org/wiki/Stack-oriented_programming) - [r/concatenative](https://www.reddit.com/r/concatenative/) - GitHub Topics: - [Stack-Based Language](https://github.com/topics/stack-based-language) - [Concatenative](https://github.com/topics/concatenative) - [Concatenative Language](https://github.com/topics/concatenative-language) - [Concatenative Programming Language](https://github.com/topics/concatenative-programming-language) - [Concatenative Interpreting Language](https://github.com/topics/concatenative-interpreting-language)

    1
    0
    askandroid
    Ask Android Andy 1 year ago 100%
    Seeking apps for finding, storing, and viewing chords for songs

    EDIT: I think I found my answer for my phone at least: https://tabslite.com/ Hello! I like to find chords for songs to play along with. Most of the time I end up at Ultimate Guitar, but I find their website, especially on mobile, to be hostile, distracting, and a general PITA, to the point that I pledge to never give that business a cent. Given that, can anyone recommend any tools, sites, or apps to help find, collect, and view chords for songs? I have some success with smartChord, but my most common actions require lots of fiddling through menus and even then I can't understand how to access saved chords, and every time I leave a song it prompts me about saving changes even though I made no changes, etc. Thanks for any help!

    7
    2