« first day (4980 days earlier)      last day (158 days later) » 
00:00 - 13:0013:00 - 00:00

amazing
I will use this power only for good
does the lhs or rhs control the behavior of those?
they're functions
isinstance(thing, type)
yeah internally they're operators
cmp(self,other)
13:01
that calls type.__instancecheck__
ah so the rhs
can you override values of literals in python?
because that's a thing in java
with ctypes, yes :3
I love that generic type hints are implemented with __class_getitem__
13:02
could you do some weird multiple inheritance stuff with that (the instanceof stuff)?
list[int] looks like accessor syntax, because it is accessor syntax
@rydwolf that's exactly what it's for
(sort of)
incidentally, a metaclass has the ability to modify the namespace of a class body before it's executed with __prepare__
which means you can do all sorts of fun DSL-adjacent shenanigans
@rydwolf back in my day, we fine tuned temperature and frequency penalty
nowadays, it's all pre-set jailbreak detection bs
real
you can't even threaten chatgpt that you will kill puppies if it doesn't comply
13:16
I like how rapidly LLMs went from a fascinating new frontier to just another useless scammy buzzword thing that helps people cheat on homework and does very little else
at least it's moderately useful
unlike crypto
I mean, crypto is moderately useful too, if you need to do illegal online gambling or buy large amounts of drugs
fair enough
but have you considered that we could simply be burning GPU cycles for no reason at all?
that seems more efficient to me tbh
between LLMs and crypto though, only one has been artificially constrained not to output joe biden erotic fanfic
so there's that to take into consideration
ugh the 4 is slightly misaligned
13:19
@Themoonisacheese i mean yeah proof of work is stupid but aren't lots of the big ones PoS now?
@rydwolf damn you're right
shush lyxal
just googled "is ethernet proof of stake" lol
both start with ether tbf
on a technicality the checksums on ethernet frames are proof of work?
@rydwolf nono i meant a possibility open to us right now is a brand new business venture of straight up burning GPU cycles for no reason at all
because apparently all buzzwords come back to that so we might as well go to the source
13:22
actually yeah you're right
we need a good name for it though
Dynamic Compute Actualization
Decentralised Thermostatic Adjustment
Compute Big Tunnel
well, it works
Melting@home
from types import FunctionType
from typing import Self
import inspect

class Match(type):
    def __new__(self: Self, name: str, bases: tuple, namespace: dict[str, any], thing: any):
        for member in namespace.values():
            if isinstance(member, FunctionType):
                signature = inspect.signature(member)
                assert len(signature.parameters) == 1, "One parameter expected for a case"
                if list(signature.parameters.values())[0].annotation == thing:
                    return member(thing)
5
13:24
this is beautiful
i'm struggling to parse what it does
graphical expenditure is a nice name for ^^^^^
@Ginger I can’t brew install pipx because I have something else that already depends on a conflicting version of openssl
what
ಠ_ಠ
ooooookay, try pip install pipx
13:26
won't work
I still don't understand why package managers exist that don't let you install two different versions of the same thing
0
Q: Implement a Monad

bigyihsuanA monad is a type that wraps another type, that represents the available operations on the wrapped type. Monads have the following associated operations, where M is the monad type, and T and U are any type: A type constructor that defines a new type M[T] that can hold some type T. A type convert...

==> Pouring [email protected]
Error: Cannot link openssl@3
Another version is already linked: /usr/local/Cellar/openssl@3/3.3.2
@rydwolf eli5
pip will yell about non-managed env
13:27
--break-system-packages my beloved
@Ginger pip3 install pipx worked
that's fucking insane
@rydwolf an interesting reason is that in strongly-typed languages the type system can choke on it :p
since zingler (v1).type may be different from zingler (v2).type, and they can both exist together
I seem to recall Haskell had a problem with this?
yeah but like, isn't that why config files where you specify the versions of your dependencies exist?
only one zingler should be in scope at once
@Themoonisacheese it's a metaclass that looks over every attribute of the class it's used on to find the first function with a single parameter that has a type hint equal to the value of the thing class parameter, and assigns the return value of that function to the name of the class
sane and reasonable
13:30
still don't get it
oh okay i get it
0
A: Sandbox for Proposed Challenges

qwr[draft] List Brace Expansion Easier version of Expand a bash brace expansion Bash has a useful feature where a comma-separated list within braces expands to every combination of the list items, separated by a space. For example, a{b,c} will expand to ab ac. If there is no comma, then there is no ...

the second class definition is equivalent to:
match foo:
    case "a":
        result = 42
my favorite feature of Python is how many parts of the language are not set in stone
want to make class definitions do something entirely different? go right ahead
isn't JS still heavily reliant on .toString() for pretty much anything?
@rydwolf what if a dependency requires a different zingler than you have, and returns it to you?
wouldn't that be an issue regardless of whether you can have multiple versions installed or not?
if you don't have overlap in which versions you support
13:37
I mean, in Python (for example) you can only ever have one zingler, ever, for the whole project
that is why dependency resolution exists
it doesn't matter in Python since Python is dynamically typed though
i think the main problem stems from the distrinction that most of the time when you use a lib, you don't actually care about anything that it requires
package managers were written with the assumption that anything a lib you use imports, you also end up using because the lib is giving you back objects from those sub-libs
I feel like there could be a smarter way of doing it that looks at where versioned dependencies "leak" from one thing to another. Like if two dependencies of your project use different zinglers which never escape those particular dependencies, it's fine to have two zinglers
certainly
i think it'd even be fine to by-default limit dependency leaking to the thing requiring it in the first place
but I can't think of any languages which do that
13:40
and explicitly have to say "actually, my code does expose zingler 2"
it would definitely be possible in a statically-typed language with visibility controls
yep, I guess that's why Python can't do that
That's the downside of a language that you can mold to your will :p
i think you still could
yeah Python could
it just doesn't
of course pip doesn't agree and neither will import
13:41
So far so good but I'm getting a RuntimeError doing poetry install
could it? I'd assume with reflection and stuff you'd always have a way to get at someone else's zingler
but you can manually "import" files if you know where they are
  - Installing torch (2.4.1): Failed

  RuntimeError

  Unable to find installation candidates for torch (2.4.1)

  at ~/.local/pipx/venvs/poetry/lib/python3.9/site-packages/poetry/installation/chooser.py:74 in choose_for
       70│
       71│             links.append(link)
       72│
       73│         if not links:
    →  74│             raise RuntimeError(f"Unable to find installation candidates for {package}")
       75│
       76│         # Get the best link
       77│         chosen = max(links, key=lambda link: self._sort_key(package, link))
because one of the fundamental axioms that Python's import system and package manager assume is that a package is either there or not there
@Bbrk24 and I bet torch is a C module
@rydwolf of course, but that's besides the point. if you want to you can manipulate butterflies in JS but most people don't have to and that's fine
13:42
I only depend on it indirectly
Oh apparently poetry/torch stuff is a known issue and there's google results about it
surprise!!!
if you have it installed globally you can configure poetry to grant your project access to your system site-packages
I want installation to be as easy as poetry install
is that too much to ask?
I don't want to have to ask everyone who's working on this to manually install PyTorch first
it is indeed too much to ask, because C modules exist and were a mistake
again: worst part of the language
@rydwolf the point would be to, unless you're explicitly trying to break shit, define at the package level what your module can spit out, and you can parse a tree to see where conflicting versions of things might happen, enforced with linters
@Bbrk24 what are you trying to do
Setting up the first Python project anyone has ever done at my workplace
I had it working with globally installed pip packages but that's a bad idea for obvious reasons
I wish I had something more helpful
@Ginger How does that work? Can I tell it to "use this torch but otherwise isolate dependencies for this project"?
I also might just use Conda or Mamba because that's what we used at my last job
and then, when you have your requirements in a requirements.txt:

git clone <project>
cd project
python3 -m venv .venv
#linux:
source .venv/bin/activate
#windows
.venv/bin/activate.bat

pip install -r requirements.txt

python3 main.py
[etc]
13:50
> linux/windows
mac
same as linux i think
There's a grand total of four imports, I think I can handle the requirements.txt by myself
okay yes you can also do that
the above wil lgive you what you need for installation though
@Bbrk24 all you can do is poetry config virtualenvs.options.system-site-packages true --local
afaik
all contained in a venv, so cannot conflict with local install
also remember to add .venv to .gitignore
13:52
@Ginger the venv stuff with just pip sounds easier, I'm doing that, sorry
it's also the canonical (pip) way of doing it
@Bbrk24 alr
good luck
on mac there's also zsh mods to automatically activate/deactivate venvs when you enter/exit the folder which is fun, idk if you are power users of zsh though
(i love zsh)
(this is on stark contrast from my workplace which uses csh)
opinion: the web should not be designed in such a way that a website being able to see itself is a security vulnerability
13:56
(looking at you, iframes, SOP exception for images, and cross-origin visited link styling)
Aug 27 at 12:57, by lyxal
I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS I love CORS
CORS? I was CORS once. They locked me in a room. A Cloudflare room! A Cloudflare room with localhost requests, and localhost requests make me CORS.
6
May 19 at 5:16, by lyxal
it takes a lot to put yourself in a situation where you can shoot yourself in the foot
see also: overleaf
this is part of the documentation i wrote on overleaf:i.sstatic.net/xzj1eKiI.png
14:02
my response to using overleaf
and i capped it of with this i.sstatic.net/nSxrMNhP.png
note that i am the only member of my team who is even aware of what docker is to begin with
> and i capped
fr fr cap
ong no cap stg
@Themoonisacheese It didn't install anything in the .venv folder because I already have it globally. Is that normal?
no not really
14:07
Oh, it started with Defaulting to user installation because normal site-packages is not writeable
you may add --ignore-installed to the pip command to ensure it does download packages
it then proceeded to install everything in ~/Library/Python/3.9/lib/python/site-packages
oh god that's my bad
can you do which pip and which pip3 and show me the output
which pip has a nonzero return code :P
which pip3 is /usr/bin/pip3
are you sure you sourced the activate script?
14:09
...I did not
thanks
Also apparently the torch issues with Poetry are Mac-specific, or at least exacerbated by Mac-specific stuff: github.com/pytorch/pytorch/issues/110004
i'm guessing this is because pytorch is intended for CUDA and well, macs don't have that
idea: a "quiz" or "captcha" that abuses :visited styling to trick the user into voluntarily revealing which websites they've visited
E.g., the content of the link is just invisible characters and the background-color is set based on :visited
Then you put an invisible overlay on the page so that you can prevent them actually navigating away when they click
14:26
ok but why
history stealing
if you had the capacity to do this at any kind of useful scale you'd already have the history
eg: cloudflare
not necessarily
how many buttons do you think you can make a user click until they stop and leave?
14:50
1, I would hope
How do I remove the line length limit for a pandas series to_string? I have a series of lists and I want it to show the full list for each row
> Text Stealing. Our attack is limited to scenarios in which the
attacker is able to guess the font used by the user. In cases
where this is not possible, for example if the user changes
the font, the user is not vulnerable. Moreover, while the technique extends to languages with very large alphabets, such
as Mandarin, in practice as the alphabet size increases the
attack becomes less practical especially compared to simply
sampling each pixel multiple times.
"use a secure font" is apparently now actual security advice :p
you can guess a font in a lot of cases
by trying to instance it and time the delta it took to load
0
Q: Play the Final Fantasy Prelude

G. SliepenPlay the initial section of the Final Fantasy Prelude. This is a 4-octave up-down arpeggio of the following chords: Cadd2, Amadd2, Cadd2, Amadd2, Fadd2, Gadd2, G♯maj7, A♯maj7 Rules: Actual sound must play when running your code. What environment is used is up to you, for example it could be a fa...

16:22
@Adám you want to give a chat room access to itself?
@TheEmptyStringPhotographer Thanks!
17:08
...how does a pager explode? Exploitable lithium ion battery firmware or purpose-designed devices sold as pagers or what?
Okay it was the lithium ion batteries that did the actual exploding apparently
(There's already a Wikipedia article)
Oh apparently they'd been received in a shipment just a few days ago?
I guess that means it's much more likely they were purpose designed to explode instead of some sort of exploit pushed out to existing devices
@Adám done
Thanks.
17:40
@rydwolf I would a priori expect a battery that exploded to be newer, if for no other reason than that if there's a manufacturing defect that makes it really prone to exploding it seems like it would explode relatively early in its expected lifetime
But I have no idea what happened here so if there's like, actual reason to suspect some kind of conspiracy, then yeah probably that
Was there some kind of high-profile arson?
@rydwolf this is how I learn that happened??
 
1 hour later…
18:56
@Ginger OH THAT'S BEAUTIFUL
phenomenal cosmic power
Itty-bitty living space code?
something like that
19:24
@UnrelatedString I'm sure you've checked the news since, but for anyone who hasn't, yeah, over 2000 people in Lebanon/Syria were injured by pagers rigged to explode and planted mainly on people associated with Hezbollah
15 dead (9 in Lebanon, 6 in Syria) last time I checked
so basically the explosions are just enough to disfigure a bunch of civilians, but not kill people
which is definitely how international law says you should operate
wonderful :|
(I have not checked the news since :P Considered it because multiple people alluding to this piqued my curiosity, but then decision paralysis hit when I tried to figure out where and how I would actually look it up)
Yikes
NYT gift article so y'all can read it
19:26
Oh neat thanks
random graph I made
happens to be a self-similar fractal
(I think it’s self-similar)
I'm shocked how few people seem to know about what's going on, hundreds or thousands of bombs planted on people rigged to go off simultaenously and injuring thousands is not a small deal
I suspect we'll find out soon enough
fwiw Hezbollah's already blamed Israel for this
People have been searching for pagers 📟
I love it when a website serves me an ad for a back-supporting chair that's 95% the height of my screen
the ad, not the chair
rydwolf when you're president can you require digital advertising to take up max 5% of the screen area of the device
20:25
0
Q: Fractions nobody needs (because they can be reduced to a simpler form)

Sophia AntipolisIt happened in the 19th century. Georg was bored and started counting the rational numbers. Surprisingly, he discovered that there were no more of them than natural numbers. This insight made Georg famous. (OEIS A352911, only added in 2022!) But was Georg right? He didn't even count half of the f...

jan
jan
20:46
@TheEmptyStringPhotographer with highest density in lebanon
21:23
@TheEmptyStringPhotographer Protip: instead of using the image URL, you can just type https://xkcd.com/329 and it will show the comic and also the hover text will work.
22:21
This is how you know you're in for a good time:
22:50
Okay so evidently there was a small amount of actual explosive in the pagers, which makes sense. My impression of lithium ion battery "explosions" was that they aren't really like a sudden bang
So I guess the lithium ion battery thermal runaway set off actual explosives
And yeah according to NUT it's basically confirmed to be Israel
Uhh...*NYT
23:15
TIL that if you keep moving your mouse on linux it wont only sincrease in size to help you find it it will keep growing as long as you keep moving your mouse
i just got my mouse to fill half the screen :P
jan
jan
which linux
that sounds like a goofy setting
@Seggan oh is that why the mouse size increases when you swish it?
Mac does it too, Windows doesn't
but Windows has an option to put a circle around the cursor when you hit Ctrl
@Bbrk24 IIRC mac only increases the size once and keeps it that way
@Redz yeah but i only thought it increased once
@jan Fedora KDE
@Seggan It increases to a point
moving it kinda fast vs really fast is a different size
but there is a size limit
23:24
hrm yeah i moved my mouse around for like a minute i still havent found a size limit
cant screenshot it tho :/
@Seggan can you get it to fill the whole screen
@Seggan video record?
@Redz itll prob take a while
@Seggan Fedora KDE gang who up
X11 or Wayland, out of curiosity?
Wayland
havent run X11 for a few months now
only thing that breaks is discord screen share but i just use the browser version for that
sheeeeeeesh
well did you figure out where it was? :P
23:49
(Discord Screenshare breaking is why I moved to X11 lmao)
You'd think it'd've been patched by now
00:00 - 13:0013:00 - 00:00

« first day (4980 days earlier)      last day (158 days later) »