Spent a good ol' chunk of the day chasing down that when the Phaser game engine has camera zoom set, it doesn't immediately update its transform matrix so `getWorldPoint` doesn't give the right answer.
Game engines are great, but they don't remove the need for good old-fashioned debugging.
Twaining an AI to undewstand what "harmful information" is turns out to be reawwy hard, UwU.
I'm going to have to put more butter on this popcorn while I watch this Musk/Apple dust-up.
Musk is accusing Apple of hating free speech.
They won't, but I really want Apple to respond with "Yeah bro. Have you even heard of us? We're the OG walled garden. The *vertical* monopoly. Our whole *deal* is 'Pay us to think for you.' Our *vibe* is "safety and comfort." Our *unofficial logo* is the rounded rectangle. You think you're a problem for us? Our users *pay us money* to deal with *problems like you.* *For them.* *Efffffff* your frozen peaches."
... they won't say it.
...**But they could.**
My head-canon is that Solomon had, like, ten trials lined up for the baby case but the one woman failed so hard on the first one that he ended up with a whole free-ass day, just... Calendar cleared.
"We'll cut the baby in half and... What? You said what? Wow. I... Okay. You know what? There was going to be a whole philosophical journey I was going to take you on here, comparing and contrasting property and people, responsibility to ownership, culminating with recognition of the mystery of soul and the supremacy of G~d in all things, but... No! I don't care who the biological mother is. Give the baby to the woman who *doesn't think it's okay to cut babies in half!* Case closed praise YHWH!"
Discussions of AI-generated art that try to cut the tech off at the knees by invoking copyright regarding training the generators on artists' work without their consent are fine, but short-sighted and won't stop the economic shift.
If these tools prove valuable for generating sufficiently-novel, sufficiently-controllable input, advertising companies and entertainment companies *will* pay fifty artists for their labor to generate the seed data to create fifty million images.
These technologies, should they prove viable, will become a permanent tool in the toolbox.
There is something shabby-luxurious about traveling by Amtrak along the Eastern US that is incredibly endearing to me. Just the whole vibe of "Yes, we know it looks nothing like the brochure, but damnit we're trying."
And given the option of flying somewhere or taking the train somewhere, if the difference in travel time is a matter of a few hours, I'll take the train every time. Planes are too distracting, and the tray table is way too small. Besides, 50/50 odds that for the price of a coach plane ticket, I get an entire roomette to myself.
I get so much code written on a train.
The list of things that have gone wrong at Twitter is, well, extensive. But the simplest one happened at the very start, was exacerbated by Musk's subsequent communication, and was extremely, IMHO, predictable.
So, let's talk about the difference between startups and established tech companies.
I worked at a startup as my first job out of college. Put five years in. It was an amazing experience and I was truly fortunate to have it; I was thrown into the deep end, learned things about software architecture that would serve me well throughout my whole career, and wouldn't trade it for anything.
I also:
* broke off a date with my future wife because I was the only one of three team members who could make a demo work for the next day. We pulled an all-nighter.
* became well-familiar with the biker gang that pulled up to the bar across the street from our office every Saturday night; could set my clock by them arriving. Did often, on account of all the seven-day weeks.
* got the sickest I'd ever been, out three weeks. Week two, my CEO calls and checks to see if there's any duty I could take on because we had no other hands to do it. I wrote some user-facing documentation. Three months later, someone caught all the obvious typos and asked "What idiot wrote this?" I dead-panned that I think I missed some issues on account of all the vivid hallucinations.
* had a conversation with my doctor about the indigestion that was waking me up at night. He suggested I relieve stress. I responded "I work at a startup, so what are the options that don't require a career change?"
And eventually, I left because I was ready to stop living like that.
Here's the thing: there is *so much* of the software dev ecosystem where you don't *live* like that. You live like that because you're working on something you're willing to sacrifice yourself for it (I'm not talking about being passionate about the work---you can be passionate and have a work-life balance---I'm talking actual sacrifice; things you won't get back) or you are expecting a *huge* payout relative to the invested effort. If those ingredients aren't there? You don't take that gig. And companies that aren't willing to offer that payout or the kind of we-are-here-to-change-the-world opportunity don't get those employees.
Twitter was once such a startup. It's not anymore. It went public. Once a company goes public, it's no longer a startup; it's a place people who want a reliable paycheck and a reasonable work-life balance go to work. At Google, we were counseled to have a "startup mentality" by leadership, and people certainly tried to give it their all, but... You just don't work like you're at a startup at a 100,000-person company. You can't. The buy-in isn't there. It does you no good to pull seven-day weeks when the database team you're relying upon works five-day weeks, holds all the credentials to modify the DB, and just won't answer their email on a Saturday. What's the point then? Go home, love your spouse, work on your house, hike in the park, touch grass.
Musk tried something I don't think I've seen before: he tried taking a company that "won the game," as it were, and *roll it back to a startup.* He took a place people had a stable job making a product people use and tried to make it a place where the future was uncertain again. And then he confirmed that, yes, he *was* expecting those employees to work seven-day weeks to realize a vision... A vision he didn't even enunciate.
Twitter was a place steady hands were working to maintain a mature product for a reliable paycheck. A mass exodus is entirely expected. I don't know why *he* didn't expect it.
I'll miss a few things about Twitter.
Mostly the fact that with a little sleuthing, you could find on every account which ones Twitter believed were Nazis or Nazi-adjacent. Because for German legal compliance reasons, they had to filter those accounts for German users, so there was a little metadata you could fetch via the API that told you if a given tweet or entire account was Germany-noncompliant.
Control system theory is frustrating because the nomenclature is all over the map.
Sometimes you get a formula where the inventors named the important tuning parameters, which you need to understand to make the formula work, "B" and "Zeta."
And then you get the *coolest* names for relatively mundane concepts, like "control authority." "Control authority" sounds like what an anime character uses to control their magic servant, not the idea that you can't force a motor to do more if it's already doing as much as it can.
When you get into #TypeScript and realize JavaScript classes are so... Weak.
Okay, so I figured this part out: a matrix multiplied by its transposition is a covariance matrix. By which I mean: the higher the value in a given (row, col), the more data in those axes were correlated.
https://en.wikipedia.org/wiki/Covariance_matrix
To simplify, consider a 3x3 matrix `A` and multiply `A` by `transpose(A)`.
What each cell of the result is telling you is how likely it is that when you change the value on the row axis, the value on the column axis changes the same way. So the diagonal will always be large, because data on an axis will always correlate with itself (i.e. when you change the value of `x`, the value of `x` changes in *exactly* the same way, `x*x = x^2`), but cell 0,2, for example, tells you how much changing x causes z to change the same way (if it's the same value as cell 0,0, then the points lie on a diagonal in the xz-plane: changing `x` causes the exact same change in `z`).
I still need to cogitate a bit on why the eigenvector with the largest eigenvalue of this matrix is the axis along which the data has the highest variance in the original coordinate space.
Hey lazymastodon, I have a linear algebra question.
So I've been thinking a bit about principle component analysis as of late. The way to find the vector of most variance in a multidimensional dataset is to put every datapoint in a column matrix, multiply that matrix by its transpose, and find the eigenvectors of the resulting square matrix.
Here's my question: I don't have a good intuition for what "multiply the matrix by its transpose" is doing. That compares every point to every other point by multiplying the same-dimension components together and summing the result across dimensions, but like... Why does that result in an interesting matrix instead of a pile of noise?
Election day in the US.
It's indicative I think of the modern nature of social interaction that I meet more of my geographic neighbors working the polls than I do any other day of the year.
They're all fine and lovely people, but we spend our lives living next to each other and commuting to thousands of different places to spend most of our waking time.
Career software engineer living something approximating the dream he had as a kid.