Threads for pronoiac

  1. -1

    This reminded me to open my mail app, to let it sync up my Gmail.

    1. 1

      While I was bringing up a new Mac for family, something snarled up my Time Machine backups, making it start over with a fresh backup; I’m working on getting the old one back on track, so I don’t lose any history, and so I can free up some space. Use a terabyte here and a terabyte there, and eventually you’re dealing with real disk space!

      I might also go shopping to replace my Mac, which hits end of life on support soon. I’d upgraded the drive quite a bit, so that might be unpleasant. I might also work on decluttering it.

      I saw Randall Munroe, the xkcd creator, speak with Adam Savage this week; it made me want to build something. Maybe it’s just a looong blog post about Time Machine hijinks, or maybe that’s more a GitHub repo, I can’t tell yet.

      1. 1

        If you want to test a drive, F3 (Fight Flash Fraud) could be useful.

        On the orange site, I mentioned that I used openssl to write, then count, encrypted zeroes as a way of verifying capacity, which didn’t require a new binary. Someone suggested using a cryptographically secure random number generator with a specifiable seed, and that might be interesting.

        1. 2

          Huh! I’m in San Francisco and interested in this. I’ve been checking out various OCR engines for another project, including self-hosted. I hadn’t gotten around to trying AWS Textract yet.

          1. 1

            Neat! I have a lead on how I’d pull SFBOS (and associated committee) data going back to 2012, but the blocker right now is AWS cost

            1. 2

              Mozilla’s (now delisted) screenshot app is based on MLKit’s v1 OCR. I’ve been intending to turn v1 and/or the v2 beta into a personal OCR service. Until recently, I’d frequently used the app to look for an exact screenshot out of 33k and have only encountered character misclassifications once or twice in the past 3 years.

              Unfortunately, even if I was willing to pay for an OCR SaaS, the content is often very private so offline OCR is the only option

          1. 2

            Should I request something by LCD Soundsystem, or is that too obvious?

            1. 4

              Reminds me of the long list of acoustic attacks on hard drives with the most amusing demonstration being: https://www.youtube.com/watch?v=tDacjrSCeq4

              1. 9

                That was linked in the article, btw.

              1. 3

                An update was posted around three hours ago. After sorting, instead of starting with the next neighbor, which is likely very similar, start with the next neighbor without overlap in letters. It runs in under three seconds now!

                1. 4

                  This is obviously a screenshot of KDE. I can’t say whether this blog is trolling or just ill-informed.

                  1. 6

                    It’s tagged here as “satire”. There are some joke articles on the site, though also some more serious articles,

                    1. 2

                      Thanks. I missed the tag, clearly.

                      1. 1

                        Satire and Linux, so I hoped the joke was clear enough. Although, windows 11 light theme could pass for kde in a short glance. Lunduke has good stuff, sometimes serious, sometimes historical, but sometimes also phoronix level clickbait.

                      2. 1

                        The shiny new “Dolphin” file manager was a dead give-away, tag or no :)

                      1. 2

                        I’ve picked up some used hard drives for NAS usage from a new-to-me vendor, and I’m writing encrypted zeroes to them to verify the surface and that the firmware isn’t lying about capacity. More the second, as smartctl tests already passed.

                        Maybe I’ll gather notes on migrating Time Machine from external drives to a network folder. It’s surprising how many detours can be involved.

                        1. 1

                          Cool! I want to know more about the tarball chunks; as it is, I can’t gauge how hard it is to prune old backups.

                          1. 1

                            thanks! after a data loss event, i swore: never again.

                            backups are meant to be immutable. the hash of the tarball is commited to the index.

                            not sure what your pruning use case is, but i’m sure the design could be changed to accommodate it.

                            you could edit existing tarballs, deleting content you don’t want to keep, then mutate it in object storage and update the index.

                            however, it is not a goal of this at present.

                            1. 2

                              Think about the space consumed; will it grow without bound? Will restoring a system get slower, the more numerous backups will be referenced?

                              You could follow something like Time Machine defaults, or keep n hourly backups, X daily backups, Y weekly backups, Z monthly backups, and m annual backups. A common name for this is Grandfather-father-son.

                              Do you want to hold hourly or daily backups for, say, five years? (I don’t.) Tarsnap is notably faster when working with less data, so I don’t keep daily backups forever.

                              1. 2

                                Think about the space consumed; will it grow without bound? Will restoring a system get slower, the more numerous backups will be referenced?

                                yes. storage will grow without bound. one easy strategy would be to periodically start a new backup, and destroy all storage associated with an old backup. this would destroy all history and reset state to the current local state.

                                You could follow something like Time Machine defaults, or keep n hourly backups, X daily backups, Y weekly backups, Z monthly backups, and m annual backups. A common name for this is Grandfather-father-son.

                                true, and that’s a good model. what wanted was something more like git. i don’t expect git to randomly prune old commits or destroy random blobs from history. i expect git to preserve exactly what i commited.

                                Do you want to hold hourly or daily backups for, say, five years? (I don’t.) Tarsnap is notably faster when working with less data, so I don’t keep daily backups forever.

                                i am not familiar with the internals of tarsnap. here i am creating a single text file containing the metadata of the filesystem. this file is versioned in git. a new backup will do a linear scan over the complete modification history of this file via git log -p index. like storage used, this file grows without bound. this linear scan will eventually become annoyingly slow. i assume tarsnap slowdowns are from a similar reason.

                                when that happens, i will create a new backup, but not destroy the old one. this new backup will not be able to deduplicate against the old backup, and so it will copy to storage any files in current local state that already exist in the previous backup. some storage is wasted, but the index history is truncated. nothing is lost, since the old backup is still accessible.

                                my backup index is currently:

                                >> wc -l index
                                
                                101965 index
                                

                                my backup index revision history is currently:

                                >> time git log -p index | wc -l
                                
                                518572
                                
                                real    0m12.136s
                                user    0m11.745s
                                sys     0m0.465s
                                

                                backup-add currently looks like this:

                                >> time backup-add
                                
                                scanned: 101971 files
                                new data size: 0.89 mb
                                
                                real    1m9.056s
                                user    0m57.498s
                                sys     0m11.347s
                                
                                >> df -h
                                Filesystem           Size  Used Avail Use% Mounted on
                                zroot3/data/home     194G   74G  121G  38% /home
                                

                                once scanning index history is slower than blake2b scanning the filesystem, i will probably start a new backup.

                                remote storage for the 96 backups i’ve made in the current backup look like this:

                                >> aws s3 ls $bucket/$backup/git/ | py 'sum([int(x.split()[2]) for x in i.splitlines()])' | humanize
                                68 MB
                                
                                >> aws s3 ls $bucket/$backup/tar/ | py 'sum([int(x.split()[2]) for x in i.splitlines()])' | humanize
                                4.3 GB
                                
                                >> aws s3 ls $bucket/$backup/tar/ | wc -l
                                96
                                
                                
                          1. 1

                            I tracked down the docs repo and filed issues. I’d suggest linking the repo from the blog post.

                            1. 1

                              Thanks, I assumed that Gitbook would allow users to suggest edits from the Gitbook page, but that doesn’t seem to be the case. Updated the docs now to include the details on where to open PRs and issues.

                            1. 44

                              Tabs have the problem that you can’t determine the width of a line, which makes auto-formatted code look weird when viewed with a different width. And configuring them everywhere (editor, terminal emulator, various web services) to display as a reasonable number of spaces is tedious and often impossible.

                              1. 24

                                I agree with you, tabs introduce issues up and down the pipeline. On GitHub alone:

                                • diffing
                                • are settings are per person or per repo
                                • yaml or python, where whitespace is significant
                                • what if you want things to line up, like comments, or a series of statements?
                                • combinations of the above interacting

                                If you’re turning this into, say, epub or pdf, would you expect readers and viewer apps to be able to adjust this?

                                I fixed up some old code this week, in a book; tabs were mostly 8 spaces, but, well, varied chapter by chapter. Instead of leaving ambiguity, mystery, puzzling, and headaches for future editors and readers to trip over, I made them spaces instead.

                                1. 8

                                  I don’t get the point about yaml and python. You indent with tabs, one tab per level, that’s it. What problems do you see?

                                  1. 4

                                    In the Python REPL, tabs look ugly. The first one is 4 columns (because 4 columns are taken up by the “>>> “ prompt), the rest are 8 columns. So you end up with this:

                                    >>> for n in range(20):
                                    ...     if n % 2 == 1:
                                    ...             print(n*n)
                                    
                                    1. 9

                                      When I’m in the Python REPL, I only ever use a single space. Saves so much mashing the spacebar and maintaining readability is never an issue as I’m likely just doing some debugging:

                                      >>> for n in range(20):
                                      ...  if n % 2 == 1:
                                      ...   print(n*n)
                                      
                                      1. 3

                                        True, but this shows that tabs don’t work well everywhere. Spaces do.

                                        1. 1

                                          Unless you use a proportional font.

                                          1. 2

                                            Even with a proportional font, all spaces have the same width.

                                    2. 3
                                      def a():
                                      	x
                                              y
                                      

                                      The two lines look the same, but they’re not to the python interpreter, even though you could use just spaces or just tabs.

                                      1. 17

                                        Don’t mix tabs and spaces for indentation, especially not for a language where indentation matters. Your code snippet does not work in Python 3:

                                        TabError: inconsistent use of tabs and spaces in indentation

                                        1. 1

                                          That was my point.

                                          1. 3

                                            Your point is don’t mix tabs and spaces? Nobody proposed that. The comment you responded to literally states:

                                            You indent with tabs, one tab per level, that’s it.

                                            Or is your point don’t use tabs because if you mix in spaces it doesn’t work?
                                            Then my answer is don’t use spaces, because if you mix in tabs it doesn’t work.

                                    3. 8

                                      what if you want things to line up, like comments, or a series of statements?

                                      https://nickgravgaard.com/elastic-tabstops/

                                      1. 2

                                        I appreciate that this is still surfaced, and absolutely adore it. I’d have been swayed by “tabs for indenting, spaces for alignment, for the sake of accessibility” if not for Lisp, which will typically includes indents of a regular tab-width off of an existing (arbitrary) alignment, such that indentation levels don’t consistently align with multiples of any regular tab-stops (eg. the spaces preceeding indention level 3 might vary from block to block depending on the context, and could even be at an odd offset). Elastic tab-stops seem like the only approach that could cator to this quirk, though I haven’t tried the demo with the context in mind.

                                        I also lament the lack of traction in implementations for Emacs, though it’s heartwarming to see those implementations that are featured. Widespread editor support may be the least of the hurdles to adoption, which feels like a third-party candidate in a two-party system. Does .editorconfig include elastics as an option? I’m not sure exactly how much work adding that option would entail, but that might be a great way to contribute to the preservation of this idea without the skills necessary to actually impliment support in an editor.

                                      2. 9

                                        what if you want things to line up

                                        Easy. Don’t.

                                        If you want to talk about diffing issues, then look at the diffs around half the Haskell community as a new value being longer requires a whole block to shift and either a bunch of manual manipulations or having to run a tool to parse and set your code just because you felt like things had to line up.

                                        1. 3

                                          what if you want things to line up, like comments, or a series of statements?

                                          Then you put spaces after your tabs. https://intellindent.info/seriously/

                                        2. 2

                                          I use tabs and autoformatters. I don’t think my code looks weird with any width between 2 and 8. What kind of weirdness do you refer to? About configuring, most developers have a dotfiles repo and manicure their setup there, why would setting a tabwidth there be more tedious than what most people do already anyway?

                                          1. 5

                                            Let’s say that you have the maximum line length set to 24 columns (just to make the example clear). You write code like this:

                                            if True:
                                                print("abcdefg")
                                                if False:
                                                    print("xyz")
                                            

                                            With the tab width set to 4 columns, your autoformatter will leave all lines alone. However, if someone has the tab width set to 8, the fourth line will overreach the limit. If they’re also using the same formatter, it will break up the fourth line. Then you’ll wonder why it’s broken up, even though it’s the same length as the second line, which wasn’t broken up. And your formatter might join it up again, which will create endless conflicts.

                                            1. 4

                                              Optimal line reading length is around 60 chars per line, not 60 characters including all leading whitespace. Setting bounds based on character from column 0 is arbitrary, and the only goal should be not too many characters per line starting at the first non-whitespace character (and even this is within reason because let’s be real, long strings like URLs never fit).

                                              1. 3

                                                Setting bounds based on character from column 0 is arbitrary

                                                Not if you print the code in mediums of limited width. A4 paper, PDF, and web pages viewed from a phone come to mind. For many of those a hard limit of 80 columns from the start is a pretty good start.

                                                1. 1

                                                  That is a fairer point as I was referring to looking at code in an editor–reason being that we’ve been discussing mediums where users can easily adjust the tab-width which is more on topic than static mediums. Web pages are the weird one where it should technically be just as easy to configure the width, but browsers have made it obnoxious or impossible to set our preferred width instead of 8 (I commented about it in the Prettier thread as people seem so riled up about it looking bad on GitHub instead of seeing the bigger picture that GitHub isn’t where all source code lives).

                                                  1. 5

                                                    Note that my favourite editor is the left half of my 13-inch laptop screen…

                                              2. 1

                                                I never really understood the need for a maximum length when writing software. Sure it makes sense to consider maximum line length when writing for a book or a PDF, but then it’s not about programming but about typesetting; you also don’t care about the programming font unless you’re writing to publish.

                                                If you really want to set a maximum line length, I’d recommend to have a maximum line length excluding the indentation, so that when you have to indent a block deeper or shallower, you don’t need to recalculate where the code breaks.

                                                But really don’t use a formatter to force both upper and lower limits to line lengths; sometimes it makes sense to use long lines and sometimes it makes sense to use short lines.

                                                1. 5

                                                  Maximum line length makes sense because code is read more often than it’s written. In terms of readability, you’re probably right about maximum line length excluding indentation. But on the other hand, one of the benefits of maximum line length is being able to put multiple text buffers side-by-side on a normal monitor. Perhaps the very smart thing would be a maximum of 60 chars, excluding indentation, with a max of 110 chars including indentation. Of course, you have to treat tabs as a fixed, known width to do that.

                                                  1. 3

                                                    I never really understood the need for a maximum length when writing software.

                                                    There are a bunch of editing tasks for which I want to view 2 or 3 different pieces of code side by side. I can only fit so many editors side by side at a font size that’s still readable.

                                                    • looking at caller and callee
                                                    • 3 way diff views
                                                    • old and new versions of the same code
                                                    1. 3

                                                      Personally, I hate manually breaking up lines when they get too long to read, so that’s what an autoformatter is for. Obviously the maximum readable length differs, but to do it automatically, one has to pick some arbitrary limit.

                                                      1. 1

                                                        Sure, but there’s a difference between breaking lines when they get too long, and putting them together again when they are too short.

                                                        When I use black to format Python code, it always annoys me that I cannot make lines shorter than the hard limit. I don’t really care that I can’t make them longer than some arbitrary limit. Sure, the limit is configurable, but it’s per-file, not per-line.

                                                        If the problem you have is “where should I split this 120-character one-liner that’s indented with 10 tabs”, then tabs aren’t your problem.

                                              1. 17

                                                I know everyone loves to write stuff in rust, but why not use unix tools you already have?

                                                find . -type f | xargs -n 1 -P 4 shasum -a 512 > files

                                                some time later

                                                find . -type f | xargs -n 1 -P 4 shasum -a 512 > files2

                                                and finally you can use diff to find differences. Probably best to throw in a sort after the find for better diffing.

                                                It is all already there, right on your system.

                                                1. 13

                                                  You need a sort, then you need a diff that doesn’t show additions only deletions and changes, then you need the file2→file shuffling at the end, and pretty soon you have yourself a chunky script—and you haven’t even gotten to pretty-printing a progress bar. I’m a shell scripting junkie but this comment is not fair to what the tool in this post is actually doing.

                                                  1. 3

                                                    Okay, this was a 5 minute hack. I can spend 10 more minutes on it and it does everything the tool does (minus the porgress bar). The point is that the unix philosophy tells us that you should combine the tools you have to build higher level tools and this is perfectly doable in no time for the problem at hand.

                                                    1. 18

                                                      OK, but maybe one can interpret this as the “tools you have” being Rust packages, and you combine them in Rust? Then you get the benefit of using a modern language with data types and stuff, instead of a gnarly shell with WTF syntax* whose only data type is byte-streams.

                                                      * I know there are shell enthusiasts here, but really, if it didn’t exist and anyone announced it as a new programming language they’d be laughed out of town IMO.

                                                    2. 2

                                                      With Relational pipes:

                                                      find -type f -print0 | relpipe-in-filesystem --file path --streamlet hash --relation files_1 > ../files_1.rp
                                                      # do some changes
                                                      find -type f -print0 | relpipe-in-filesystem --file path --streamlet hash --relation files_2 > ../files_2.rp
                                                      cat ../files_*.rp | relpipe-tr-sql --relation 'diff' "SELECT f1.path, f1.sha256 AS old_hash, f2.sha256 AS new_hash FROM files_1 AS f1 LEFT JOIN files_2 AS f2 ON (f1.path = f2.path) WHERE f1.sha256 <> f2.sha256 OR f2.path IS NULL" | relpipe-out-tabular
                                                      

                                                      And get result like this (I removed bash-completion.sh, modified CLIParser.h and added a new file that is not listed):

                                                      diff:
                                                       ╭──────────────────────┬──────────────────────────────────────────────────────────────────┬──────────────────────────────────────────────────────────────────╮
                                                       │ path        (string) │ old_hash                                                (string) │ new_hash                                                (string) │
                                                       ├──────────────────────┼──────────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────────┤
                                                       │ ./bash-completion.sh │ 3f8c20eb917302c01a029711e3868665185c314d4a8d32cc2dfe1091521402c8 │                                                                  │
                                                       │ ./src/CLIParser.h    │ ba75414ced3163ce2b4a31f070a601d27258750806843bb18464e5efb5bc71fd │ 3f64b56674587f3b4130d531d46b547a44c18523abf0c4a3c09696277a4de6f0 │
                                                       ╰──────────────────────┴──────────────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────╯
                                                      Record count: 2
                                                      

                                                      I use this to catalogize some removable/remote media and search them offline.

                                                      1. 1

                                                        git diff --no-index --diff-filter=MD. I use git diff --no-index quite a lot (as an alias) as I like it over the plain diff command.

                                                        1. 1

                                                          I love myself a good progress bar ! :D

                                                        2. 11

                                                          I know everyone loves to write stuff in rust, but why not use unix tools you already have?

                                                          For me personally it was few different things.

                                                          • I like Rust, we don’t use it at work much so trying to not forget how to use it by writing small programs like those.
                                                          • speed - the computations are heavily parallelised, which was easier for me to write in Rust than using e.g. gnu parallel
                                                          • cannot stress enough how I love progress bars, and writing a decent one in a shell scripting language exceeds my allocated brain points :D
                                                          1. 7

                                                            find piped to xargs is a great example of something I just never use anymore, now that I have a Rewrite It In Rust™ version (fd). Nice and simple:

                                                                fd -t f -x shasum -a 512
                                                            

                                                            Let’s see how it compares to your version . . . Whoops! Your version doesn’t work at all! It breaks with lots of perfectly valid filenames. To fix that, I have to add -0 and -print0, so it’s even more awkward to use, and it’s still slower than fd.

                                                            I don’t use too many of the Rewrite It In Rust™ tools myself, but fd and rg are really nice.

                                                            As an aside, you should also probably get out of the habit of running find . and redirecting it to a file in the current directory, since find is likely feeding its output back into itself. When I run your find, I end up with a checksum for files which isn’t right anymore by the time find finishes running. It’s probably not what you wanted.

                                                            1. 1

                                                              Yeah. I also avoid xargs, and use find -exec instead. I definitely like the single character flags in fd, though.

                                                              1. 1

                                                                I think the difference is find -exec alone isn’t parallel, you have to add something like xargs to get parallelism. Whereas as fd -x is parallel by itself.

                                                            2. 4

                                                              Because these tools straight up don’t work properly, unless you heavily invest in learning them. Your solution, for example, breaks if there are spaces in filenames.

                                                              $ echo 1 > '1 2'
                                                              $ echo 3 > '3 4'
                                                              $ find . -type f | xargs -n 1 -P 4 shasum -a 512 > files
                                                              shasum: ./1: No such file or directory
                                                              shasum: 2: No such file or directory
                                                              shasum: ./3: No such file or directory
                                                              shasum: 4: No such file or directory
                                                              

                                                              This one will work:

                                                              find . -type f -print0 | xargs -0 -n 1 -P 4 shasum -a 512
                                                              
                                                              1. 1

                                                                It’s definitely faster to write this down in bash than.. Java. But I’d definitely be scared to not mess up quotation, special file names and what else shellcheck tries to catch. And then there is the issue remembering what this actually did in some weeks.

                                                                1. 1

                                                                  I’d suggest aide, sort (case-insensitive), then comm.

                                                                1. 6

                                                                  I always want to argue that “a secrets storage manager” is more clear and less possibly confusing.

                                                                  1. 1

                                                                    Huh, I couldn’t see it - I got redirected to safebrowse.io , because of malware concerns, apparently?

                                                                    1. 4

                                                                      Author here. Hopefully you’re not talking about this SafeBrowse? https://www.ibtimes.com/what-safebrowse-google-chrome-extension-secretly-mines-monero-2591635 I’ve also heard similar reports from users of Comcast Xfinity. It’s worth considering upgrading to their business class service, which is fine. You can also fix things by changing your DNS server to 8.8.8.8 or alternatively enabling DNS over HTTP support in Chrome. Google SafeBrowsing has no issues with the justine.lol website. You can even view it if you turn on their maximum enhanced security. Another tip regarding the binaries on the website, you can usually verify their authenticity by going on the VirusTotal website, uploading it, and checking to see if there’s an upvote from “howishexeasier” since that’s me. Anyway good luck and enjoy!

                                                                      1. 4

                                                                        I’m sorry, I was completely off-base. It’s a Comcast thing; it doesn’t even resolve from the cli. That security page came up in Mobile Safari, Safari, & Firefox. My Mac’s dns server is already 8.8.8.8. This is obnoxious! Thanks for the leads.

                                                                        1. 4

                                                                          There’s a haiku in the cosmopolitan codebase for situations like these. https://github.com/jart/cosmopolitan/blob/master/libc/dns/dns.png

                                                                    1. 10

                                                                      If more people understood HTML, they would stop using Markdown incorrectly—such as using blockquotes for callouts and admonitions instead of for quoting a body of work, or figures + figcaptions, definiton lists instead of unordered lists with heading elements. Ironic that developers tease people for using WYSIWYG editors improperly—like <b> for headings and excessive <br> tags and &nbsp;—and then misuse their lightweight markup syntaxes.

                                                                      1. 23

                                                                        If I could give young developers one piece of advice, it would be this:

                                                                        Reading the manual or the standard or the RFC or whatever the definitive documentation is for the tools that you use is a super-power.

                                                                        1. 4

                                                                          As soon as markdown provides me with callout and admonition formats, (or even a reasonable standard way of defining them myself) I’ll be happy to fix that.

                                                                          1. 3

                                                                            Pretty sure markdown is a superset of HTML, but I don’t see how HTML would solve that problem? Is there an <admonition> tag?

                                                                            1. 2

                                                                              We had something similar way back, but sadly the “blink” element has since been deprecated…

                                                                              1. 2

                                                                                Ah, fond memories of <marquee> :’D

                                                                              2. 2

                                                                                Even if it did, escaping to HTML isn’t my idea of a reasonable way – if I wanted HTML I’d be using it, not markdown. It’s a usable kludge/escape hatch when you need it, but html in markdown isn’t a solution.

                                                                                1. 6

                                                                                  The original Markdown allowed HTML because the point of the original Markdown was to eliminate the tedious bits of HTML when authoring blog posts, not to replace HTML entirely.

                                                                                  1. 3

                                                                                    I know why it’s there… my point was that if the goal is to eliminate said tedium, and there’s a markdown format code that generates the output I want without it, why would I go back to html for some purported semantic purity.

                                                                                    Aside from that, the current reality of markdown has strayed considerably from that original point, and now many uses of it no longer support html at all or significantly restrict it.

                                                                                    1. 1

                                                                                      To each their own I guess. I have my own markup language I use for blogging [1] and it has support for generating tables (some example tables). But it doesn’t support all the semantics of HTML tables, and when I need those (like this example) the ability to drop down into actual HTML is nice. Did I go back to HTML for some purported semantic purity? I don’t think so, but you may think differently. And would I go to the trouble to try to support all of HTML’s table semantics in my markup language? No way. For me, it’s rare enough that I stray from the general table format (of the first example) that supporting other formats would be a waste of time—the occasional “drop down to HTML markup” doesn’t bother me that much.

                                                                                      [1] I don’t store the post entries in this format, but in the final HTML output, mainly because I want the ability to change the markup language if some aspect annoys me. I’ve already made multiple changes. I’m also not forcing others to use this format, since it’s really geared towards my own usage.

                                                                                      1. 2

                                                                                        Did I go back to HTML for some purported semantic purity? I don’t think so, but you may think differently

                                                                                        Sorry, didn’t mean to imply that’s what you were doing… rather just referring to my original point upthread: I see no issue at all using markdown blockquotes when they give me the formatting I want even though an html aside might be “more correct” but at the expense of having to write all the html and css to achieve the same thing.

                                                                                        1. 1

                                                                                          I love that you support <abbr> where most other tools don’t

                                                                                          1. 2

                                                                                            Thank you. I still don’t know how to handle the following case [1]: “While the IRA may take actions against US interests that would effect Alice’s (a member of the IRA) IRA, can an automated process work out which expansion of IRA [2] should be used for each instance?” But so far, that’s been an extreme outlier case and rarely comes up.

                                                                                            [1] From http://boston.conman.org/2003/11/19.2

                                                                                            [2] For the record: Irish Republican Army, International Reading Association, Individual Retirement Account.

                                                                                2. 1

                                                                                  Psst you can use use AsciiDoc most places you’d use Markdown and get that ability plus extra benefits.

                                                                                  1. 2

                                                                                    Yeah, AsciiDoc and ReST were both better options than markdown, imho… but I eventually gave in to the overwhelming adoption markdown got.

                                                                                    1. 3

                                                                                      I mean your own projects you can undermine the hegemony with said better options

                                                                                3. 2

                                                                                  such as using blockquotes for callouts and admonitions

                                                                                  Is this a correct use of blockquote? If not, why? And what’s the proper alternative?

                                                                                  1. 4

                                                                                    “aside” might be an appropriate element to use, if “callout” means something like what I’d call a pull-quote. If the text flows with its surroundings, maybe just a class on a regular paragraph would be sufficient.

                                                                                  2. 1

                                                                                    Huh! I might look into using figures and figcaption in my markdown; I’m already using html anyway for svg with png fallback. Thanks!

                                                                                  1. 14

                                                                                    I can’t tell what problem this is supposed to be solving. The problem statement is that troff markup is good and minimal. But then instead of just writing a five line script to turn troff style markup into HTML, it talks about how you can use the quirks of HTML to write more minimal syntax. Okay, I guess? But it still sucks compared to troff and you can’t use it for anything but hobby sites without driving yourself crazy. As it is Markdown has been implemented a bazillion times and if you just want to use Markdown, you can find a tool to use it.

                                                                                    1. 7

                                                                                      I was afraid it would go that way. It would be mostly a toy since troff is obscure and less expressive than html, it would indeed have no upside compared to markdown.

                                                                                      However, this approach is intriguing because it gives you the full power of html (and the elements like details/summary, definition lists, proper tables, citations, etc.) in a reasonably writable way. To do the same with markdown you need to inject a lot of html elements in it. I think this is a valid approach and I found the article surprisingly pleasant.

                                                                                      1. 4

                                                                                        What’s wrong with including HTML in Markdown? I do it all the time when I want tables etc.

                                                                                        Edit Markdown shines when including links in running text. The affordance to include a link in the form of [text][slug], where ‘slug’ is defined somewhere else in the document, is something that makes organizing a mass of links really easy.

                                                                                        1. 1

                                                                                          I prefer markdown tables to html tables. I’ve used html for svg with png fallback, and I’m looking at it for pseudocode with italics.

                                                                                          1. 1

                                                                                            To be honest I’ve never bothered to learn MD tables, and whenever I have anything more complex than a couple of rows I use a program to generate the HTML…

                                                                                        2. 1

                                                                                          Troff can do more than straight markdown, has less markup than HTML, and is more consistent than mixing markdown and HTML. So those are upsides.

                                                                                        3. 6

                                                                                          I’m not sure it’s fair to call these “quirks of HTML”. They are explicitly part of the standard, and are just as correct as any other valid HTML.

                                                                                          1. 4

                                                                                            The WHATWG spec makes a clear distinction between HTML one is supposed to write and HTML that should be handled by parsers, so it does pass judgment on certain constructs.

                                                                                        1. 3

                                                                                          Ugh. Some responses come to mind:

                                                                                          • use an ssh tunnel to securely set it up, and afterwards, enable ssl certs. I’d hope that the detected hostname and http protocol aren’t too hard to unwind.
                                                                                          • caprover allows for setting the initial default password from the command line. Following this is the most promising, I think.
                                                                                          • watch the logs as you set it up, filter out your own IP, maybe get a heads up, at least
                                                                                          • do it locally, then copy the files and database to the server

                                                                                          (Apparently, all of my ideas involve ssh.)

                                                                                          1. 6

                                                                                            The problem here is the audience who’s setting up these instances. It is uh, almost definitely not going to be people who are familiar with any of those things.

                                                                                            1. 4

                                                                                              No, the actual problem is that someone misled them into thinking that installing WP yourself when you’re not familiar with any of those things is an acceptable state of affairs.

                                                                                              People see that there’s a “free” way to get it, and rather than signing up for some managed plan that will actually serve them better decide that it’s “easy enough” to just follow the steps in a readme… but over time they will almost certainly tend to a 100% chance of breaking or getting hacked, as there is no actual plan to maintain the site.

                                                                                              1. 2

                                                                                                Wordpress has an automatic update function AFAIK, so I’m not sure the risk is as high as you think it is. The real problem comes when people install shitty unmaintained add-ons.

                                                                                                1. 2
                                                                                                  • Updates aren’t universally enabled – I think they may be the default now, but weren’t for a long time
                                                                                                  • There’s approximately zero oversight of what can get pushed out on those automatic updates, so they’ve been a supply chain attack target
                                                                                                  • Those same people are the ones who are unlikely to be able to judge the shitty unmaintained add-ons from the rest
                                                                                                  • These self-managed installs often end up on bottom of the barrel unmanaged vps instances, so there is likely nothing updating the os, httpd, php, etc…
                                                                                              2. 1

                                                                                                I didn’t consider these “solutions” as much as “possible workarounds” - they’re not trivial!

                                                                                            1. 1

                                                                                              I’m surprisingly annoyed that they labeled a YouTube channel a podcast.

                                                                                              I’m currently considering whether everything in that Pocket PC game archive site should be copied to the Internet Archive. I mean, obviously, yes, but by me?

                                                                                              1. 2

                                                                                                I’m surprisingly annoyed that they labeled a YouTube channel a podcast.

                                                                                                The things they mentioned (TWiT and Jupiter Broadcasting) are truly podcasts. They just also happen to have YouTube channels for their podcasts where they also publish their episodes. I listen to FOSSWeekly (TWiT) and several JB shows using traditional podcast players and RSS feeds, and YouTube is not involved in any way.

                                                                                              1. 2

                                                                                                On the orange site, I asked for an “about” page, and got this helpful link. There’s also a question of sharing the indexes, which has some hurdles about bandwidth and disk space - “I’m probably producing around 250-500 Gb data/month at this point.” If only I had fiber at home…