1. 2

    Does it support history ?

    1. 3

      It doesn’t appear so:

      $ napa open /tmp/database.napa
      Enter the passphrase: 
      
      > show example.com
      url: https://example.com
      username: atoponce
      password: q8NTOXCI5xMI42sRbMsHBpC0p
      > gen example.com
      Password for example.com already exists. Overwrite it? [y/N] y
      Password for example.com overwritten.
      > show example.com
      url: https://example.com
      username: atoponce
      password: ThCyk60n8zyf5uzE4oqJefRQ9
      
      1. 1

        Oh, thanks for checking. History would be nice to have though.

        1. 2

          Definitely.

    1. 4

      I’ve been running our own email hosting (personal) for only a decade, but haven’t run into any such deliverability related problems. If one is not sending bulk/unsolicited email, and is good on SPF/DKIM/DMARC practices, and not hosting any kind of malware, or malware operations, then that problem is mostly non-existent. The only time one may have trouble is when one end up being a participant in backscatter, which can be easily avoided by performing anti-spam checks at the time of connection, instead of delaying for later, therefore not bouncing back any email. Unless one is receiving tonnes of emails per minute that this strategy may start becoming a bottleneck. Even LKML subscriptions by couple of our users cause us no problem.

      OTOH, I would invest in a backup MX which can hold your email, if one’s primary MX is down for maintenance, but this I guess you’re already aware of.

      1. 1

        Yup, invested in a small slice for a backup MX years ago. It’s paid off several times. However, I have had deliverability problems with T-Mobile and Microsoft which required some cracking heads with their support staff (they simply had banned entire netblocks), so it certainly happens.

        1. 1

          I don’t think I sent as many emails to Microsoft, or T-Mobile to notice if my network block is blocked on their side. Or maybe just lucky in terms of hosting I use, which is Hetzner.

      1. 3

        Besides the purple code on purple background, this was very interesting!

        1. 4

          Sorry about that. I didn’t develop the sites color scheme with so many types in mind and I did notice it’s a bit hard to read on some monitors (but of course it looked fine on the monitor I was using to write the post). I’ll try to tweak the theme a bit soon to improve contrast.

          1. 3

            +1, and easy to understand. I definitely understand things much better.

            Thank you!

          1. 5

            That’s exactly how I started programming too in 1994 :)

            1. 2

              Is there such a FOSS self-hosting [mf]ilter available ?

              1. 2

                Sucks, but apparently this is good enough in evading those blocks:

                $ipfw -q add deny all from $i to any in via $if ipttl 57-64 proto tcp tcpflags rst src-port 443

                (Assuming the actual hops are not with in 57-64 TTL)

                1. 1

                  And for older OpenSSH where this is unavailable, try "-oProxyCommand=ssh -W %h:%p bastion-host"

                  1. 1

                    And OpenSSH wikibook has even a fancier version.

                  1. 4

                    I have only glanced at it, and interested in trying it out. Maybe this weekend.

                    Is it tied to GNU/Linux, or can one use it on BSDs as well ?

                    Thanks!

                    1. 5

                      Its not fundamentally tied to a linux kernel, but for now that is the only OS with a package set, and the sandboxing mechanisms would need to be altered/rewritten for different platforms.

                      That being said, I was previously a freebsd user and openbsd user so have quite a lot of interest in making it work, though perhaps not the resources.

                      1. 2

                        Thanks, that’s reassuring. I guess core.hpkg is hpkgsstdenv. So on a new platform, need to make sure that bootstraps ?

                        1. 2

                          More or less, right now seed.hpkg contains a statically linked gcc + a statically linked busybox, everything starts from those two. Hermes is able to build the seed again via core.hpkg and seed_out.hpkg.

                    1. 24

                      I’m gonna go with Qt on this one. I learned it a long time ago (I think it was still at version 2!) and it never really let me down. It’s got very good documentation, and it’s pretty reliable for long-term development. I have projects that have been through three Qt versions (3.x, 4.x, 5.x) and the migration has been pretty painless each time. It’s not on the nimble end of the spectrum and it’s C++, but I found it to be the most productive, even though the widgets library hasn’t been as high on the parent company’s priority list. (They insist that’s not true but actions speak louder than words…). I’ve used it for huge projects (200 KloC+) and it held out great.

                      I used GTK 2 back in the day, too, and while some bits weren’t exactly enjoyable, it was generally efficient, and it was a pretty safe bet for cross-platform development, and an especially safe bet for Linux and Unix development. I really wanted to like GTK 3. I don’t know if it’s because I’m getting grumpy and impatient, or if there really is something objectively wrong with it, but I didn’t manage to like it, and now I tend to avoid it, both when it comes to writing code that uses it and when it comes to using applications written against it. Also I’m not sure how its cross-platformness is doing these days.

                      I’ve played with Dear ImGui and I can definitely say I enjoy it. I’ve used it for some pretty small and special-purpose tools (and obviously you get about as much native integration with it as you get with Electron :P) but I definitely had fun with it. I’ve also

                      1. 6

                        I’m also a big fan of QT, and in particular, QtQuick is the single most productive rapid prototyping platform I’ve ever used (beating out even Visual Basic and Electron). The first app I ever wrote with it started out as an excuse to learn Qt Quick, and I had a working, polished app within two weeks.

                        1. 4

                          I really like Qt as well. I recently started building things with PyQt5 and it’s been pretty nice to work with:

                          https://gitlab.com/djsumdog/mpvbuddy

                          1. 2

                            +1 for Qt. I was surprised to see Telegram’s desktop client not using Electron, when every popular IM client is using it, and the UI seems much faster, and pleasant to work with. Another advantage is, Qt is available on more platforms than Electron, so if you like to be portable, don’t want to be limited by GNU/Linux, Windows, or macOS, then Qt is a good choice.

                            1. 1

                              I’ve also

                              Did you intend to continue?

                              1. 2

                                Did you intend to continue?

                                It looks like I did but whatever I wanted to say has long been swapped to the write-only section of my memory :)

                              2. 1

                                Happy with Qt too, but only when keeping the project up to date (and then it’s much easier with small projects). The least progress I’ve ever made as part of a software team was when we had a long-running Qt app where some parts were Qt5-ready, but we were mostly building with Qt4 and even then using 3-to-4 adapters in parts. Not that this isn’t true of other frameworks, but that sticks out as a raw nerve in my memory.

                                I’ve also used wxwidgets (but long enough ago that I don’t remember much specific, it seemed to work), GNUstep (OK if you don’t use any super-modern Cocoa APIs, where the approach to claiming 100% coverage has been to stub out all of the implementations), and Eclipse RCP which is a real curate’s egg.

                              1. 10

                                Maybe I’m one of those people who want instant gratification too much but I’ve not been a huge fan of man pages on Linux for as along as I have used them. I need a second terminal, they’re often structured in a way that is not easy for me to process and in general I need nothing for some tools and always need to look up something for other tools, e.g. if it is -o or -O for curl. searching for that in the curl manpage sucks.

                                More alternatives to easily look up things - yes, please.

                                – link via @tlcu in #lobsters

                                1. 5

                                  I didn’t used to like man pages, but I really like them now, especially the well written ones. This tends not to be GNU ones since they just tell me to use info, but I no longer use GNU tools much at all (apart from Emacs, which is different enough anyway that I don’t mind doing things a bit differently).

                                  My one gripe with man pages is that depending on the pager in use, search doesn’t always work that well. I only really have the issue with more on Ubuntu but it’s still frustrating sometimes.

                                  1. 3

                                    I use nvim as man pager. It also allow to have nice colors.

                                    export MANPAGER="nvim -u NORC -c 'set ft=man' -"
                                    
                                    1. 2

                                      Does that work okay? I tried PAGER=vim once and iirc it took a really long time to fill the buffer with the text. Now more (or Emacs man) does just work for me as I don’t use syntax highlighting nor Vim bindings.

                                      1. 3

                                        Yes, the trick is the use of -u NORC to not loading the normal config, which can be heavy to load depending on installed plugins.

                                      2. 1

                                        Thanks for sharing, this is pretty cool.

                                      3. 2

                                        Does ubuntu not package less,or did you decide to use more?

                                        1. 1

                                          Yeah less is the default, but I set it to more when I started to use OpenBSD as it worked fine there. It seems there are some slight differences in how it works.

                                          1. 1

                                            From the Ubuntu more manpage:

                                            this version is especially primitive.

                                            1. 2

                                              That would explain it. Now when I use Ubuntu I just use less because they act similarly enough.

                                      4. 4

                                        I mostly use tldr as a way to avoid hunting for those kind of flags, and the cheat.sh is a very nice backup when networked. I just started writing so if anyone has advice I’m happy to take it.

                                        1. 1

                                          I need a second terminal

                                          This is one of my favourite things about the macOS terminal. The help menu on any Mac application has a search function that indexes menu and help items. On the macOS terminal, it also searches man pages. If you select one, it will open a new terminal window with a yellow background and no pager so you get the full text (searchable and you can scroll in the term).

                                        1. 1

                                          Can’t wait for Raspberry Pi to launch one with 32G RAM, hopefully competition will drive others to follow the suit ;-)

                                          1. 2

                                            Not necessarily soldered. SO-DIMM and M.2 should be an instant hit, but doesn’t exist yet, or I would have bought it.

                                          1. 1

                                            It would be nice if it’s on quicklisp repositories, would be much easier to try out. Also as I find out while trying to make it work, one of its dependencies re conflicts with a similarly named system. Need more conflicts!!! :D

                                            1. 3

                                              It’s on ultralisp. Did not test it yet though.

                                              Please use repo for pulling dependencies from git.

                                              Or the packaged file adams-0.1-deps.tar.gz on github release page, it’s all BSD/MIT licensed.

                                              1. 1

                                                In Ultralisp too, it’s the same conflict:

                                                [package adams-user].......;
                                                ; caught ERROR:
                                                ;   READ error during COMPILE-FILE:
                                                ;
                                                ;     no dispatch function defined for #\~
                                                ;
                                                ;       Line: 72, Column: 17, File-Position: 2543
                                                ;
                                                ;       Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /home/abbe/quicklisp/dists/ultralisp/software/cl-adams-adams-20200413010814/core/syntaxes.lisp" {100CF48003}>