1. 10

    At ${job}-2 I gave this a lot of thought and wrote a detailed guide on our conventions at the time: A Proper Server Naming Scheme. Essentially, the hardware would get a permanent/unique name for its lifecycle, and then CNAMES were added with more conventional structured names and convenience names. One detail I liked was using the UN/LOCODE codes instead of IATA airport codes for more specific geographic information.

    These days, I do a lot more work with dynamic/ephemeral hosts where it doesn’t come up as much; but, we still do have some static hosts and have settled on:

    <role>-<id>.<project>.<datacenter>.<provider>.<tld>
    

    …which ends up looking something like this for a Jenkins worker, for example:

    worker-0428a29567cb818a7.build.us-west-2.aws.example.com
    

    That said, being 100% in the cloud changes the situation a bit compared to pointing at bare metal in your own data centers.

    1. 2

      That’s an excellent naming scheme, which I’ve been using since a few years when there are less than 100 physical servers. I’ve found that above that number I’m more likely to use ephemeral hosts, where I do not really care what the naming scheme is because I very rarely need to connect to them.

      1. 1

        And then the hostname -s maps perfectly to this, and you can use hostname worker-0428a29567cb818a7.build.us-west-2.aws.example.com in confidence.

        I might copy-cat you…

        This also works in case of VM migration, which means network name change (unless you use loopback IPv6 everywhere then IPs might follow your VMs).

        Even bare metal in your datacenters can make use of this scheme I guess…

      1. 3

        Ranger is simply awesome. It could be faster tho but amazing anyway.

        1. 4

          You might want to give lf a shot…it’s heavily inspired by Ranger, but written in Go. It’s what I’ve settled on for file navigation within my text editor of choice.

          1. 1

            I am so happy now.

            1. 1

              Doesnt work on Enter-PSSession on Windows tho…. Test it with etsn localhost; lf and you will get a black window. But stuff rarely do for some reason. Even less makes a problem.

          1. 2

            Not having used either in depth, but understanding the benefits of adding an abstraction layer on top of YAML/JSON configurations, I more wonder how CUE compares to something like Dhall in real world usage. They both seem to have some unique ideas, but CUE initially seems friendlier to me coming from a non-Haskell background.

            1. 5

              The text macros I get, this is clearly a refined system and it’s impressive but I get it. I completely do not get how he’s producing those diagrams in realtime in the middle of a lecture though, so this blog post is a cliffhanger :-)

              1. 3

                I really want to see how the diagrams happen. My thoughts: diagrams on a sketchpad that are later imported (or imported with a script??).

                I used to take notes in LaTeX for 2 courses, for diagrams I would draw them in my notebook and then make diagrams and graphs after class. I stopped doing it because it got to a point where I was trying to fix a latex error and I would ignore the content. I think what would’ve worked best for me would be to take notes in LaTeX during class, but only try to compile it and fix errors after class.

                1. 2

                  Have a look here!

                  1. 1

                    You have a really awesome workflow. Thanks for sharing!

                2. 2

                  I just published the follow-up blog post here!

                  1. 1

                    I was wondering how you did it, if there was a bit of a cheat maybe, and I’m delighted to see that the answer is “streamlining and lots of practise with inkscape”! This is inspirational stuff, keep it up :-)

                  2. 1

                    I think the answer is mentioned but the setup isn’t described. He’s using SyncTeX with his PDF viewer Zathura sitting next to his terminal that’s running Vim. I agree, it’s a super slick setup to watch in real time.

                    1. 2

                      Re-reading you comment, I see that you meant the graphical diagrams and not just the LaTeX generation…that would be interesting to see.

                  1. 1

                    It’s a very interesting protocol indeed. There’s already a Rust implementation, server only (for now?).

                    BTW, on the project page:

                    At the moment we use tlsdate in some cases but that is incompatible with TLS 1.3.

                    I wonder if OpenNTPD will be compatible…

                    1. 1

                      There’s also both a C++ and Go implementation in the upstream repo. I don’t think OpenNTPD would ever support Roughtime though, as it’s a completely different protocol.

                      On the tlsdate side of things, the TLS 1.3 incompatibility comes from the change to timestamps being OPTIONAL due to performance reasons. Roughtime seems more interesting to me due to the additional features it offers.

                      1. 1

                        Uh, I meant TLS 1.3 in OpenNTPD. So yeah I guess that’s not tlsdate specific then…

                    1. 7

                      I’ve had some experience trying to track down old projects after their original site has long-since faded away, and it’s not an easy task (even with archive.org doing so much). I keep thinking about having an easy workflow to cache content/bookmarks and store them in IPFS for anything that I don’t want to end up missing, but organization and discoverability is a hard problem.

                      1. 3

                        I use a custom bash script. What is the advantage of Stow? The advantage of my solution is that it does require to install stow. I use this on machines, where I have no root/sudo access.

                        1. 3

                          I used a custom bash script for a long time, but eventually switched to Stow and a custom Makefile. For me, the advantage is mostly organizational. It’s nice to install a subset of configs, have different configs depending on operating system or environment, an easy ability to remove the configs, etc. The flexibility of the --no-folding option is also nice depending on whether or not everything in a directory is managed via Git.

                          There are a lot of dotfile management frameworks out there, but Stow is a very simple tool that’s ubiquitously available as a package, but also trivial to bootstrap into a local directory if you don’t have admin rights on a machine.

                          $ mkdir -p ~/.local/src
                          $ cd ~/.local/src/
                          $ curl https://ftp.gnu.org/gnu/stow/stow-latest.tar.gz | tar xvf -
                          $ cd stow-2.2.2/
                          $ ./configure --prefix=/home/elasticdog/.local
                          $ make
                          $ make install
                          
                          1. 2

                            As it’s just a Perl script with few dependencies you can also just install it into your dotfiles. You can then clone your dotfiles and literally stow stow (ala. cd dotfiles && stow/bin/stow stow). Now you have stow symlinked into ~/bin and you’re good to go :)

                            1. 2

                              That’s a great point…I think I’ll steal that for my own setup. Thanks!

                          2. 2

                            I also just use a script. It seems so trivial to me, a new piece of software shouldn’t be necessary.

                            1. 2

                              One feature of Stow that I find useful is the ability to undo the symlinks. I use that feature to install two versions of a program in /usr/local/stow and easily switch between the two.

                            1. 1

                              Has anyone ever experienced trouble with the fskobjects options? I’m curious how you would fix an issue if git every found one

                              1. 1

                                I’m curious about this as well…I’ve cloned third-party repos that have choked due to fsckobjects, but I’ve always just temporarily turned that off to proceed and have not looked into how you would actually fix it. I’d guess though that any fix would require a force push on the repository, which could alter quite a bit of history and be problematic for well-established repos.

                              1. 12

                                I’m a big fan of command line accounting software, and use a similar program to ledger called beancount, with fava as an alternative GUI for introspection. Here’s a good breakdown on the differences between beancount and ledger. I do a lot of input manually, but there are a bunch of scripts out there to try and download and auto-classify transactions to make maintaining transactions a bit easier.

                                EDIT: Also, this is a great resource for all projects like ledger: http://plaintextaccounting.org/

                                1. 4

                                  I’m with @elasticdog, I prefer Beancount, too. It has more checks builtin to detect mistakes (protecting me from myself) and fava’s pretty sweet. My family also uses Moneydance (also recommended, but not command line) and I export that data as XML and swizzle it into Beancount. Very happy with this system.

                                  Martian has done a great job documenting Beancount, too. Checkout the Cookbook and all the Beancount documentation.

                                  1. 1

                                    Thanks for these resources.

                                    I manage to balance my entire year’s accounting using Ledger every year. It’s a marathon session every time, but it works. It also may be time for me too look at improving my process.

                                    1. 1

                                      Yes, thanks for the link! I’ve tried to read introductions to accounting before, but I have quickly been defeated. I just started reading the one by Beancount’s author here and it’s the only one that’s ever really been helpful. The focus on +/- rather than debit/credit makes so much more sense to me.

                                    1. 2

                                      My company pays for a laptop and display of our choice up front (there’s a limit, but it covers a decked out 13" MBP and Thunderbolt Display). They also allow for $1,000 in incidental office equipment (desk, chair, keyboard, etc.). I don’t get reimbursed for Internet service, but can file monthly for a flat $50 toward my cell phone bill. My company will also pay up to $500 monthly for co-working space, but I haven’t taken advantage of that perk.

                                      1. 2

                                        Up to $500 monthly! Wow. My private 10m^2 rented office is about a third of that :-D (I’m in room 203.)

                                        1. 1

                                          Interesting, my local co-op charges $499 for a private office with sketchy wifi and no air conditioning.