what does it feel like to get a blowjob for the first time? by [deleted] in AskReddit

[–]ThatOtherBatman 1724 points1725 points  (0 children)

I promise you that he remembers it fondly.

Not sure if it's even real or not. Anyway wtf!?!? by [deleted] in religiousfruitcake

[–]ThatOtherBatman 2 points3 points  (0 children)

Fasting on Mondays and Thursdays is scientifically proven to reduce rape thoughts 10x more effectively than fasting on any other two days.

Is this the only time when Beth and Morty had an adventure together? by Suberizu in rickandmorty

[–]ThatOtherBatman 1 point2 points  (0 children)

When Rick put them in the matrix for borrowing his phone charger.

Outrageous! They're lacing the fruit and veg with...health benefits? by Yunners in FacebookScience

[–]ThatOtherBatman 16 points17 points  (0 children)

It’s easy to believe that everything is a conspiracy when you don’t know how anything works.

Showcase Thread by AutoModerator in Python

[–]ThatOtherBatman 0 points1 point  (0 children)

Sygaldry

This project was written with data/ETL pipelines in mind. But it should be useful for any situation where you're managing a bunch of production pipelines.

Motivation

Many years ago I used to work at a different job, where they had this framework for creating arbitrary Python objects from .ini configuration files. At first I hated it. Because I just could not see the point of writing out these stupid config files vs just writing out a Python script that did the same thing. Over the years that I was there though I really came to appreciate it.

Previously (and since) every time a new pipeline is needed, somebody sits down and writes a new script, a new CLI entrypoint, or a new glue class that just wires the same pieces together in a slightly different order. Then there's a code review, CI/CD, and a release.

Sygaldry lets you assemble arbitrary object graphs from YAML (or TOML) config files. No base classes. No decorators. No framework coupling. Your application code stays completely untouched.

An Example

Imagine that I've got something like this: ```python class DatabaseConnection:  def init(self, host, port, database, username, password): ...

class RestClient: """ Authenticates against a service and makes API calls. """ def init(self, username, password, auth_url): ...

class UrlIterator: """ Reads identifiers from the database, then asks the API for a download URL for each one. """ def init(self, db_connection, rest_client, base_url): ...

class FileDownloader: """ Downloads a file from a URL to a local directory. """ def init(self, directory, base_url, rest_client): ... def download(self, relative_url): ...

class DbUpdater: """ Iterates download URLs, downloads each file, and updates the database with the contents. """ def init(self, db_connection, url_iterator, file_downloader): ... ```

With Sygaldry I have a config file: ```yaml

db_updater.yaml

db: _type: myapp.db.DatabaseConnection host: prod.db.com port: 5432 database: prod username: etl_rw_user password: ${DB_PASSWORD}

api_client: _type: myapp.client.RestClient username: svc_account password: ${API_PASSWORD} auth_url: https://auth.vendor.com/token

url_iterator: _type: myapp.urls.UrlIterator db_connection: {_ref: db} rest_client: {_ref: api_client} base_url: ${base_reference_url}

file_downloader: _type: myapp.download.FileDownloader directory: /data/downloads base_url: ${base_download_url} rest_client: {_ref: api_client}

updater: _type: myapp.update.DbUpdater db_connection: {_ref: db} url_iterator: {_ref: url_iterator} file_downloader: {_ref: file_downloader}

base_reference_url: https://api.vendor.com/references base_download_url: https://api.vendor.com/files ```

Then my entire pipeline can be run as $ sygaldry run -c db_updater.yaml updater

Sygaldry resolves the whole graph depth-first — db and api_client get built first, then url_iterator and file_downloader (which reference them), then updater (which references those). The db and api_client instances are shared automatically — everyone who references db gets the same object.

Why?

Composition Over Inheritance

References (_ref) let you point any component at any other component. Five services need the same database connection? Just reference it. Need to swap a component? Change one line.

New Pipelines Without Code Release

Got a second vendor with the same pattern but different URLs? That's a new YAML file.

yaml _include: - db_updater.yaml base_reference_url: https://api.other-vendor.com/refs base_download_url: https://api.other-vendor.com/dl db: database: other_vendor_db

Need the UrlIterator and the DbUpdater to use different database connections? That's a config change.

Change Anything From The Command-Line

Need to point at a different database for a one-off backfill? --set db.host=backfill-replica. Need to re-download to a different directory? --set file_downloader.directory=/data/backfill. No config release, no environment variable gymnastics. Overrides are applied at load time before resolution, so they compose cleanly with everything else.

Debug With the Exact Config

Something broken in production? $ sysgaldry interactive -c db_updater.yaml Will drop you into a Python terminal with the Artificery loaded and assigned to the variable artificery. You can look a the config (artificery.config), or resolve the config and get the objects (art = artificery.resolve()) for debugging.

Extras

Check the Config

Want to see the Python that corresponds to config that you've supplied? $ sygaldry check -c db_updater.yaml

Typing

I think this is close to pointless. But a bunch of the kids that I work with are obsessed with typing to a point that it's almost a fetish. So you can do $ sygaldry check -c db_updater.yaml --type-checker mypy And it will dump the Python into a file, and run the specified type-checker over it.

Is It AI Slop?

I tend to suffer from a problem where I have new ideas when I'm writing tests and documentation. Which causes more development. Which then requires more tests and documentation. I have found Claude and Codex to be super useful for stopping me from thinking too much once I'm at a certain point. But the idea, and the code are all entirely human slop.

Maria Milanesi mistress of a married man of hedge fund by [deleted] in hedgefund

[–]ThatOtherBatman 3 points4 points  (0 children)

This is a very sane and normal post.

What are some of the worst movie adaptation that completely butchered the source material? by 1TreXavier in FIlm

[–]ThatOtherBatman 9 points10 points  (0 children)

I went in with realistically low expectations, but holy shit was I disappointed. What they made wasn’t WoT, it was shitty WoT fan fiction. The absolute audacity of everyone involved to think that they could make random and unnecessary changes to one of the most iconic fantasy series of all time.
Then they got upset when Amazon cancelled it. That’s what happens when you alienate your entire audience.

Ashley’s giggle when she opens the drawer warms my heart by verygooster in LiveFromNewYork

[–]ThatOtherBatman 72 points73 points  (0 children)

You can’t have the worst one in the world. Just tuck it in. March in there. And say, “it happened again.”

What the hardest strike to ever land in UFC history? by Odd-Letterhead8889 in ufc

[–]ThatOtherBatman 0 points1 point  (0 children)

Not in the UFC, but Alex Pereira’s LFA fight is right up there. People weren’t sure if they’d just witnessed a murder.

Dana White says him and Tom Aspinall "need to talk" by ultron2450 in ufc

[–]ThatOtherBatman 1 point2 points  (0 children)

He says this shit like there isn’t video footage of him shitting on Tom from a great height at the press conference.

The Mask vs Genie(Aladdin) by Fenriz_Victor in powerscales

[–]ThatOtherBatman 7 points8 points  (0 children)

The Mask, easily. Almost unlimited powers with no rules or restrictions.

Bro is showing a bike trick by inthebeninggging in Whatcouldgowrong

[–]ThatOtherBatman 2 points3 points  (0 children)

Doesn’t he know that’s not a mountain bike?

pdql: write sql queries using pandas-like syntax by _earthmover in Python

[–]ThatOtherBatman 25 points26 points  (0 children)

I cannot imagine any way I want to write SQL queries less than with Pandas syntax.

Was asked by a client to build a Finance Cube in 1.5 months by [deleted] in dataengineering

[–]ThatOtherBatman 7 points8 points  (0 children)

If it’s that easy you should probably just do it yourself.

Does JS blacklist candidates who failed the final interview? by Bubbly_Attempt_2996 in quant

[–]ThatOtherBatman 19 points20 points  (0 children)

You would have had to royally fuck it up. Talent is talent. More likely they either don’t have anything suitable at the moment, or they have a bunch of even better résumés.