12

From Enaml's docs:

Enaml brings the declarative UI paradigm to Python in a seamlessly integrated fashion. The grammar of the Enaml language is a strict superset of Python. This means that any valid Python file is also a valid Enaml file, though the converse is not necessary true. The tight integration with Python means that the developer feels at home and uses standard Python syntax when expressing how their data models bind to the visual attributes of the UI.

. . .

Enaml’s declarative widgets provide a layer of abstraction on top of the widgets of a toolkit rendering library. Enaml ships with a backend based on Qt5/6 and third-party projects such as enaml-web and enaml-native provides alternative backends.


A maintainer of Enaml has just opened a brainstorm discussion on the next major development goals.

It's a project I've long admired, though rarely used, and I'd love to see it get some attention and a revamp. I think the bar these days has been raised by projects like QML and Slint, which provide a great context in which to set new goals.

[-] Andy@programming.dev 17 points 2 years ago

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.

[-] Andy@programming.dev 20 points 2 years ago

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.

1
19

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:

% 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.

1
submitted 2 years ago by Andy@programming.dev to c/zsh@programming.dev

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:

% 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.

1
submitted 2 years ago* (last edited 2 years ago) by Andy@programming.dev to c/concatenative@programming.dev

I don't yet have a feel for any key differences between pql and PRQL.

1

Copied from the readme:


cosh is a concatenative command-line shell.

Why?

Basic shell operations like ls, ps, stat, and so on are implemented as functions that return first-class values, as opposed to relying on executables that return text streams. This makes working with the results simpler:

  • Find file paths matching a string, and search those files for data

sh:

find . -iname '*test*' -print0 | xargs -0 grep data

cosh:

lsr; [test m] grep; [f<; [data m] grep] map
  • Find all processes using more than 500M of memory:

sh:

ps --no-headers aux | awk '$6>500000'

cosh:

ps; [mem get; 1000 1000 *; 500 *; >] grep

A small set of versatile primitives means that less needs to be remembered when compared with typical shells (see e.g. the various flags for cut(1)), though some commands may be longer as a result:

  • Get the second and third columns from each row of a CSV file:

sh:

cut -d, -f2,3 test-data/csv

cosh:

test-data/csv f<; [chomp; , split; (1 2) get] map
  • Sort files by modification time:

sh:

ls -tr

cosh:

ls; [[stat; mtime get] 2 apply; <=>] sortp

Arithmetical operators and XML/JSON/CSV encoding/decoding functions reduce the number of times that it becomes necessary to use a more full-featured programming language or a third-party executable:

  • Increment floating-point numbers in file:

sh:

sed 's/$/+10/' nums | bc

cosh:

nums f<; [chomp; 10 +] map
  • Get the first value from the "zxcv" array member of a JSON file:

sh:

jq .zxcv[0] test-data/json2

cosh:

test-data/json2 f<; from-json; zxcv get; 0 get

It also integrates with external executable calls, where that is necessary:

  • Print certificate data:

bash:

for i in `find . -iname '*.pem'`; do openssl x509 -in $i -text -noout; done

cosh:

lsr; [pem$ m] grep; [{openssl x509 -in {} -text -noout}] map;

See the full documentation for more details.

1
[-] Andy@programming.dev 19 points 2 years ago

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.

1

Just because Exercism doesn't offer your favorite language as an official track, it doesn't mean we can't play at all. Post some solutions to the weekly challenges in the language of your choice!

1

Copied from the project's readme:


Introduction

Scale is a procedual and object oriented concatenative stack oriented compiled programming language inspired by Lua and Porth.

The Compiler is a source-to-source compiler, as it converts your source code to valid C code, that is then compiled by Clang.

Scale supports both 32-bit and 64-bit systems, but 64-bit is strongly recommended.

Examples

Examples can be found in the examples directory.

Installation

Run the following commands:

$ clang++ install-sclc.cpp -o install-sclc -std=gnu++17
$ ./install-sclc

Documentation

A list of all features can be found here.

The Scale Framework documentation can be viewed by running the following command:

$ sclc -doc-for Scale
1

Copied from the project's readme:


  • blacklight is a programming language which is concurrent, stack-based, and concatenative (BLPL)

  • blacklight is a virtual machine for implementing highly concurrent languages (BLVM)

  • blacklight is a data interchange format for communicating between processes and across networks (BLBC)

Features

blacklight (BLVM) is awesome, here's a few reasons why:

  • easy to use builtin parallelism through native concurrency primatives
  • threadsafe communication between concurrency units
  • rich datatype primitives
  • an easy to use homoiconic Forth-like assembly language (BLPL)
  • runtime bytecode manipulation and generation
  • UTF-8 native datatypes
  • multi-architecture and cross-platform (currently: x86_64, ARM, macos, linux, windows)
  • (in progress) highly optimized vector operations on supported CPUs
  • (planned) security contexts and permissions

Documentation

BLPOC

The current implementation of blacklight is a proof-of-concept. It's functional but intended primarily for proving out features, strategies, and specifications. Once The ABI is stable it will be reimplemented with optimization and compatibility in mind against a full test suite. As is, there is very little about blacklight that isn't subject to change to better reflect the results of research and experimentation.

14

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!

1
Rye language (ryelang.org)

From the homepage:

Rye is a high level, homoiconic dynamic programming language based on ideas from Rebol, flavored by Factor, Linux shell and Go. It's still in development, but we are focused on making it useful as soon as possible.

It's written in Go and could also be seen as Go's scripting companion as Go's libraries are very easy to integrate, and Rye can be embedded into Go programs as a scripting or a config language.

I believe that as a language becomes higher level it starts bridging the gap towards user interfaces. Rye has great emphasis on interactive use (Rye console) where we intend to also explore that.

[-] Andy@programming.dev 54 points 2 years ago* (last edited 2 years ago)

No Zsh support for now, and maybe no user fonts?

And a warning: it's got telemetry on by default.

[-] Andy@programming.dev 27 points 2 years ago

PSA: As is commonly recommended, watch the director's cut if you can, especially if it's your first time. The main difference is that the regular release has a voice over in the beginning explaining a lot (too much).

[-] Andy@programming.dev 18 points 3 years ago* (last edited 3 years ago)

EDIT: I was thinking of a different distro than OP's


I think I know which distro you reference (are we keeping it a secret for good reason?). If it's the one I'm thinking of, I've also reached out to admins about toxic messaging in the forums, and the response was hostile, dismissive, and disappointing.

Unfortunately, despite being interested in some technical aspects of the distro, I doubt the sanity of some of the team, and don't want to deal with their hostility either.

[-] Andy@programming.dev 21 points 3 years ago

Apparently it goes toward sending customers "Liberal Moron" shirts instead of their requested designs, and also illegally underpaying employees. So... I doubt it.

[-] Andy@programming.dev 14 points 3 years ago

Since you ask (why not?), check the current top comment. I didn't know about it until today.

[-] Andy@programming.dev 23 points 3 years ago

Here in New York City folks were distributing free bagels to the homeless. Out of concern for the food safety aspect of it all, our government helpfully disrupted the work and dumped bleach over the bagels to protect the needy from potentially unsafe food.

When the authorities finished their good work, the hungry folks proceeded to eat bleach-tainted bagels.

Governments don't need to be red to do awfully stupid awful things.

[-] Andy@programming.dev 13 points 3 years ago

Many of us don't praise or want titlebars controlled by apps individually, and there are more reasons to keep them separate than just backward compatibility, FWIW.

But if you haven't checked it out lately, you may want to look at the MauiKit/Nitrux stuff.

[-] Andy@programming.dev 13 points 3 years ago* (last edited 3 years ago)

Some of my favorites:

  • Launcher: Niagara
  • Rom: LineageOS
  • Browser: Firefox (with DarkReader and uBlock Origin)
  • Reddit: Relay (is this ending?)
  • HackerNews: Harmonic
  • ~~Lemmy: Jerboa (haven't tried alternatives)~~
  • Podcasts: AntennaPod (haven't tried much else)
  • Identify stuff: LeafSnap (plants), SoundHound, Merlin (birds!)
  • Books: Moon+ Reader Pro
  • Barcodes: Catima
  • Computer stuff: KDE Connect
  • File stuff: Material Files and ZArchiver
  • TTS: @Voice Aloud Reader
  • Passwords: Bitwarden
  • Icons: Crayon or Viral
  • Keyboards: MS SwiftKey, maybe someday FlorisBoard, sometimes Hacker's Keyboard
  • Scrobbles: Simple Scrobbler
  • Video: VLC and NewPipe
  • Weather: Weawow

EDITS:

  • Lemmy: Liftoff
  • Chat: Telegram
  • Email: Delta Chat?
view more: next ›

Andy

0 post score
0 comment score
joined 3 years ago
MODERATOR OF