We're living in the universal cover of a time loop.
Not today Justin
todays bird
Alisa U Zemlji Chuda
Xuebing Du
Misplaced Lens Cap

if i look back, i am lost

tannertan36
tumblr dot com

titsay

oozey mess

Janaina Medeiros
"I'm Dorothy Gale from Kansas"

Lint Roller? I Barely Know Her

ellievsbear
Game of Thrones Daily
2025 on Tumblr: Trends That Defined the Year

⁂

seen from France

seen from United States

seen from Netherlands
seen from T1

seen from United States
seen from Sweden

seen from South Korea
seen from United States

seen from United States

seen from Germany

seen from Argentina

seen from United Kingdom
seen from Germany
seen from United States
seen from Switzerland

seen from Malaysia

seen from Malaysia

seen from Denmark

seen from Malaysia
seen from United States
@4denthusiast
We're living in the universal cover of a time loop.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
The original version of the trusting trust attack assumes that the compiler it affects has source code known to the attacker, so it's only able to propagate itself through a particular compiler, or at best a certain list of them. In one sense this is necessary. It wouldn't be possible to insert the trojan into arbitrary compilers because even deciding whether a given program is a compiler is undecidable. However, that doesn't mean there aren't highly effective heuristics available. If you ask a modern LLM whether some source code you provide it is a compiler, it will almost certainly be able to tell you. That's an algorithm. All the cases that the uncomputability requires this algorithm fails in are ridiculous obfuscated compilers that would essentially never be used.
A sufficiently powerful AI would be capable of adapting the attack to arbitrary compilers, so by including such an AI into the trojan, it should be possible to design a much more future-proof version of the attack. I don't know whether AIs are there yet (this requires quite a high level of reliability with little to no opportunity for the AIs to test their code), but I wouldn't be too surprised if they are soon.
A fully AI-based quine-like program would tend to degrade over multiple iterations, as copying errors are introduced. However, I think it should be possible to separate the self-replicating part and the AI part such that this isn't too much of a problem. You can use the quine technique to write a function F which, given the source code of a compiler, asks an AI to insert a processing step into the compiler where it first runs F on the source code the compiler is compiling, then proceeds as it otherwise would have from the modified source, where the AI is given a precise copy of the code for F that it is asked to use.
This requires that you write F in a particular language, but almost all languages have some way to call foreign code, and the AI should be quite capable of figuring out the details of hooking up the fixed function F through the foreign function interface. You could even make F a pre-compiled binary and have the attack link a copy in to compilers it's attacking, but then that's not portable. For maximum portability, you probably need to write F in C, as it's usually the case that a computer being used for development in some other language will have a C compiler available for the attack to use. You could include a backup step though, where the AI is asked to use the exact code of F it is given, unless it can't find a C compiler, in which case it should attempt to re-write F in whatever language the compiler itself if written in (but this modified F should still provide its internal copy of the AI with the original F source code, not the modified code, to avoid accumulating errors).
Of course, actually implementing this attack would probably make the compiler so slow and large that the user may well notice something is wrong, and if the AI ever makes mistakes, the user could see erratic and suspicious compilation errors. Suppressing these errors requires that the attack modify affected compilers more extensively, and including a more capable AI to avoid making mistakes in the first place makes the affected compilers more expensive to run, making it easier to notice that way, so there are tradeoffs. If you offload the AI to some online API rather than running it locally (well, locally to your victims' computers), this would essentially eliminate the suspiciously large file sizes but it would require that the compiler has Internet access, and also you'd have to find a public AI which would not object to writing malware and which has a stable API, or else host the API yourself.
Having completed the basic ending in Hollow Knight, I'm feeling like I've barely been capable of getting as far as I have, but also I've been feeling kind of like that for much of the game already and I haven't actually hit my limit yet. Judging by the remaining achievements I still have a whole lot further to go though, so I'm not actually expecting to be able to complete it all. We'll see how it goes.
Fear is the orgasm that brings total annihilation.
The ability to travel to other worlds through space has had unanticipated benefits to terrestrial transport as well, since by making a vehicle out of materials from distant planets in all six cardinal directions, one can create a sympathetic bond with those worlds. The vehicle, when driven, tugs on those bonds, and propels itself a little way towards its distant home without the need for fuel.
The environmental benefits of course are enormous, but there has been an unexpected side-effect. A person killed by such a vehicle while its bond is in use will, via the powerful psychic release of their death, themself form a bond with the distant world. Then, instead of travelling to their appointed afterlife, their soul will be launched into space and reincarnate on a distant planet.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Most of the songs I regularly get stuck in my head have obvious reasons for it, either they're songs I particularly like or they're often played as background music in places I go. Somehow though, the Sargasso Sea eels song has ended up in the rotation despite the fact I've only heard it once.
going back in time to set up a box and a sign in the Veretskyi Pass saying ALL CONQUERING PEOPLES MUST DEPOSIT A REPRESENTATIVE SAMPLE OF THEIR LANGUAGE AND A SHORT DESCRIPTION OF THEIR HISTORY AND SOCIAL ORGANIZATION and thereby saving future historians and historical linguists an enormous amount of trouble
#this and teaching the sumerians IPA and how to do linguistic fieldwork
This makes me wonder how much the IPA would have drifted in pronounciation over time like normal alphabets do. Explicit descriptions of what's going on in the mouth would help of course, as would deliberately acknowledging that the IPA spelling of a word should change over time and in different dialects, but at least in the case of vowels some of the distinctions are kind of vague. In real life, there's sound recording technology, which slightly pre-dates the IPA, to provide a more objective record, and we can also use it to study formants and stuff. It wasn't very good by the time the IPA was introduced though, so there could have been a bit of drift, and of course the Sumerians wouldn't have had that at all.
Even introducing the concept of phonetics and a phonetic alphabet to an ancient culture seems like it would give historical linguistics a huge boost though, even if we don't know a priori what phonetic alphabet they're using.
ok i know all of europe is bitching about the weather this week. but damn. it warm.
Honestly, it's long past time that Europe bit the bullet and admitted that air conditioning might be necessary.
I been saying! AC was always defensible in Europe’s climate—you don’t need much, but it does get hot in the summer, and it’s not that expensive (and preventing vulnerable people dying of heatstroke is worth it!). But AC is genuinely one of the great technological innovations of modernity. Of the same class (though obviously not quite as impactful as) antibiotics and the green revolution.
And, honestly, you don't need one of those energy sucking central units either, they make mini splits that are really affordable and efficient for cooling (and heating!) one room at a time.
yeah modern AC units that double as supplementary heaters in the winter are neat. AC in general is actually way less energy intensive than heating, but i think i'm gonna invest in one of those split units for our flat here. given that climate change isn't going to make these heat waves any better, i feel like even if you only occasionally are getting high-30s or even 40 degree days, you still need a place to cool off if you want to be able to function as a human being. and also not die of heat stroke because your extremely fluffy cat insists on still cuddling you.
Having recently bought one, even with it being the less efficient one-hose type and even with a janky temporary hose connection that leaks (can't buy a better-fitting hose until the weather cools enough to go places), I'm still glad of it. I should have bought one earlier.
I mean it's not as bad as some people made it out to be but I do feel like that was an Underwhelming Digital Finale
I think this series had some interesting ideas and there were parts that worked pretty well but a lot of the humor falls flat in the first few episodes, some of the characters feel underdeveloped (especially compared to how much time we spend with Jax) and there is truly some Abysmal Digital Pacing in the finale. Makes it feel like this show should have been 12 episodes instead of 9 so we'd have more time to explore the characters who got sidelined and give Caine the time he needed to have a satisfying arc
Yeah it basically skipped all the parts where interesting things happened to characters that aren't Jax, and characters who aren't Jax actually had like experiences and change because of them. And also we spend 20 minutes on Jax to do what we should have done in 5-7. Mostly it's characters namechecking concepts they don't actually engage with.
Nobody gets enraged or despondent or desperate, nobody has any conflict with someone who isn't Jax, we don't see what rebuilding entails, we don't see any part of the process of finding meaning. Nobody tries to kill themselves or each other. Nobody says anything they end up regretting. The best part is the smash cut to Jax abstracted because it feels like there's stakes all of a sudden, but there's not. Caine learns what he did was wrong offscreen and fixes himself. There's lots of staring down the barrel of the camera and saying what their feelings are in a healthy way.
The character things we were waiting for in this episode happen offscreen and in a credits montage.
project hail mary but grace's translation program uses that awful fucking default tiktok TTS voice for rocky instead.
Despite the large amount of Project Hail Mary posts I keep seeing on Tumblr, this is iirc the only one including Rock speech audio, so this is just what Rocky sounds like to me.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
There's a fun algorithm I learnt about recently, gradient descent with Sobolev preconditioning (or just preconditioning in general), that I felt like sharing (even though I still feel like there are aspects I don't totally understand).
So, in gradient descent, we're trying to find the minimum (or at least a local minimum) of some differentiable function f : ℝ^n -> ℝ. We start with some initial guess, x_0, and iterate, x_{n+1} = x_n - t_n ∇f (x_n), where the step size t_n is some real number (which may depend on x_n and f, or may just be constant, different implementations of gradient descent do this differently). We want x_{n+1} to be as close to the minimum as possible.
Consider the simple case where f is a quadratic function, f(x) = (x-b)ᵀ A (x-b)/2 for symmetric positive-definite A. A C2 function sufficiently near a local minimum can be approximated in this form. Wlog, by changing the coordinates, we can assume that A is diagonal and b is zero. Then ∇f(x_n) = A x_n, and x_{n+1} = x_n - t_n A x_n. Setting t_n to 1/(A_ii) will guarantee that the ith coordinate of x_{n+1} is zero, which is the value of the correct answer after the coordinate transform, but this only works for one axis at a time. If the entries of A are very different from each other, a step size t_n that works well for a small one will overshoot for a large one, and vice-versa. There is in general no value of the step size that will give fast convergence. (You could pick a different axis to minimize on different steps, but once you add back in the complexity of an arbitrary function f, that becomes much harder.)
So if A has entries of very different sizes (is ill conditioned) (for non-diagonal A, the condition is that its eigenvalues are of very different sizes), convergence is poor. Why not do another change of coordinates so that A isn't ill-conditioned any more? Scale x on the ith axis (in the diagonal case) by 1/√A_ii. Then f(x) becomes simply xᵀx/2, or x·x/2, and convergence is immediate. However, this change of coordinates takes more care than the rotation required to make A diagonal. ∇_x f(Mx) is not generally equal to (∇f)(Mx), rather it is Mᵀ(∇f)(Mx), so applying this re-scaling will materially change the algorithm. If we're effectively applying gradient descent to find the vextor Mx such that f(M⁻¹Mx) is minimal, then the iteration formula becomes
Mx_{n+1} = Mx_n - t_n M⁻¹ᵀ ∇f(M⁻¹Mx) x_{n+1} = x_n - t_n (MᵀM)⁻¹ ∇f(x),
the question is then how to pick a good M (or (MᵀM)⁻¹ directly, as that's the only place it actually affects the algorithm) so that convergence is fast.
The matrix A which gives the best local quadratic approximation to an arbitrary function f is the Hessian (the matrix of second derivatives) of f, which is usually something we can explicitly calculate. In the diagonal quadratic case described previously, the matrix M which gave immediate convergence was √A. As A is symmetric, (MᵀM)⁻¹ simplifies to A⁻¹, and we can apply the same approach in general using the Hessian, giving the iteration formula x_{n+1} = x_n - (∇∇f(x_n))⁻¹ ∇f(x_n). For a quadratic function, this converges exactly in one step, and for an initial guess x_0 close enough to the true minimum that f is well approximated there by a quadratic, it gives much better convergence than plain gradient descent. It's equivalent to solving ∇f(x) = 0 by Newton's method, but this gives some indication of where it would fail: it isn't always finding a minimum, sometimes it's finding a maximum or saddle point instead. Also, if any of the (x_n)s are at or near inflection points (which will be all over the place in a high-dimensional space), the division may cause huge errors or fail entirely.
Instead of setting the preconditioning matrix (MᵀM)⁻¹ to exactly the inverse of the Hessian, which gives perfect conditioning near the minimum but sometimes doesn't work at all, and may be computationally expensive, it can be useful to set it instead to some value, designed to fit the particular application, that merely gets the eigenvalues of the preconditioned Hessian to be of generally the same scale rather than exactly the same.
Suppose f = g∘h, where f is ill-conditioned for gradient descent but g is not. It would be possible to minimize g(y) easily, but there may not be any x such that h(x) = argmin(g), and even if there is, x may be difficult to find. Instead of running gradient descent on g though, we can run preconditioned gradient descent on f, using the decomposition into g∘h to inform the preconditioning, generalizing the earlier case where f = (f ∘M⁻¹) ∘ M was decomposed into well-conditioned f ∘M⁻¹ and linear M. Rather than taking h to be linear, just take it to have a linear approximation, i.e. a derivative. Then the preconditioning matrix becomes ((∇h(x_n))ᵀ∇h(x_n))⁻¹. Even if the Jacobian matrix ∇h(x_n) isn't square, its product with its transpose will be. And of course if (∇h(x_n))ᵀ∇h(x_n) is possibly singular, or hard to compute, then an approximation can be used just like with the Hessian of the whole function f.
A special case of this is Sobolev preconditioning. Suppose the argument to f is (a discretization of) a function on some manifold Ω, and f depends on the gradient of this function. Then set h to the discrete gradient operator (which is actually linear), and the elements x'ᵀ (∇h)ᵀ∇h x of the matrix become ∫_Ω ∇_z x(z) · ∇_z x'(z) dz = ∫_∂Ω x(z) ∇_z x'(z) · n dz - ∫_Ω ∇²_z x(z) x'(z) dz, where the integral comes from taking the dot product of two functions. If the boundary term can be neglected (either because the manifold has no boundary, or because of the boundary conditions), this implies that the preconditioning matrix is just (-∇²)⁻¹, where the Laplacian is over the manifold Ω so after discretization it becomes just an n×n matrix, where n is the number of sample points. It may be a singular matrix (depending on boundary conditions), since the Laplacian of a constant function is 0, but in practice there are ways to work around this.
There's quite a nice intuition for what the Sobolev preconditioner is doing to make gradient descent faster. If the function x is already somewhat optimized, but at some point z_0 in its domain there is a gradient in f requiring x to change (i.e. d/dt f(x + t δ(z-z_0)) is non-zero), then after one simple gradient descent step, x(z_0) will change, which will change the gradients of x around z_0, then since f depends on the gradient of x, the next gradient descent step will update these adjacent points to compensate for the change, then the next step will change the points one step farther out from z_0, and so on. With a Sobolev preconditioner, instead of just updating x at z_0, the values at all the surrounding points are immediately dragged alond with it, since the effect of (-∇²)⁻¹ is to spread the input out like an electric field spreads around a set of charges. This is done in a way that minimizes the total change in the gradients of x.
I heard of this from a video about a particular application using an extension of Sobolev preconditioning.
Seeing people anthropomorphize things so much feels kind of sad sometimes. It gives the impression that they don't care about the thing, they only care about people and are only able to appreciate anything else through that lens. People are cool and all, top 1 species for sure, but there are other things.
It is well known that a skilled swordsman can cut up an enemy so precisely that there is a considerable delay before the enemy actually falls apart and dies. Those who have truly mastered this art will instead cut all potential enemies while they are children, letting them live their lives as though still intact until the moment they stand against the sword master, at which point they are already dead.
Labor theory of value stipulates that a cursed object must be worth more than the same non-cursed item.
Feels like New England is old enough at this point to get its own name. Doesn’t need to depend on Old England for its identity. Maybe you could just spell it differently. Newinglan. Nuwingland. Nuinglân. Nyúanglann.
Take a leaf from Russia's book and call it Greater New England
I mean it is literally bigger than England if you’re not going to give it an original name you could call it Greater England.
"Greaterer Southern Brittany"

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
New rule (only mostly joking): if a busker provides you some positive value, you put some money in their collection box, but if they provide you negative value, you get to take money from their box as compensation. If the box runs out, they have to either stop playing or re-stock it with their own money.
Going to see Obsession, and they carded me, which I found confusing, partly because they said "ID or tattoos" because I guess they accept a tattoo as proof of age. But I just didn't know what was going on.
Weird that a tattoo counts as valid but a middle-aged face doesn't (Iirc, OP is about 40). To some extent you could fake that with makeup, but faking a tattoo with makeup would be even easier.