Theodore Manassis's Avatar

Theodore Manassis

@mamonu.bsky.social

Data Engineer, Spark fiend, ELT debugger (mostly with vibes), inevitably being drawn into the infrastructure side. ๐Ÿ˜Ž I know how to exit VIM ๐Ÿ˜Ž Also : cat person ๐Ÿˆ , occasional rogue-lite / shmup / metroidvania / JRPG gamer , horrible musician

74 Followers  |  561 Following  |  61 Posts  |  Joined: 31.08.2023  |  1.8942

Latest posts by mamonu.bsky.social on Bluesky

Post image 07.08.2025 19:33 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

Smart! Raven loves winning Tic Tac Toe.

06.08.2025 15:46 โ€” ๐Ÿ‘ 18302    ๐Ÿ” 3041    ๐Ÿ’ฌ 390    ๐Ÿ“Œ 289
Preview
Working on two git branches at once with git worktree In this post I describe how you can use git worktree to check out multiple branches at once, and some scenarios in which this can be useful

andrewlock.net/working-on-t...

31.07.2025 09:14 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

A reminder that working in the open, even just amongst your colleagues, takes time, effort, care, thoughtfulness and dedication. It can feel exhausting, yet failing to invest these intangibles can lead to obfuscation.

And yes, this is a note to self, not a criticism of others!

31.07.2025 09:03 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
A four panel comic titled Bird Sounds. In panel 1, labeled thrush, a wood thrush sings its beautiful eeohlay song against a forest background. In panel 2, labeled wren, a winter wren delicately sings tweedly tweedly tweedly. In panel 3, labeled warbler, a yellow warbler delicately sings sweet sweet. In panel 4, labeled heron in a death metal font, a heron screams KRAAGH against a background of fire.

A four panel comic titled Bird Sounds. In panel 1, labeled thrush, a wood thrush sings its beautiful eeohlay song against a forest background. In panel 2, labeled wren, a winter wren delicately sings tweedly tweedly tweedly. In panel 3, labeled warbler, a yellow warbler delicately sings sweet sweet. In panel 4, labeled heron in a death metal font, a heron screams KRAAGH against a background of fire.

Bird sounds.

25.07.2025 12:46 โ€” ๐Ÿ‘ 18404    ๐Ÿ” 3393    ๐Ÿ’ฌ 301    ๐Ÿ“Œ 142
Post image 01.07.2025 17:12 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
pyspark-ducklake-2.py GitHub Gist: instantly share code, notes, and snippets.

Want to read #ducklake from APACHE SPARK? Check this out: gist.github.com/hannes/395ac... #butdoesitscale #yesitdoes

01.07.2025 11:23 โ€” ๐Ÿ‘ 18    ๐Ÿ” 6    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1
Post image 14.05.2025 01:03 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image 08.05.2025 22:13 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
NYT headline: โ€œKennedy Advises New Parents to โ€˜Do Your Own Researchโ€™ on Vaccinesโ€ 
Subheader:
โ€œIn an interview with Dr. Phil, the health secretary offered false information about vaccine oversight and revealed a lack of basic understanding of new drug approvals.โ€

NYT headline: โ€œKennedy Advises New Parents to โ€˜Do Your Own Researchโ€™ on Vaccinesโ€ Subheader: โ€œIn an interview with Dr. Phil, the health secretary offered false information about vaccine oversight and revealed a lack of basic understanding of new drug approvals.โ€

โ€œAnd Iโ€™m like, what do you mean, you โ€˜do your own researchโ€™? You running a double-blind study in your living room, dawg?โ€
- A guy walking ahead of me with his friends on a NYC sidewalk in 2021, also my favorite overheard dialogue of the entire pandemic

30.04.2025 11:36 โ€” ๐Ÿ‘ 27535    ๐Ÿ” 6814    ๐Ÿ’ฌ 764    ๐Ÿ“Œ 377
Post image

TIL about the ๐Ÿ”ฅ chardet library โ€” it guesses unknown file encodings!

๐Ÿ“„ Write text in latin-1 โžก๏ธ try to read as utf-8 โžก๏ธ ๐Ÿ’ฅ UnicodeDecodeError.

๐Ÿ‘จโ€๐Ÿ’ป Solution:

29.04.2025 10:09 โ€” ๐Ÿ‘ 1    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

oops. i just got a basic 24GB RAM m4 mac mini to replace my 2012 (!) mac mini that still runs great.

For the $$ its a no brainer.

30.04.2025 06:18 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image 28.04.2025 14:55 โ€” ๐Ÿ‘ 6    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image 25.04.2025 20:58 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image 25.04.2025 20:57 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

The Skrub TableReport is a lightweight tool that allows to get a rich overview of a table quickly and easily.

โœ… Filter columns
๐Ÿ”Ž Look at each column's distribution
๐Ÿ“Š Get a high level view of the distributions through stats and plots, including correlated columns
๐ŸŒ Export the report as html

23.04.2025 11:49 โ€” ๐Ÿ‘ 6    ๐Ÿ” 4    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1
import os
from pathlib import Path
from tempfile import TemporaryDirectory

import pytest


def count_dirs_and_files(directory_path: str = '.' ) -> tuple[int, int]:
    """Function for counting dirs and files in a directory."""
    dirs, files = 0, 0
    for _, directories, filenames in os.walk(directory_path):
        dirs += len(directories)
        files += len(filenames)
    return dirs, files


def test_only_files():
    with TemporaryDirectory(dir="/tmp") as dirname:
        for i in range(1, 6):
            (Path(dirname) / f'{i}.txt').write_text('hello')
        assert count_dirs_and_files(dirname) == (0, 5)

# refactored using pytest's tmp_path fixture + parametrize

@pytest.mark.parametrize("num_files", [1, 5, 10])
def test_only_files_param(tmp_path, num_files):
    for i in range(1, num_files + 1):
        (tmp_path / f'{i}.txt').write_text('hello')
    assert count_dirs_and_files(tmp_path) == (0, num_files)

import os from pathlib import Path from tempfile import TemporaryDirectory import pytest def count_dirs_and_files(directory_path: str = '.' ) -> tuple[int, int]: """Function for counting dirs and files in a directory.""" dirs, files = 0, 0 for _, directories, filenames in os.walk(directory_path): dirs += len(directories) files += len(filenames) return dirs, files def test_only_files(): with TemporaryDirectory(dir="/tmp") as dirname: for i in range(1, 6): (Path(dirname) / f'{i}.txt').write_text('hello') assert count_dirs_and_files(dirname) == (0, 5) # refactored using pytest's tmp_path fixture + parametrize @pytest.mark.parametrize("num_files", [1, 5, 10]) def test_only_files_param(tmp_path, num_files): for i in range(1, num_files + 1): (tmp_path / f'{i}.txt').write_text('hello') assert count_dirs_and_files(tmp_path) == (0, num_files)

Making a temporary file/dur is very useful for ๐˜๐—ฒ๐˜€๐˜๐—ถ๐—ป๐—ด.

In the example below, we first use ๐˜›๐˜ฆ๐˜ฎ๐˜ฑ๐˜ฐ๐˜ณ๐˜ข๐˜ณ๐˜บ๐˜‹๐˜ช๐˜ณ๐˜ฆ๐˜ค๐˜ต๐˜ฐ๐˜ณ๐˜บ to create 5 temp files.

This is a great example of using a ๐—ฐ๐—ผ๐—ป๐˜๐—ฒ๐˜…๐˜ ๐—บ๐—ฎ๐—ป๐—ฎ๐—ด๐—ฒ๐—ฟ โ€” a clean way to automatically clean up resources.

pytest makes it even easier using the ๐˜ต๐˜ฎ๐˜ฑ_๐˜ฑ๐˜ข๐˜ต๐˜ฉ fixture:

23.04.2025 09:14 โ€” ๐Ÿ‘ 3    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Botnet Part 1: Those Stealthy Botnets Itโ€™s one of those days again where botnets are hammering my little e-mail server with brute force attacks to send spam. This comes in waves, but is persistent and part of the #SysAdminLife. (They obvi...

just a nice article about what is happening right now with botnets

jan.wildeboer.net/2025/02/Bloc...

23.04.2025 08:47 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
8 Best Games For Linguistic Experts The best video games for players than consider themselves linguistic aficionados.

List piece on dualshockers about linguistic games - and great, HV is in it, but also - PataNoir! The Gostak! Suveh Nux! This is a good list.

The Gostak is an all-timer.

17.04.2025 22:03 โ€” ๐Ÿ‘ 64    ๐Ÿ” 21    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image 10.03.2025 16:47 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Provided you already have a Python install of version 3.8 or higher you can run this:

pip install aider-install && aider-install
The aider-install package itself depends on uv. When you run aider-install it executes the following Python code:

def install_aider():
    try:
        uv_bin = uv.find_uv_bin()
        subprocess.check_call([
            uv_bin, "tool", "install", "--force", "--python", "python3.12", "aider-chat@latest"
        ])
        subprocess.check_call([uv_bin, "tool", "update-shell"])
    except subprocess.CalledProcessError as e:
        print(f"Failed to install aider: {e}")
        sys.exit(1)

Provided you already have a Python install of version 3.8 or higher you can run this: pip install aider-install && aider-install The aider-install package itself depends on uv. When you run aider-install it executes the following Python code: def install_aider(): try: uv_bin = uv.find_uv_bin() subprocess.check_call([ uv_bin, "tool", "install", "--force", "--python", "python3.12", "aider-chat@latest" ]) subprocess.check_call([uv_bin, "tool", "update-shell"]) except subprocess.CalledProcessError as e: print(f"Failed to install aider: {e}") sys.exit(1)

Wrote some notes on Aider's unconventional but kind of brilliant installation mechanism, which solves the "isolated Python virtual environment" problem by bundling uv as a dependency! simonwillison.net/2025/Mar/6/a...

06.03.2025 01:51 โ€” ๐Ÿ‘ 74    ๐Ÿ” 7    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 2
An dusty, industrial looking control panel in a wall. There are two big white square buttons on it. The one on the left has a red border and the letter 'i' touching the bottom, representing a person stuck to the ground (the dot of the i being their head). The 2nd button also has a red border, but inside the button is an upside down stickman figure, arms and legs spread out. To indicate this person is floating around helplessly in zero-gravity.

An dusty, industrial looking control panel in a wall. There are two big white square buttons on it. The one on the left has a red border and the letter 'i' touching the bottom, representing a person stuck to the ground (the dot of the i being their head). The 2nd button also has a red border, but inside the button is an upside down stickman figure, arms and legs spread out. To indicate this person is floating around helplessly in zero-gravity.

You know who should've won an Oscar last night? The person who designed the little 'Gravity on / off' buttons in Alien Romulus.

03.03.2025 08:04 โ€” ๐Ÿ‘ 14801    ๐Ÿ” 1839    ๐Ÿ’ฌ 51    ๐Ÿ“Œ 47
Post image 03.03.2025 13:15 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image 02.03.2025 15:41 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
The FFT Strikes Back: An Efficient Alternative to Self-Attention Conventional self-attention mechanisms incur quadratic complexity, limiting their scalability on long sequences. We introduce FFTNet, an adaptive spectral filtering framework that leverages the Fast F...

Low-hanging fruit: If you've already done the work of laying out the sequences in a convolution-friendly way, taking their Fourier Domain representation is a multiplication. Thing is the layouts are learnable, and the memory grows in nlogn as opposed to n^2
arxiv.org/abs/2502.18394

26.02.2025 18:40 โ€” ๐Ÿ‘ 19    ๐Ÿ” 4    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1
Post image

ALPS CP10SJ550A Kanji Keyboard. deskthority.net/viewtopic.ph...

480 keys.

25.02.2025 17:55 โ€” ๐Ÿ‘ 136    ๐Ÿ” 31    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 5
Post image 26.02.2025 18:19 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The Hobbiton set is now a generational project. It was built cheaply for LOTR, then torn down, then rebuilt more permanently for The Hobbit, and has had substantial impressive additions since then. If interest continues, I expect it will keep growing. It's more than a set now.

21.02.2025 20:50 โ€” ๐Ÿ‘ 22    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

I agree completely. But also I have to say games companies these days are known to shoot themselves in the foot and unfortunately also developers pay the price for this with layoffs. eg Baldur's Gate 3

17.02.2025 11:41 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Loved the DS remake so much I played the new game+ option once I finished it.

17.02.2025 10:33 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@mamonu is following 20 prominent accounts