• 2 Posts
  • 282 Comments
Joined 2 years ago
cake
Cake day: July 31st, 2023

help-circle

  • We see because we value facts and evidence, seeking out information to gain an understanding of the situation before making judgements about it.

    The dumbfucks who voted for this and continue to cheer it on don’t. They appeal to authority, and when authority says to not believe the evidence of their eyes and ears, they cover them. If the regime says she was a “domestic terrorist” or radical leftist, they double down and blame the victim.

    Her daylight murder will enrage and concern rational and reasonable people, but it won’t do jack shit for the instigating bootlickers who voluntarily impede solidarity and justice.




  • As a developer as well, I agree that they can get fucked. Bloated crap that wastes bandwidth and ruins first-time-to-paint on mobile devices by necessitating downloading and initializing a multi-megabyte bundle of npm packages.

    As a user of the internet, I need websites to work, however. I would have disabled JavaScript entirely by now if it weren’t for the fact that doing so renders what feels like half of the entire web unusable.


  • Might be that there’s some way of blocking that behavior if you don’t like it, though, if I’m not seeing it.

    Not without either breaking most SPAs (Single-Page Applications) or writing userscripts with site-specific logic.

    The classic way of doing this crap was to make a placeholder page navigate to the article page. That leaves the redirect page in the history stack so when the user presses the back button, it just opens the page that navigates them forward again.

    The modern way is to use the history API with history.pushState to add a history entry while listening for the popState event to check if the user pressed the back button. Unfortunately, both of those features have a legitimate use case for enabling navigation within a SPA. Writing an extension to replace them with no-ops would, in the best case, break page history in SPA websites. In the worst case, it would break page routing entirely.

    You might be able to get away with conditionally no-oping their functionality based on heuristics such as “only allow pushState if the user interacted with the page in the last 5 seconds,” but it would still end up breaking some websites.



  • One of PyFed’s selling points was that it was easier to work with than Lemmy. It’s going to be amusing when that takes a 180 turn and people start complaining.

    Python is great for prototyping and iterating on small projects or as glue for modules written in C and C++. What it isn’t great at is linearly scaling on a single node. When the day that throwing more powerful hardware at the problem stops being an option, Kubernetes is going to walk through that door and fuck any semblance of simplicity up.


  • I’d be surprised if it’s not easy to transpile a Markdown document into the format

    By hand—if you have experience writing roff typesetting—it is.

    Having a program do it for you… you’re going to get something, but it won’t be correct and you will need to fix most of it.

    A few problems come to mind:

    1. It’s a macro-based typesetting language. As a consequence, there’s a one-to-many association between representations in Markdown with some equivalent in roff. A Markdown paragraph is just a paragraph, but in roff it could be an un-indented paragraph, a paragraph with first-line indentation, a paragraph with line-wrap indentation, or a paragraph with a left margin.

    2. Rendering a man page, you have multiple different implementations of man and multiple different implementations of *roff (roff, troff, groff, nroff). The set of macros and features that are available differ depending on which implementation, resulting in one-size-fits-all solutions targeting the lowest common denominator.

    3. Ironically, the one-to-many association goes both ways. With Markdown, you have code fences, quotes, italic text, bold text, and tables. With lowest-common-denominator manpage roff, you have paragraphs and emphasis that will either be shown as bold or inverted. If you’re lucky, you might also be able to use underlines. If Markdown tables are no wider than 80 characters, you could preprocess those into plain characters, at least.

    4. Despite being more structured with its typesetting, the contents of a manpage are mostly still unstructured. The individual sections within the page and its use of indentation and emphasis are entirely convention, and not represented in the source code by anything more than just typesetting macro primitives.

    It could work out if you generate both the Markdown and man page from something with more explicit structure. If the plan is to go from a loose Markdown document into a manpage, you’re going to end up having to write your Markdown document almost exactly like a manpage.


  • On █████████, Jeffery Epstein’s communications with ████████████ and ██████████ confirmed the █████████ of ████████. In a private █████ exchange, ████████ discussed the █████████ of ████████ for ███████. The ████████ was then scheduled to ██████████ with █████████, and would then meet up with Bill Clinton at the █████████ of ██████████. Flight logs for flight ██████ corroborate the meet up between Bill Clinton and █████████.

    Further investigation into ████████ revealed the █████████ with █████████ and Bill Clinton. █████████ Obama ████████████ purchase █████████████ Bill Clinton ████████ and Do███████████████. ████████████████████████





  • How’s the weather up there, on your high horse?

    Rust wasn’t meant to be the be-all, end-all solution to safety and soundness; it’s meant to be better than the alternatives, confining potential memory safety issues to explicitly-annotated unsafe blocks.

    But, hey. That’s okay. With that kind of gloating attitude, I’m sure your code is 100% safe and vulnerability free, too. Just remind me to never step foot anywhere near an industrial system or operating system using it.