nutsack
@nutsack@lemmy.dbzer0.com
- Comment on 'What a great way to kill your community': Discord users are furious about its new age verification checks — and are now hunting for alternatives 10 hours ago:
they would allow it to record conversations in their house while the computer is off. people do not give a shit
- Comment on 'What a great way to kill your community': Discord users are furious about its new age verification checks — and are now hunting for alternatives 1 day ago:
The absolute shitload majority of users will not care about this enough to stop using the product
- Comment on Discord Users Threaten Exodus Over Age Verification Face Scan Controversy 1 day ago:
Facebook does this shit too. Tell me your account never got suspended and it asked you to give an ID to reactivate it again
- Comment on Nvidia might not have any new gaming GPUs in 2026 — and could be 'slashing production' of existing GeForce models 2 days ago:
no you steam cloud save your cloud steam game in the cloud
- Comment on Nvidia might not have any new gaming GPUs in 2026 — and could be 'slashing production' of existing GeForce models 4 days ago:
yea you can wait in a queue to play your unmodded single player experience game
- Comment on I am looking for a Linux OS 6 days ago:
A lot of these things look really sleek and fancy. I’m still using Arch Linux with i3 and can play whatever games. It’s all the same shit under the hood once you’ve installed what you need
- Comment on Is it theoretically possible Trump and ICE are killing a very large number of immigrants (like 25% of those detained) and no one knows? 6 days ago:
I think the political and legal fallout from something like this would be too much of a deterrent for them. i imagine they want to build private prisons whose owners get to siphon off a shitload of tax dollars.
- Comment on [deleted] 1 week ago:
I love reading actual books. I don’t know why you would quit if you can afford it
- Comment on You won: Microsoft is walking back Windows 11’s AI overload — scaling down Copilot and rethinking Recall in a major shift 1 week ago:
oh so Windows is good now?
- Comment on Games you really want to play, but can't or won't? 1 week ago:
why did they skip VR compatibility for the on foot sections of the game? seems insane
- Comment on Gaming market melts down after Google reveals new AI game design tool — Project Genie crashes stocks. (A.K.A . Investors panic because they don't understand what "real" videogames are) 1 week ago:
is it? stock prices are still quite high
- Comment on Pornhub, YouPorn, and Redtube and other content sharing platforms will block New users in the UK starting next week(February 2) 2 weeks ago:
explain
- Comment on Pornhub, YouPorn, and Redtube and other content sharing platforms will block New users in the UK starting next week(February 2) 2 weeks ago:
sorry I don’t know what any of these things are
- Comment on New York Startup Builds Fridge-Sized Machine That Can Turn Air Into Gasoline 2 weeks ago:
The machine also traps water vapor, and uses electrolysis to break water down into hydrogen and oxygen instead of destroying your car’s cooling system.
what the fuck does this even mean
- Comment on What's the best free version of word? 2 weeks ago:
I could not get pandoc to work on my system. after a few attempts going in circles with dependency packages, I gave up
- Comment on With what's happening in Gaza, what can we as socialists (and non-socialists) do to fix Gaza? 2 weeks ago:
you could try protesting and getting shot by cops
- Comment on What's the best free version of word? 2 weeks ago:
I am composing documents in markdown format and then using a python script to produce a PDF:
#!/usr/bin/env python3 """Convert Markdown files to PDF.""" import argparse import sys from pathlib import Path try: import markdown from weasyprint import HTML, CSS except ImportError: print("Missing dependencies. Install with:") print(" pip install markdown weasyprint") sys.exit(1) CSS_STYLES = """ @page { margin: 0.5in 0.6in; size: letter; } body { font-family: "Courier New", Courier, "Liberation Mono", monospace; font-size: 10pt; line-height: 1.4; color: #222; max-width: 100%; } h1, h2, h3 { margin-top: 1em; margin-bottom: 0.3em; padding-bottom: 0.2em; } h1 { font-size: 16pt; } h2 { font-size: 13pt; } h3 { font-size: 11pt; } h4 { font-size: 10pt; font-weight: normal; margin-bottom: 0.5em;} ul { margin: 0.3em 0; padding-left: 1.2em; } li { margin-bottom: 0.2em; } p { margin: 0.4em 0; } p + p { margin-top: 0.2em; } strong { font-weight: bold; } """ PAGE_BREAK_MARKER = "<!-- pagebreak -->" PAGE_BREAK_HTML = '<div style="page-break-before: always;"></div>' def process_page_breaks(html_content: str) -> str: """Replace page break markers with actual page break HTML.""" return html_content.replace(PAGE_BREAK_MARKER, PAGE_BREAK_HTML) def md_to_html(input_path: Path) -> str: """Convert a Markdown file to HTML content.""" md_content = input_path.read_text(encoding="utf-8") html_content = markdown.markdown(md_content) return process_page_breaks(html_content) def convert_md_to_pdf(input_paths: list[Path], output_path: Path) -> None: """Convert one or more Markdown files to a single PDF.""" html_parts = [] for i, input_path in enumerate(input_paths): if i > 0: html_parts.append(PAGE_BREAK_HTML) html_parts.append(md_to_html(input_path)) full_html = f""" <!DOCTYPE html> <html> <head><meta charset="utf-8"></head> <body>{"".join(html_parts)}</body> </html> """ HTML(string=full_html).write_pdf(output_path, stylesheets=[CSS(string=CSS_STYLES)]) print(f"Created: {output_path}") def main(): parser = argparse.ArgumentParser(description="Convert Markdown files to PDF") parser.add_argument("files", nargs="*", type=Path, help="Markdown files to convert") parser.add_argument("-o", "--output", type=Path, help="Output PDF path") parser.add_argument("-m", "--merge", action="store_true", help="Merge all input files into a single PDF") args = parser.parse_args() # Default to all .md files in current directory files = args.files if args.files else list(Path(".").glob("*.md")) if not files: print("No Markdown files found") sys.exit(1) if args.merge: if not args.output: print("Error: --output is required when using --merge") sys.exit(1) for md_file in files: if not md_file.exists(): print(f"File not found: {md_file}") sys.exit(1) convert_md_to_pdf(files, args.output) else: if args.output and len(files) > 1: print("Error: --output can only be used with a single input file (or use --merge)") sys.exit(1) for md_file in files: if not md_file.exists(): print(f"File not found: {md_file}") continue output_path = args.output if args.output else md_file.with_suffix(".pdf") convert_md_to_pdf([md_file], output_path) if __name__ == "__main__": main()
- Comment on Microsoft gave FBI a set of BitLocker encryption keys to unlock suspects' laptops: Reports | TechCrunch 2 weeks ago:
Yes, according to whistleblowers from the CIA
- Comment on If the color of the Sun was orange, wouldn't the clouds and everything white also be orange? My friend is adamant that 30 years ago the "real" Sun was orange but got replaced with a white LED. 2 weeks ago:
- Comment on Microsoft Gave FBI Keys to Unlock Encrypted Data, Exposing Major Privacy Flaw 2 weeks ago:
sorry, what is Linux? I’ve never heard of it
- Comment on Microsoft gave FBI a set of BitLocker encryption keys to unlock suspects' laptops: Reports | TechCrunch 2 weeks ago:
what happens when fydor monikov from the kgb gets a copy of these master keys
- Comment on Grok floods X with sexualized images of women and children: Grok generated an estimated 3 million sexualized images, including 23,000 of children in 11 days 2 weeks ago:
I think this code could be made more efficient
- Comment on How can we convince Trump voters to NOT vote for Trump (or Vance) in the 2026 midterms and the 2028 election? 2 weeks ago:
That’s not what you should be trying to do. The answer is to get Democrats someone to vote for that they’ll actually come out and vote for. a lot of them just don’t vote because their choices are shit
- Comment on Android won't kill sideloading after all, but new verification rules will make it harder 2 weeks ago:
this was the plan from the beginning, but nobody was reading any of the articles that they clicked on
- Comment on Fujifilm reportedly working on 180MP medium format camera 2 weeks ago:
emulating a film workflow
- Comment on Are you people all bots? 3 weeks ago:
yea
- Comment on Are you people all bots? 3 weeks ago:
correctly an ai cannot suck your dick. That’s how you know
- Comment on Trump Is Obsessed With Oil. But Chinese Batteries Will Soon Run the World 3 weeks ago:
I imagine electricity generation is also transitioning away from diesel
- Comment on Trump Is Obsessed With Oil. But Chinese Batteries Will Soon Run the World 3 weeks ago:
they are shutting down refineries all over the country because people aren’t buying as much gas as they used to
- Comment on AI companies will fail. We can salvage something from the wreckage | Cory Doctorow 3 weeks ago:
most of these companies will probably fail. it’s expected. but the AI paradigm is not going anywhere