NostraDavid

joined 1 year ago
[–] NostraDavid 2 points 2 weeks ago

Oh hell yeah, Category Theory! LET'S GOOOOO!

[–] NostraDavid 1 points 2 weeks ago

Check if there's a stub or types extension - https://pypi.org/search/?q=types

[–] NostraDavid 2 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

I can’t stand the bloat of virtual environments

Sucks to be you, but virtual envs are THE way to keep everything running on your own machine. You can try to keep everything in a single venv, but then you'll start wondering why it doesn't work on other's machines.

built-in tools provided by the language

sqlite3 module comes with Python. As does the json module. Use pathlib's Path object over os.whatever because the API is nicer to work with. abc (short for Abstract Base Class - abc, get it?) is useful for inheritance stuff. I like click, but there's argparse if you need to write a CLI. Stay away from asyncio if you can - it's usually not faster and a bigger PITA than it needs to be. Need to transport a binary, but you can only send text? base64. import datetime as dt if your new friend when it comes to datetime objects - to be aware to keep things timezone-native. You'll need pytz for that - Python doesn't update fast enough to keep up to date with all the new timezone shenanigants. always check for missing timezones; they'll cap your kneecaps and kick you in the balls if you're not careful. http can be used to make calls to APIs though requests is a favorite; slap urllib3 and you got yourself a sauce going on! Skip logging and jump to a lib that supports structured logging, python-json-logger is a nice beginner's log lib, jump to structlog if you need the raw power (say you want control over other people's logging output). math is a sleeper hit - powers, roots, floors, ceitings, and statistics is a nice addition on top of that together with random for probabilistic stuff. multiprocessing if you need to run something concurrently: ProcessPoolExecutor for IO, ThreadPoolExecutor for CPU bound stuff (IIRC). re for regex related stuff. uuid if you need a unique identifier (this can be slow in DBs, so take care!)

ecosystem

PyPI (Python Packaging Index) if your new friend - pai-pee-ai; not paipai - that's the JIT implementation of Python: pypy.

Use pytest to run your tests, ruff for formatting (though I imagine it intimidating for beginners, better to bite the bullet (even if you nibble on it slowly), uv to track your dependencies and Python version.

Yes, figuring out a nice configuration for these tools is a pain, but that's what ChatGPT is for. Just don't go too wild on the settings, as there are MANY, and if something doesn't work because ChatGPT got a little outdated, it'll hurt.

Anyway, that's about 4 years of experience concentrated in a single page. If you ever feel like an imposter: that's a common feeling: https://en.wikipedia.org/wiki/Impostor_syndrome If it's hitting you on the head, see if you can talk with your seniors about it (presuming they're sane adults) - otherwise there's always Lemmy to vent :P .

edit: if you need to handle tabular data: Polars. If anyone recommends Pandas over Polars, hit them with a newspaper until they crawl back under the rock they came from. Unless it's for GeoPandas, then it's OK.

[–] NostraDavid 1 points 2 weeks ago

The new king on the block: uv. It can do everything poetry does, while also using a standard pyproject.toml (no more weird ^), and it'll handle the Python version for you, so no faffing about with manually installing anything. Just uv sync and off you go!

Downside: not compatible with virtualenvwrapper, as it'll force its .venv in the local folder.

It's also still under heavy development and breaking changes are still expected, but it's already super nice to use.

Same guys (Astral) also made ruff the formatter/linter that they intend to eventually integrate into uv, IIRC.

I'm running all my personal projects under uv and am having a blast. It's so fast.

[–] NostraDavid 2 points 2 weeks ago

Don't worry, they're planning JS0 and JSSugar (IIRC) so you're forced to compile anyway :D

[–] NostraDavid 1 points 2 weeks ago

Boomers are real pieces of shit

I have some weird news for you: Generations don't exist. Boomers? Not real. Silent Generation? Nope. Gen X? No! Millennial? Non-existent! ALL OF THEM.

[–] NostraDavid 2 points 2 weeks ago

I would argue that the Republicans are a symptom as well, the whole USA democratic structure will only enable a 2-party system. The whole systemic structure is rotten.

[–] NostraDavid 5 points 2 weeks ago (3 children)

The "Infinite monkey theorem" concerns itself with Probability (the mathematical field). It has been mathematically proven that given the random input (the mathematical kind - not the human-created kind) of the monkeys, and the infinite time, the probability of the "complete works of William Shakespeare" rolling out of the typewriter in between the other random output is 1.

It's a mathematical theorem that just uses monkeys to speak to the imagination, not a practical exercise, other than to prove the maths.

You should look into another brain-breaking probability problem called the "Monty Hall Problem". Note that some of the greatest mathematical minds of the time failed said puzzle. Switching 100% increases the chance of winning. No, it won't guarantee a win, but it will increase your chances, mathematically.

[–] NostraDavid 10 points 2 weeks ago

Aw boo! Where is your sense of fantasy!?

[–] NostraDavid 1 points 2 weeks ago* (last edited 2 weeks ago)

decaf - white clouds

It starts with a nice piano, when the bass drops.

The original song is Ludovico Einaudi - Nuvole Bianche, but that's missing some oomph :P

[–] NostraDavid 9 points 3 weeks ago

Luke Smith made video about this several years ago: Virgin "Open Source" vs Chad Free Software

He ends the video with "I don't care if the boot-stamping on my head is proprietary or open source. I don't want a boot stamping on my head. That's what Free Software is about, okay!?"

This has been going on for a while, but it's good to shine a light on it once more.

[–] NostraDavid 4 points 4 weeks ago (1 children)

"for I, the LORD your God, am a jealous God" - Exodus 20:5

Says it all, really. This whole character trait is that he's a jealous little asshole. He's like Dolores Umbridge.

I'm aware Christians may make counter-claims, but I've read the old testament, and all he does is to come off as an absolute asshole - you either worship me, or else!

I wasn't too surprised (but it made sense) that he (Elohim) originally came from the Canaanitic pantheon. How else can you be the only god, yet people shouldn't worship other gods? He's not, that's how.

/rant

view more: ‹ prev next ›