Spyke

Replies

Comment on

Data privacy: how to counter the "I have nothing to hide" argument?

Edward Snowden, a former National Security Agency contractor and government whistleblower, has been credited with the quote "Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say". Snowden has argued that privacy is a fundamental right and that without it, individuals cannot have anything for themselves. The "nothing to hide" argument has been used to defend the collection and use of government data beyond surveillance and disclosure, but critics argue that it is inherently paradoxical and that what is hidden is not necessarily relevant. Snowden has also stated that the burden of justification falls on those seeking to infringe upon human rights, and that nobody needs to justify why they "need" a right.

Comment on

How would you quote someone using CommonMark markdown syntax?

> *[@username](profile_link)* said:
>
> > Original quote from the person
>
> Source: [Link to the source](source_link)

For example:

> [@[email protected]](https://lemm.ee/u/GodOfThunder) said:
>
> > How would you quote someone using CommonMark markdown syntax?
>
> [Source](https://lemm.ee/post/1063209)

Result:

@[email protected] said:

How would you quote someone using CommonMark markdown syntax?

Source

python

Comment on

What's the best approach to avoid defining sqlite3 conn and cursor in many different functions?

A context manager: Create a context manager that handles the connection and cursor creation, as well as closing the connection when done. This way, you can use the with statement to manage the connection and cursor in your functions.

import sqlite3

DB_FILE = "your_database_file.db"

class DatabaseConnection:
    def __enter__(self):
        self.conn = sqlite3.connect(DB_FILE)
        self.cursor = self.conn.cursor()
        return self.cursor

    def __exit__(self, exc_type, exc_val, exc_tb):
        self.conn.commit()
        self.cursor.close()
        self.conn.close()

def insert_post_to_db(issue: Issue, lemmy_post_id: int) -> None:
    with DatabaseConnection() as cursor:
        cursor.execute(
            "INSERT INTO posts (issue_url, lemmy_post_id, issue_title, issue_body) VALUES (?, ?, ?, ?)",
            (issue.url, lemmy_post_id, issue.title, issue.formatted_body),
        )
python

Comment on

What's the best approach to avoid defining sqlite3 conn and cursor in many different functions?

A function decorator: You can create a decorator that handles the connection and cursor creation and passes the cursor to the decorated function.

import sqlite3
from functools import wraps

DB_FILE = "your_database_file.db"

def with_cursor(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        conn = sqlite3.connect(DB_FILE)
        cursor = conn.cursor()

        result = func(cursor, *args, **kwargs)

        conn.commit()
        cursor.close()
        conn.close()

        return result

    return wrapper

@with_cursor
def insert_post_to_db(cursor: sqlite3.Cursor, issue: Issue, lemmy_post_id: int) -> None:
    cursor.execute(
        "INSERT INTO posts (issue_url, lemmy_post_id, issue_title, issue_body) VALUES (?, ?, ?, ?)",
        (issue.url, lemmy_post_id, issue.title, issue.formatted_body),
    )
auai

Comment on

GPT4All is a free-to-use, locally running, privacy-aware large language model that is a 3GB - 8GB file that you can download and query. No GPU or internet required

I'm still waiting for a local autonomous AI agent with search. I don't understand why most autonomous agent projects use GPT-4 without incorporating search capabilities. Allowing the model to continuously hallucinate is not productive. Instead, it should be able to discover factual information and perform genuinely useful tasks.

Comment on

YSK: Imagus is Hover Zoom for Lemmy that actually works

Imagus is a browser extension for Firefox that allows users to enlarge images and display images/videos from links with a simple mouse-over. It is similar to the Hover Zoom extension, which is a popular tool for browsing memes and gifs on desktop. However, Hover Zoom has been flagged as spyware, so users may want to consider using Imagus instead. Imagus works with a wider range of links than Hover Zoom, including those from imgur. The extension also has customizable settings, including an expandable set of rules for getting larger images, media, or other content.