Drew DeVault, founder of SourceHut, writes free software such as aerc, scdoc, and openring, and posts about it on his sr.ht repositories.
HN links his sr.ht repositories for projects like aerc and openring, and commenters discuss the SourceHut stack and its CI.
I love the simple and lightweight interface, but everything is hard to discover.
Sourcehut? Sounds great- I'd love to replace my Gogs/gitlab instance with something more lightweight. Let's download the source and run it.
I guess click on "git" on https://git.sr.ht/? Wait that's where I already am with no indication that that is the selected tab.
Ok maybe the link for sourcehut? https://sourcehut.org/
Cool. There's some links about pricing, ignore that and click on "100% free and open source software"
Now I am just at a list of what appears to be about 20 repos, all with helpful names like sr.ht-apkbuilds.
I can tell that this person has put a ton of work into making something that is probably fantastic, but it is really all presented in an undiscoverable way. I still have no idea what language this project is written in, how to deploy or maintain it.
I assume https://git.sr.ht/~sircmpwn/git.sr.ht might be what I want, but it still looks like the inscrutable mess that reminds me of hgweb. There's not even a readme on the first page, let alone the source or anything useful. There's a link to https://man.sr.ht/git.sr.ht/installation.md. Which looks like it might be what I want, but I guess I'm old and at this point I've lost interest.
I'm definitely being crotchety, but I wish this information was organized in a more useful way. I can tell Drew has put a lot of time into it, but I don't feel like it is being shared in an effective way. And I would definitely never pay…
Wayland is fantastic, but it requires some external tools for some non-default (seemingly 'simple') utilization. Therein lies double work, devs scratching their itch in whatever programming language they prefer, sure. The most popular one isn't always the best. And all of that is the nature of the bazaar. But the way I regard it, the bazaar can make use of curators who make a cathedral and sell that (anyone can, in theory). In other words, this is a service problem.
I used ydotool [1] in Sway years ago, worked perfectly fine. Had to setup the permissions though, IIRC via some udev rule. There are also other tools which do something similar, each being slightly different and sometimes with different features or pros/cons. For example, there was this tool for just swapping buttons (wtype), one for reading the input and echoing what was being pressed (wev), and there is one doing that with a keyboard visual picture, too (wshowkeys). Basically, sircmpwn (author of Sway) wrote a lot of useful Wayland utils [2].
Then for running GUI apps remotely, there's Waypipe [3], and for running Android apps on Wayland there's Waydroid [4].
The beauty of all this, is that with Wayland you don't have to run QubesOS in order to have a somewhat secure desktop OS.
..but it did require some work to get all of this working. I already knew that the moment I went for Sway instead of Gnome or KDE.
Also, I believe the mobile Linux DE's each use Wayland, too. pmOS with say Phosh, Lomiri, Plasma…
The author says that he has soured on Python for “serious, large projects”. While it’s clearly personal opinion, and that’s fair enough , I can’t help but think his choice of framework hasn’t helped him and has likely caused significant slowdown when delivering features.
Looking through some of the code for Sourcehut, there’s an insane amount of boilerplate or otherwise redundant code[1]. The shared code library is a mini-framework, with custom email and validation components[2][3]. In the ‘main’ project we can see the views that power mailing lists and projects[4][5].
I’m totally biased, but I can’t help but think “why Flask, and why not Django” after seeing all of this. Most of the repeated view boilerplate would have gone ([1] could be like 20 lines), the author could have used Django rest framework to get a quality API with not much work (rather than building it yourself[6]) and the pluggable apps at the core of Django seem a perfect fit.
I see this all the time with flasks projects. They start off small and light, and as long as they stay that way then Flask is a great choice. But they often don’t, and as the grow in complexity you end up re-inventing a framework like Django but worse whilst getting fatigued by “Python” being bad.
1. https://git.sr.ht/~sircmpwn/paste.sr.ht/tree/master/pastesrht/blueprints/public.py
2. https://git.sr.ht/~sircmpwn/core.sr.ht/tree/master/srht/email.py
3. https://git.sr.ht/~sircmpwn/core.sr.ht/tree/master/srht/validation.py
4.…
Happy to see “secretlang” out in the open! I have been following development from afar and really like the idea of a “simple” take on a language, but with a lot of wisdom and affordances added since the state of the world back in 1972. In short, Hare seems to be a language that I really should like and I want to take it for a spin.
What I find a bit confusing though is the licensing. I belong to the “BSD school”, but can at least claim that I understand (and respect) how GNU looks at things. Looking at Hare’s licensing [1], I am somewhat stumped and my usual modes of thinking no longer apply. What is the threat that warrants this level of complexity? A commercial fork? A community fork? Proprietary drivers? Are these really realistic enough threats to warrant this level of license complexity rather than just stamping ISC and CC-BY on the whole thing and not worry about forks at all? Yes, there is some writing in the README, but perhaps I am too thick to “get it”?
[1]: https://git.sr.ht/~sircmpwn/hare#licensing
Lastly, a sanity check, am I reacting too strongly to this if I feel that it has a bit of chilling effect in terms of my excitement?
Thank you.
> If you remember where you found that link, let me know, so I can update it.
I belive it was the "100% free and open source" link in this very post:
https://sourcehut.org/blog/2020-04-30-the-sourcehut-hub-is-live/
Which goes to:
https://git.sr.ht/~sircmpwn/?search=sr.ht
Which does indeed link the repos - which is good - but from a mindset of "how do I self-host?" maybe a bit bare bones.
Looks like if one follows any of the repo links - the install info is at the bottom. May be an artifact of me being on my phone.
As I said, I didn't look very hard.
I really appreciate the no-nonsense/no hype vibe - but at the same time, I really do want a "here's a sane way to get up and running" front and center.
Now, obviously there's a hosted offering - but at my current company we have a few projects that we feel more comfortable self-hosting due to the nature of some of our customers. For some, we avoid third parties, where we can.
I recommend using a tiling window manager - they allow you to organize windows logically, rather than spatially.
I have also written some plugins for using Vim (text editing) and Weechat (IRC chat) with speech synthesis:
https://git.sr.ht/~sircmpwn/dotfiles/tree/master/lib/vim/vimspeak.vim
https://git.sr.ht/~sircmpwn/dotfiles/tree/master/.weechat/python/talkative.py
And I have a script for Sway (a tiling window manager) which also gives you audible cues:
https://git.sr.ht/~sircmpwn/dotfiles/tree/master/bin/swaytalk
All of this is somewhat incomplete, but it's a good starting point if you want to get used to them and work on improvements while you're still sighted. Good luck, and let me know if I can be of service.