1. 3

    I don’t really see the point of using microG? What’s the big benefit of a third party client if one does still continue to use Googles servers?

    Personally, I use CopperheadOS without any google services. Works well for me, but I did not even use GMaps, Whatsapp and so on back when I had “Google Play Services” on my phone. Nowadays it’s fdroid and all its apps, like OSMAnd and so on. Signal from its self-updating APK with a websocket connection instead of “Google Cloud Messaging”. Works just fine, but uses quite a lot of battery.

    1. 5

      Push notifications are a deal breaker for me, also, there are a lot of apps that purposely warn you and kick you out of the app if no Play Services are installed (Google has some security certifications where they mandate you to disallow users without play services from using apps).

      Also, everything I can get from F-Droid that serves my need I do, but not every app that I need has a FOSS alternative (slack, bank, spotify, zoom - to name a few). Plus, I really dislike the idea of having a ~150MB system app that sits their just to “support apps with services”. MicroG serves the basic functionality to provide you with things like push notifications, it’s size is tremendously smaller and it’s open source.

      1. 2

        I’m in the Copperhead camp and don’t really miss push notifications. Slack doesn’t ping me anymore, but that’s just another reason to migrate to FOSS apps designed to work without Google Play (riot/matrix, conversations.im, signal, etc). Cutting down on notifications from bank apps could even be interpreted as a positive side effect.

        One security downside to MicroG is that you need to enable signature spoofing so that it can impersonate the official Google Play Services.

        1. 1

          One security downside to MicroG is that you need to enable signature spoofing so that it can impersonate the official Google Play Services.

          LineageOS people keep saying that, but I don’t see the security issue. There is no slippery slope, and there is literally no other way to replace Google dependencies than to pretend you’re them.

    1. 14

      I really hate browser notifications. I never click yes ever. It feels like preventing browsers from going down this hole is just yet another hack. The Spammers and the CAPTCHAers are fighting a continuous war, all because of the 2% of people who actually click on SPAM.

      1. 7

        I’m amazed there is no “deny all” setting for this

        1. 5

          My firefox has that in the settings somewhere:

          [X] Block new requests asking to allow notifications

          This will prevent any websites not listed above from requesting permission to send notifications. Blocking notifications may break some website features.

          help links here: https://support.mozilla.org/en-US/kb/push-notifications-firefox?as=u&utm_source=inproduct

          1. 2

            Did anyone find the about:config setting for this, to put in ones user.js? I am aware of dom.webnotifications.enabled, but I don’t want to disable it completely because there are 3 websites which notifications I want.

            1. 3

              permissions.default.desktop-notification = 2

          2. 1

            there always has been in Chrome and Safari and since very recently, there’s also one in Firefox. It’s the first thing I turn off whenever I configure a new browser. I can’t possibly think of anybody actually actively wanting notifications to be delivered to them.

            Sure, there’s some web apps like gmail, but even there - I’d rather use a native app for this.

            1. 3

              I can’t possibly think of anybody actually actively wanting notifications to be delivered to them.

              Users of web-based chat software. I primarily use native apps for that, but occasionally I need to use a chat system that I don’t want to bother installing locally. And it’s nice to have a web backup for when the native app breaks. (I’m looking at you, HipChat for Windows.)

          3. 5

            There is a default deny option in Chrome, takes a little digging to find though. But I agree that it’s crazy how widespread sites trying to use notification are. There’s like 1 or 2 sites that I actually want them from, but it seems like every single news site and random blog wants to be able to send notifications. And they usually do it immediately upon loading the page, before you’ve even read the article, much less clicked something about wanting to be notified of future posts or something.

            1. 1

              The only time I have clicked “yes” for notifications is for forums (Discourse only at this point) that offer notifications of replies and DMs. I don’t see a need for any other websites to need to notify me.

            1. 2

              PeerTube is a very interesting project, though personally I would love some kind of youtube interface so I can watch youtube on PeerTube and maybe live streaming before I’d consider switching away from youtube itself entirely.

              1. 1

                Video import from youtube is one of their stretch goals, if I understand you correctly.

                1. 1

                  You mean like with HookTube? Yeah that’s something I’ve been meaning to implement. It only has a real interest with playlists support and user subscriptions, which is not the case right now. So maybe in the near future!

                  1. 2

                    Probably a bit like that (though it looks like HookTube doesn’t support 1080p).

                    But being able to bring Youtube atleast one-sided into the fediverse could convince a lot of people to switch. It’s what I consider a necessary feature for a lot of federated platforms, atleast in the initial phases.

                    1. 1

                      You’d be suprised what users tell us are “necessary features” ;)

                      While this one should not be part of the core per se, I do see the interest of this one. Decentralizing the content also means migrating the habits. Believe it or not, it should either land as a plugin (much later since there is no plugin system yet) or as a core feature, depending how much free time I can free in the next months. Either way that’s not a priority, as there is much to build apart from that.

                      1. 1

                        Yeah, I totally understand if it’s not a priority (and I know what users sometimes consider ‘necessary’) so I try to keep my list of necessary things short and reasonable.

                        Good luck with the platform then :)

                        1. 1

                          Thanks :)

                1. 9

                  I just uploaded the complete first draft of Practical TLA+.

                  Going to bike for a while. Then back to work on revisions.

                  1. 3

                    For those vaguely interested like me: hwayne seems to be the author of the great website https://learntla.com/ and currently in the process of writing a book, Practical TLA+ with Apress. https://twitter.com/Hillelogram/status/950874673994137600

                    Thanks for your work!

                  1. 5

                    work: In the process of ‘packing up’ because I am going to leave after 1,5 years as a systems engineer. Haven’t decided on a new job yet and going to enjoy a bit unemployment in summer during june :)

                    fun: Trying to get up to speed with rust, because in my niche other languages with good type systems like haskell aren’t popular enough. Go is really gaining traction here, but I don’t enjoy it quite as much.

                    The project itself is a server implementation of the music playing daemon protocol which just forwards commands to mpv

                    1. 2

                      Good luck on next move!

                    1. 2

                      I’ve grown tired of having to wait for a long command in a deep SSH (==SSH in SSH in SSH) session, so I’m writing a webservice that helps me solve this:

                      ./longcmd && termnotify lkurusa-mbp "Done" will send a notification to my computer named lkurusa-mbp even if executing on a very far machine.

                      I chose Elixir and the Phoenix framework for this task.

                      1. 2

                        How does this command call your notebook? Does your notebook poll something, are you exposing an internet-reachable service or something else entirely? And is there some kind of authentication?

                        1. 2

                          Yes, it’s a publicly exposed service. I plan to make it available for everyone For As Long As Possible (tm). The client software on all the machines keep polling (once every second) their respective UUID endpoints: /check/:uuid.

                          It’s easy to add a new machine, just GET /create and it sends you back a UUID, then on the client machine you can:

                          nohup termnotify listen $uuid

                          To send a notification to it:

                          termnotify new-machine "my-new-fancy-machine" $uuid && termnotify my-new-fancy-machine "hello there"

                          There is no form of authentication for now, as so long as the UUID is kept secret it’s going to be hard to “hack”. Additionally, it’s easy to generate a new UUID.

                          The client side will use the respective notification sending API of the platform it’s running on, for now I only support Linux with notify-send.

                      1. 6

                        I can hardly stand reading the site. I have to keep scrolling every 5 seconds…

                        1. 2

                          Yeah it’s a bit… Big. Also, why do all these web “book” authors always refuse to have a “next” button for linear navigation through the reading material…

                          …You know, like a book.

                          1. 1

                            It’s a lot more readable if you set your browser’s zoom to 50%.

                            1. 1

                              and max-width: 50em (instead of 25) for main for people who use user styles. With 50% font-size and increased width, its pretty nice :)

                          1. 7

                            > discord

                            God please, no!

                            1. 2

                              Better than slack.

                              1. 7

                                Of course!

                                But why you need to stick to proprietary solutions and make them unreachable on platforms you’re caring about on this community? Wouldn’t be better to just use IRC like civilized people do?

                                1. 7

                                  Trying to convince people who want Slack or Discord to use IRC will get you nowhere.

                                  IRC is awesome and some of us have been using it since dirt but it ITSELF lacks features some modern users really want - built in search / logging / voice chat / built in image / sound rendering, etc etc etc.

                                  You can say “Bah that’s all crap” - and I’ll agree with you, but that doesn’t stop people from wanting.

                                  Personally, I wish more open source folk would explore sollutions like https://zulipchat.com/

                                  1. 2

                                    Direct link to the code for everybody’s convenience: https://github.com/zulip/zulip

                                    1. 1

                                      I know Zulip but haven’t tried it personally yet…

                                      And, more importantly - does it have an IRC gateway? :)

                                      1. 1

                                        Sort of: https://github.com/zulip/python-zulip-api/issues/106

                                        I still like zulip quite a lot, i think its concept of topics does really improve discussions.

                                  2. 1

                                    They have an IRC channel too, and a bot that communicates between IRC & Discord

                                    1. 1

                                      These bridging bots (between Slack/Discord/Matrix/Telegram/Hipchat and IRC) are quite incomplete solutions, as they can’t do “puppeting” so the bot impersonates all IM users as single IRC user and it’s bad to interact with them in that way.

                                      I hope Matrix could solve this in the future.

                                      1. 1

                                        I’ve been using Matrix for about 18 months, and it does puppeting perfectly when bridging to IRC, from either side.

                                        The Slack bridging with Matrix looks to behave in a similar way; you’re almost unable to distinguish native users and bridged users.

                              1. 18

                                Definitely way complicated. Nomad(https://nomadproject.io/) is what we chose, because it is so operationally simple. You can wrap your head around it easily.

                                1. 7

                                  I haven’t used either in production yet, but isn’t the use case of nomad much more restricted then kubernetes? It’s only the scheduling part and leaves it to the use define, for example, ingress through a load balancer and so on?

                                  1. 10

                                    Yes, Load balancing is your problem. Nomad is ONLY a task scheduler across a cluster of machines. Which is why it’s not rocket science.

                                    You say I need X cpu and X memory and I need these files out on disk(or this docker image) and run this command.

                                    It will enforce your task gets exactly X memory, X cpu and X disk, so you can’t over-provision at the task level.

                                    It handles batch(i.e. cron) and spark workloads, system jobs(run on every node) and services (any long-running task). For instance with nomad batch jobs you can almost entirely replace Celery and other distributed task queues, in a platform and language agnostic way!

                                    I’m not sure I’d say the use-case is much more restricted, since you can do load balancing and all the other things k8s does, but you use specialized tools for these things:

                                    • For HTTPS traffic you can use Fabio, Traefik, HAProxy, Nginx, etc.
                                    • For TCP traffic you can use Fabio, Relayd, etc.

                                    These are outside of Nomad’s scope, except that you can run those jobs inside of Nomad just fine.

                                    edit: and it’s all declarative, a total win.

                                    1. 1

                                      Why not haproxy for tcp too?

                                      1. 1

                                        I don’t actually use HAProxy, so I can’t really comment on if it does TCP as well, if it does, AWESOME. I was definitely not trying to be limiting, hence the etc. at the end of both of those.

                                        We use Nginx and Relayd.

                                        1. 2

                                          It does TCP. See the reliability and security sections of the web site to see why you might want it.

                                          1. 2

                                            Thanks!

                                  2. 4

                                    Oooh, the fact that it’s by HashiCorp is a good sign. I’ll have to read up on this. Thanks!

                                  1. 2

                                    I use quite a few already mentioned in this thread and:

                                    • andOTP - the nicest OTP i’ve found so far. Supports tagging if you got a lot of secrets and exports of secrets which is nice if you are afraid to loose your phone and want to avoid going through the hassle of resetting all your OTP tokens. I got my export gpg-encrypted in my backups

                                    • transportr - generic public transport app. I had used ‘Oeffi’ before but that lives in it’s own repo,

                                    • Termux - a terminal emulator with apt. Why would anyone want something like this? I’ve got buttons on my homescreen to start and stop an ssh client if i am in my home wifi. I then use rsync scripts to copy photos and music around. Works well enough for me and is quite flexible. I did use the share-with-tmux feature and youtube-dl on my phone to download stuff from soundcloud and youtube before i found newpipe.

                                    1. 3

                                      @pushcx - have you found a good alternative to baikal?

                                      1. 3

                                        Does radicale work for you?

                                        1. 2

                                          NextCloud is heavy PHP stuff, but I hear it works well.

                                          1. 1

                                            NextCloud uses the same CalDAV implementation as Baikal (sabre/dav)

                                            1. 1

                                              I use NextCloud with Android via DavDroid. It was mildly awkward setting up, but now it’s up it’s flawless.

                                          1. 3

                                            Does anyone know if there’s a simpler alternative to Google Analytics which only shows hit counts? For my site, all I’d love to know is which pages have been viewed how many times. I really don’t care about anything else.

                                            I wish Netlify would provide some sort of basic log analysis of static sites, telling me the view count of each page.

                                            1. 5

                                              If you have access to your web-server logs, Goaccess may be a good candidate. It’s quite easy to use and not really intrusive.

                                              1. 1

                                                I actually don’t since I’m on Netlify. Otherwise this would be an ideal solution.

                                                Most of the static websites are hosted on either Github Pages or Netlify and (as far as I know) neither of those allow you to see the access logs.

                                                1. 4

                                                  You can host a 1x1 pixel on Amazon S3 and enable logging for the associated bucket. Add a query string to identify the current page. A simple transformation on the logs (to remove original URI, keeping only the one in query string) and you should be able to use GoAccess.

                                              2. 1

                                                Does anyone know if there’s a simpler alternative to Google Analytics which only shows hit counts?

                                                I think what you’re looking for is a web counter from the 90’s :)

                                                1. 1

                                                  I don’t! But this sounds like a good service for someone to provide. Something SUPER lightweight. Could even eventually show it on https://barnacl.es

                                                  1. 1

                                                    back in the days https://www.awstats.org/ was a thing

                                                    1. 1

                                                      It still is. I know quite a few customers who still use awstats.

                                                  1. 3

                                                    If FreeBSD or OpenBSD had a first class Docker port, I’d be using BSD for everything. I tried using one of the Docker betas. A lot of stuff worked, but it was so old I couldn’t connect to it with a lot of other docker clients/libraries and it really shot down what I could do.

                                                    I ended up using FreeBSD for my VPN and Ubuntu for my Docker server:

                                                    https://penguindreams.org/blog/bee2-creating-a-small-infrastructure-for-docker-apps/

                                                    1. 2

                                                      From my experience (just few months really) Docker and OpenBSD follow pretty different philosophies. Not sure it’s a good combination.

                                                      1. 2

                                                        You mean the CLI to connect to a Linux VM in vmd which runs the containers like docker-machine on OS X and Windows? I haven’t tried it but that could work on OpenBSD. A real, native port does not sound likely as Docker makes extensive user of Linux kernel features which are just not there in OpenBSD at least. Not sure how much of docker compatibility could be build upon FreeBSD jails.

                                                        1. 1

                                                          There was an effort to get Docker running natively on FreeBSD. Unfortunately it hasn’t been updated in years and is still at version 1.8:

                                                          https://wiki.freebsd.org/Docker

                                                          But when I tried it, I could get images to pull and run and work fairly well.

                                                        2. 1

                                                          I’ve heard, but have not tested, that people on OpenBSD use VMM to spin up Alpine and then run docker images from there. Granted you cannot actually run a swarm like that, but if you absolutely need to run a docker image, it could be a solution for a developer machine.

                                                        1. 2

                                                          FWIW, for Lets Encrypt I use acme.sh in a daily cronjob that renews the cert every 30 days (i.e. if it’s within 60 days of expiration). Then I have alerts that fire if the time runs down. It’s kind of aggressive but it protects against non-outage risks like subtle API changes or bugs.

                                                          1. 2

                                                            Does your acme.sh automatically restart your webserver processes? If so, does it run as root or do you use a sudo or something else to restart them?

                                                            1. 1

                                                              In my case it feeds the new cert into the configuration management tool and it then pushes out the new config like normal. acme.sh itself is decoupled from the web server.

                                                          1. 30

                                                            Thanks for the write-up. A lot of hard work goes in to making lobste.rs run and we appreciate it a bunch.

                                                            That prgmr’s owner is a reader and donated the hosting is great to hear. I have used prgmr in the past and have been very happy. Has anyone tried running NixOS on it? :)

                                                            1. 7

                                                              First NixOS on prgmr, then Lobste.rs on NixOS! :)

                                                              1. 4

                                                                I haven’t received any reports of users running NixOS, but typically folks would only reach out to me i they were having a problem. You can certainly boot up a live rescue and run an install over the serial console. Depending on the distribution this either ‘just works’ or requires it be told the console is on the serial port.

                                                                1. 4

                                                                  NixOS ISOs from their website do not enable the serial console by default, but building a custom ISO which does is easy enough. I did so a few days ago on Debian using nix to create an NixOS installer for my APU2:

                                                                  git clone --branch 18.03 --depth=1 https://github.com/NixOS/nixpkgs.git nixpgs
                                                                  cat > serial-iso.nix <<EOF
                                                                  {config, pkgs, ...}:
                                                                  {
                                                                    imports = [
                                                                      <nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
                                                                      <nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
                                                                    ];
                                                                    boot.kernelParams = [ "console=ttyS0,115200n8" ];
                                                                  }
                                                                  EOF
                                                                  nix-build -A config.system.build.isoImage -I nixos-config=serial-iso.nix nixpkgs/nixos/default.nix
                                                                  
                                                                2. 1

                                                                  I actually tried a few months ago, but gave up because I had thought I figured out it was impossible. Although, seeing the link that @alynpost just posted, I might give it another go when I have some free time.

                                                                  1. 6

                                                                    Some years ago, a friend taught me a simple trick which I used twice to install OpenBSD at providers where neither OpenBSD nor custom ISOs were directly supported: We would build or download a statically linked build of Qemu, boot the VPS into its rescue image and start Qemu with the actual hard disk of the VPS as disk and an ISO to boot from. Thats not too hard and works for pretty much everything where you got a rescue system with internet access. I guess it should work for NixOS too and maybe nix could even be used for the qemu build ;)

                                                                    1. 3

                                                                      If you want to give it a go and get stuck write support@prgmr.com and we’ll help you debug.

                                                                      1. 2

                                                                        Thanks! I really should have been less lazy and just asked for help last time.

                                                                  1. 12

                                                                    Because others might also find it non-obvious. Two of the announced follow-up posts are already available!

                                                                    1. 1

                                                                      Why httpd? It’s only available for OpenBSD (and maybe other BSDs), and while I haven’t (yet) looked at the script, it would seem that it offeres no specific feature, which a more portable and lightweight server like darkhttpd would offer.

                                                                      But otherwise, very interesting, I will consider maybe adopting and tweaking it to use on my site.

                                                                      Also if the “pps” value is important, consider using cmark, since it’s known for it’s speed, that is beside it being commonmark compliant.

                                                                      Edit: The choice makes sense from a OpenBSD perspective, and taking into consideration that it’s written for personal use, and not as a general replacment tool.

                                                                      1. 7

                                                                        Why httpd? It’s only available for OpenBSD (and maybe other BSDs), and while I haven’t (yet) looked at the script, it would seem that it offeres no specific feature, which a more portable and lightweight server like darkhttpd would offer.

                                                                        I think the author is an OpenBSD user, and is probably trying to do as much with the base system (which includes httpd) and a minimum of additional packages as possible. darkhttpd is an additional package, and doesn’t come with a man page.

                                                                        Also if the “pps” value is important, consider using cmark, since it’s known for it’s speed, that is beside it being commonmark compliant.

                                                                        cmark hasn’t been ported to OpenBSD yet. Granted, the author could probably build it from source or do their own port, but that would defeat the point of the exercise.

                                                                        1. 2

                                                                          Yeah I guess I should write a manpage for darkhttpd at some point.

                                                                          1. 1

                                                                            is probably trying to do as much with the base system (which includes httpd) and a minimum of additional packages as possible

                                                                            I understand that, but seeing that neither rsync, lowdown or entr are in the base system, it doesn’t seem too problematic. Especially since, this is my main point, httpd locks out all other systems from using it. To be fair, it’s a shell script and each to change, but it just seems like a weird design choice.

                                                                            1. 5

                                                                              I see what you’re talking about, but I don’t think it’s weird. I think the author is scratching their own itch, and documenting how they did it on the off chance that it’s useful or interesting to others. This isn’t an other-focused project with widespread adoption as a goal. If it were, then it would make more sense to just dump the output in a directory that could be transferred to a Apache2 or nginx host.

                                                                              Personally, I’m more surprised that the author chose to build HTML and XML files directly from the shell script instead of creating templates and populating them using sed (and maybe awk). Now that would be badass.

                                                                              1. 3

                                                                                Yes, I’m an OpenBSD user. httpd(8) can be replaced with anything, it’s just for previewing. lowdown, entr, rsync are small and easy to install software:

                                                                                # pkg_add lowdown entr rsync
                                                                                

                                                                                My HTML template is so tiny, I’ve decided to place it right into the shell script. Also it’s a bit faster than my version of my awk script.

                                                                                Thank you!

                                                                                1. 2

                                                                                  This is good stuff, and I had thought of extending it for my use case, but since I’m already getting what I want from Pelican I should stick with what works for me. Though I do use rsync to deploy; that’s baked into the Makefile. :)

                                                                                  1. 2

                                                                                    Cool! :)

                                                                                    One more point:
                                                                                    78.5MB ruby + jekyll + its dependences (25 gems)
                                                                                    0.82MB lowdown + rsync + entr

                                                                          2. 6

                                                                            The author mentions to use OpenBSD for servers and workstations, so why not? Portability isn’t so important for personal tools. And httpd is only used for the local preview feature and could easily replaced by any other http server, including python -m http.server. The 6 line httpd config is already included in the <160 lines of shell scripts.

                                                                            The script is very short, reading such a thing before commenting generally improves sites like lobste,rs ;)

                                                                            1. 2

                                                                              I just finished reading it, since I couldn’t open it on my phone (the scripts content type is application/octet-stream making it un-openable on a phone). And as I guessed, it is easy to change, but I would still maintain that

                                                                              cd "$DOCS" || exit
                                                                              doas httpd -d -f "$conf"
                                                                              ;;
                                                                              

                                                                              meaning that it requires root to run, as compared to darkhttpd which is fully functional without. It just seems like a simpler option, and again, I get it’s not a real problem, and I implied I would chance it if I were to use it anyways.

                                                                              1. 3

                                                                                meaning that it requires root to run

                                                                                It requires root to drop privileges and chroot. I wouldn’t have it any other way.

                                                                                Installing a third party daemon to avoid using the built-in features of the base system does not seem simpler really.

                                                                                1. 1

                                                                                  Installing a third party daemon to avoid using the built-in features of the base system does not seem simpler really.

                                                                                  Well it does on a non-OpenBSD system (although one should remember that darkhttpd isn’t a daemon, but a single C file server, comparable to python -m http.server), which was the perspective I was looking at it. But from the authors point of view, his choice is reasonable.

                                                                                  1. 1

                                                                                    For systems with Ruby, the httpd function from the un package is the best choice. To require un and evaluate the httpd function:

                                                                                    $ ruby -run -e httpd
                                                                                    

                                                                                    Cute right?

                                                                                    Advantages over Python:

                                                                                    • multi-threaded
                                                                                    • supports SSL / TLS
                                                                                    • suitable for production deployment
                                                                                    • automatic indexes show modification time and file size
                                                                                    • don’t have to remember if it’s -m http.server or -m SimpleHTTPServer

                                                                                    More info: ruby -run -e help httpd

                                                                                    1. 2

                                                                                      Folks, you are right, I’d use Python or Ruby on macOS, for example. Installing them on OpenBSD is not an option for me, they are huge.

                                                                                      One of the reasons to replace Jekyll is having Ruby as a dependency. With my script all I need to build my site is: lowdown(1) and rsync(1). Also both can be replaced, but they are the fastest options I’ve tried so far.

                                                                            2. 2

                                                                              Being written by the OpenBSD team implies a certain amount of simplicity, correctness, security, and documentation. Ive never heard of darkhttpd. If those are only choices, I’d default on OpenBSD’s implementation unless I had good reason to do otherwise.

                                                                              1. 2

                                                                                I would agree that httpd would be a better choice, when it comes to actually hosting the content on the web, and one could only choose between the two. But

                                                                                1. Neither is that the case (one has more options) and even then it would be bad design if necessitated the use of a server on a remote system, for static content
                                                                                2. If I didn’t misunderand anything, httpd is used to locally debug and preview ones site. I would personally argue that in this case, security would be less important if the choice means the script isn’t usable on systems, httpd doesn’t run on (which I assume is something the author wants, since the script is written with POSIX compliance in mind)

                                                                                So there seems to be a good reason, at least not to use httpd as the default server to locally preview ones site. And all I want, is to suggest darkhttpd since it actually is quite nice. suckless even recommends it, if that is a standard one can use. But in general it would be nice if one could use shell variables or something comparable to it

                                                                                1. 2

                                                                                  I havent researched enough on either solution to say much more. Someone online just yold me it was their web server to replace more bloated or messy stuff. I was just saying some will default on stuff written by people that normally focus on quality or security. We got quite a few here that like the suckless stuff, too.

                                                                                  Your reasons for checking out the other one sound good, too. I have no issue with it. Just saying why some default on OpenBSD code.

                                                                                  1. 2

                                                                                    I’ll probably remove serve from my script in the future to keep it simple. Here is my use case right now:

                                                                                    Run httpd(8) as a daemon once:

                                                                                    # rcctl enable httpd
                                                                                    # printf 'server "localhost" {\n  listen on * port 80\n}\n' > /etc/httpd.conf
                                                                                    # doas rcctl start httpd
                                                                                    

                                                                                    Then run ssg watch for previewing:

                                                                                    $ cd src/romanzolotarev.com
                                                                                    $ DOCS=/var/www/htdocs ssg watch
                                                                                    
                                                                              1. 3

                                                                                I guess the target audience is less in people who are free to choose their means of communication but more in people who are forced to use Slack if the wan’t to keep their current job. Like so many proprietary products before, Slacks secret of success not so much in its technical merits as in its marketing department.

                                                                              1. 21

                                                                                There’s no wey Slack will let this exist for very long. They are interested in closing their platform, as we’ve seen with the IRC/XMPP gateway déprécations.

                                                                                1. 2

                                                                                  I don’t think so. Wee-slack exists for nearly 4 years now, and to my knowledge, they did not have any problem so far.

                                                                                  I guess the Streisand effect is on our side for things like this. Just look at popcorn time…

                                                                                  1. 11

                                                                                    (I was mostly posting for the wey pun. Sorry.)

                                                                                    1. 4

                                                                                      Goddammit, I totally missed it ><

                                                                                    2. 6

                                                                                      Wee-slack has an extremely niche appeal. They can afford to ignore things like that because the target market is tiny. I only hope that Wee-slack doesn’t get cut off when Slack does decide to kill this new one.

                                                                                      1. 4

                                                                                        Remember that a lot of companies didn’t have problems making compatible products until companies like Microsoft and Oracle were hitting them with copyright suits claiming API ownership or patent suits over core functionality. Any group is at risk in known and unknown ways if their work builds on proprietary work by a profit-motivated, selfish company. Double true on average if it’s public like Slack intends to be.

                                                                                        1. 2

                                                                                          Just set wee-slack up, it really seems to work pretty well, I had a bit of trouble with the tokens, but besides that it’s pretty sweet.

                                                                                        2. 1

                                                                                          And even if, then the best case scenario is still to be tolerated by the owners of a proprietary product while donating them free labor to play cat and mouse with their protocol.

                                                                                          This reminds me an awful lot at the times when I used GAIM (nowadays called pidgin) because that allowed me to chat with my school friends on ICQ even though I was on Linux which wasn’t supported by ICQ itself. GAIMs was really nice, but broke from time to time when ICQ modified the OSCAR protocol, until the developers catched up.

                                                                                        1. 8

                                                                                          One of my favorite innovations of my thinkpad x220 and other modern laptops is a fixed Touch bar, supported by physical features of the laptop itself. There’s always an escape button accompanied by multiple, freely assignable function keys which all provide physical feedback so you could theoretically use them even in dark surroundings. All of this completely independent of the OS or 3rd-party applications!

                                                                                          1. 4

                                                                                            Right? Why change something that wasn’t broken? I was issued a new Mac at work almost a year ago, and tried all sorts of touch bar configurations over the past few months. In the end I always ended up accidentally tapping the buttons while typing, and actually finding the controls took longer than just using a keyboard shortcut. So I switched the settings to just making them regular function keys again. I really wish the laptop just had simple, non-touch function keys that I could feel with my fingers. The touch bar is so useless for my workflow as a software programmer. When Apple was usability testing I wonder if people actually were found to be more productive with it.

                                                                                            1. 1

                                                                                              I really wish the laptop just had simple, non-touch function keys that I could feel with my fingers.

                                                                                              It was a specific criteria I started looking for when buying laptops after my first touch-oriented laptop couldn’t handle lowering volume reliably. My last phone was also the one of two models with the physical buttons on the bottom. Makes a difference for me. I don’t feel like I’m fighting with gear that’s supposed to be making my life easier.

                                                                                            2. 0

                                                                                              Courageous design.