Wow, it's been like 10 years since I updated this. Neat.
I've made a dreamwidth blog just in case tumblr dies. I think dreamwidth is neat.
My username on Discord is Liliet#1061 (and no I don't intend to update it, they're asking but they haven't tried to force me yet).
My username on reddit is LilietB.
Read PGTE. Homestuck is great. Peace and love on the planet Earth.
I'm Ukrainian. Wish us luck.
An Archive of Our Own, a project of the Organization for Transformative Works
I HAVE FINALLY POSTED THE THING TO AO3
(working title, might be changed later)
premise:
immediately post s2 finale, after my fic that is _immediately_ immediately after it. Lilith has not called Charlie yet.
slice of life soap opera: nobody permadies, but a few people might at some points wish they did
the most insane multiship i can cram into a single timeline, and trust me, I am _creative_ with that. Welcome to hell, Alastor!
doing my best to treat serious subjects with the gravity they deserve, but this is still ultimately a fic, so yknow. sensitivity readers feel free to volunteer?
this is _mostly_ not a pornfic, but uh. regenerating immortal demon kink will be had. mind the tags, and check them for updates when i post a new chapter, okay?
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.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
a ton of people have unexpectedly followed me over the last 2 days so here is my rent-lowering gunshot:
the american south is the most racially diverse and poorest region of the united states, and any political sentiment that treats the south is stupid or expendable is inherently racist and classist. a lot of y'all are racist and classist. the south is also the heart of american culture. argue with a wall. you cannot deny that everybody in the entire world does not emulate artists from atlanta. there is vested interest in keeping the south poor and uneducated BECAUSE this is the most racially diverse region in this country. if you actually give a fuck about progress, you would fight for the south, not mock us.
We see Val holding Angel's chain extreamly tight so he can bairly move.
Alastor does this motion with Husk's chain so it doesn't drag on the floor.
Actually even then it still drags on the floor.
Also it's the way Alastor doesn't touch Husk when he's threatening him. Which to remind everyone he was worried about Husk possibly reveling his biggest secret.
Vs Val Slaps Angel, picks him up, shakes him, throws him into a couch, throws him on to the floor then grabs his face. I think I'm missing something you get the point.
And all that for Charlie stopping by with out Angel asking her to.
I have a deep love for purple. Like, royal, rich, vibrant purple. It's just so beautiful. Second fave is red but I don't know which shade. Just not the red they have in target stores. That job has ruined that red for me.
anon I know I blocked you but you seem like the kind of person who would make an alt account to check up on people who blocked you so I hope you see this post and it makes you punch a wall
it really is a fascinating set of cultural baggage. commenting on the post itself makes the default way of interacting with it be to include that comment, carrying the implication that you expect people to do so, and therefore that your comment is an improvement to its previous state. using the tags, by contrast, is humbly suggesting that your addition is something your immediate audience might want to see but probably not include in their successive reblogs, unless they bestow the honor of elevating it to the main post
a system where people are expected to downplay their own words, where to not do so is framed as arrogance
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.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
i appreciate asexual perverts but they get enough attention tbh. shoutout my asexuals with no hoes boring as hell no kinks no dirty magazines no riske drawings just completely winning the idgaf war
Since joining Tumblr, I’ve met a lot of young queer people. Look, I’m a bisexual man in a gay relationship, and I’m approaching 30. I was still a kid when Matthew Shepard’s story was being covered on the news. I remember thinking, “I better keep my mouth shut about these feelings I’m having.”
And then I met Dominic when I was 12, and people could see how in love we were. And we got the shit beat out of us. The year I met him, some kids in the grade above me held me down against the bleachers in our gym and stomped on my hand until my fingers broke. Instead of sending me to the nurse, the teacher sent me to the assistant principal to explain the situation. She asked why the kids had beat me up. I said, “They were calling me gay.”
Her response was, “Well, are you?”
My, “I don’t know,” earned a call to my parents, and I was outed. Efforts were made to keep me from seeing Dom. Throughout high school, Dom’s stepmother intensified these efforts. He slept in the basement of the house. Although he was an incredibly talented student, he was prohibited from participating in any extracurriculars. He suffered a lot of physical abuse during those years.
The day he turned 18, he packed up everything he had and walked to my house, and we’ve lived together ever since. Things are better, but they’re not perfect. I’ve had trucks pull up next to me at stoplights and, seeing the pride sticker on my car, through old drinks and garbage into my window. I no longer speak to my dad’s side of the family. I haven’t been to see them for Christmas or Thanksgiving in years. One of my uncles had cornered me at Thanksgiving when I was 17 and said, “I’m not going to judge you, but I’d be happy to break your neck so God can do the judging a little sooner.”
I joined a support group for trans and intersex people. When I joined, 40 people attended regularly. Within the year, the group was half the size it had been. Some couldn’t make it anymore, because they were staying at the shelter, where their stay hinged on them agreeing to instead to attend homophobic sermons. Some were put in correctional therapy. Five of them died. Three of those, I didn’t know, but I knew Alex, the 19 year old who was fag-dragged in Kentucky and died a day later in the hospital, and I knew Stephanie, who went home to Alabama to care for her mom in hospice and was beaten to death with a baseball bat by her mom’s boyfriend.
Tumblr is not reality. The dynamic here does not reflect the dynamic out there. Here’s the part where I finally make a point, and it might be extremely unpopular - but guys, value your allies. Value each other. We are met with enough hate in our daily lives to enter an online safe-space and meet more hate from our own, over petty things. Don’t go after one another over every little thing you find problematic.
Learn to see nuance. Maybe the word “queer” bothers you, and you see a gay man using it as an umbrella term. Maybe someone called a trans man a trans woman because they’re confused about terminology, but the post where they did it was voicing support for the trans community. Maybe someone is just asking a question, wanting to learn more. Stop. Attacking. These. People.
Allies are being driven away. Members of our own community are being ostracized. Others are feeling nervous and estranged, and it’s largely because of places like Tumblr, where the social justice movement is quickly becoming violent and radical. I am begging you, stop nitpicking “problematic” things and start directing your efforts to create real change. When it comes to comes to your allies, forget the “social justice warrior” mentality and put down your torch. Educate calmly. Be respectful. Be understanding. Be forgiving. And I’m certainly not saying that your anger doesn’t have a good place - when you are met with bigots on the street, congress members who want to pass hateful laws, violent protesters, abusive parents, prejudiced teachers, that is when you need to be a warrior. That’s when it counts. In the real world. When you have the opportunity to protect people from real harm. Attacking your would-be allies via anonymous asks is just going to lose us ground in the long run. And we don’t have time for that, not when trans women of color are being murdered every day, not when states are still fighting against marriage equality, not when there are politicians in office who believe that trans people are possessed by demons, not when we’ve just lost 50 brothers and sisters to one gunman, not when the media won’t even admit that the attack was homophobic.
Please step back. Look at the big picture. Look at where we are, globally. Don’t just log on to your safe space and attack your allies over small missteps. That’s like washing the dishes in a house that’s on fire, kids. Let’s fight on the battlefield, and when we come home to each other, let’s just focus on bandaging up our wounds so we can go out and win the war.
To be clear when I post this on this blog, I mean ALL Jews. Racism against Jews is NEVER ok and there is no group of Jews who it is ok to discriminate against or mistreat or oppress or kill.
[id. A twitter post by @/Bennieeexyz
Jury duty letter came addressed to my cat.
Not a mistake. "Felix Martinez" - that's his full name according to his vet records.
My last name. His first name. Somehow he's a registered voter now.
Called the county clerk.
Me: My cat got summoned for jury duty.
Clerk: Is the name correct on the summons?
Me: Yes, but he's a cat.
Clerk: Is Felix Martinez a legal resident of this county?
Me: He's a legal cat.
Clerk: Sir, if the name matches our records, he needs to appear or file an exemption.
Me: He can't file anything. He has paws.
Clerk: You can file on his behalf.
Me: Under what exemption? There's no box for "is a cat."
Clerk: (pause) Check "unable to serve due to medical reasons."
Me: What's the medical reason?
Clerk: He's a cat.
Me: That's not a medical condition.
Clerk: It is if it prevents him from serving.
Sent in the form. Got rejected two weeks later.
"Insufficient documentation. Please provide medical professional's statement."
Took the letter to my vet.
Me: I need you to write that my cat can't do jury duty.
Vet: Why is your cat summoned for jury duty?
Me: Excellent question. No good answer.
Vet: This is the weirdest request I've gotten.
Me: Can you just write that he's medically unfit to serve?
Vet: On what grounds?
Me: He's a cat.
Vet: (started typing) "Patient is unable to serve due to species-related limitations including inability to speak, read, or comprehend legal proceedings."
Me: Perfect.
Sent it in. Got another rejection.
"Summons is mandatory. Failure to appear will result in contempt of court."
My roommate thought this was hilarious.
Roommate: Felix is going to jail.
Me: This is serious.
Roommate: Bring him to court. See what happens.
Decided that was actually the only option left.
Day of jury duty, put Felix in his carrier. Brought the entire paper trail of rejection letters.
Checked in at the courthouse.
Clerk: Name?
Me: Felix Martinez.
Clerk: (looked at the cat carrier) Is that Felix?
Me: Yes.
Clerk: (long stare) He's a cat.
Me: I've been saying that for six weeks.
Clerk: Why didn't you file an exemption?
Me: I filed three. All rejected.
Showed her the letters. She read through them, expression shifting from confusion to disbelief.
Clerk: Someone rejected the veterinary documentation?
Me: Twice.
Clerk: (called her supervisor over) You need to see this.
Supervisor read everything. Looked at Felix. Looked at me.
Supervisor: How did a cat get registered to vote?
Me: You tell me.
Supervisor: This is a data error.
Me: Took you six weeks to figure that out.
They dismissed Felix immediately. Apologized for the inconvenience.
Supervisor: We'll remove him from the voter registry.
Me: Appreciate it.
Supervisor: (pause) Out of curiosity, how would he have voted?
Me: Probably whatever party supports universal treats.
Got a formal apology letter a week later and a voter registration card.
For me this time. Apparently I wasn't registered, but my cat was.
Roommate: Felix committed voter fraud.
Me: Felix committed nothing. He's innocent.
Roommate: That's what they all say.
Felix is sleeping on the jury summons now.
Fitting end to his legal career.
end id]
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.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
theres some kind of bizarre parallel between playing a game with a lot of lag and disability. Everything is suddenly a huge deal, doing things that are ordinarily easy is laborious enough that you avoid them, your world narrows down to the current task and nothing else because even that is absurdly time-consuming and annoying.
CARDiac, syntax coloring, view source and vibe code
If you'd like an essay-formatted version of this post to read or share, here's a link to it on pluralistic.net, my surveillance-free, ad-free, tracker-free blog:
In the mid-1970s, my dad – then a budding computer scientist, subsequently a math teacher – brought home my first computer: the CARDiac, a Turing-complete, all-cardboard papercraft computer that you could write and execute programs on:
CARDiac stands for "CARDboard Illustrative Aid to Computation," and it was created in 1968 at Bell Labs as a way to teach high schoolers how computers worked. I wasn't anywhere near high school age (I think I was in third grade?) but the CARDiac was revelatory. The year before, I'd had access to a teletype terminal and acoustic coupler that let me operate a PDP machine at the University of Toronto, and I'd been endlessly fascinated with the possibilities. I wrote simple BASIC programs, chatted with ELIZA, and messaged other system users, one keystroke at a time, all on paper (the terminal didn't have a screen, just a printer, and we fed it 1,000' rolls of paper towels my mom brought home from her kindergarten classroom, which I then rolled back up so she could put them back in the bathroom for the kids to dry their hands on).
Interacting with a computer in real-time was captivating, but it wasn't until I assembled and used the CARDiac that it all snapped into place. With the CARDiac, you composed simple programs with pencil and paper, then followed instructions that directed you to move paper tokens in and out of various slots representing memory cells and an accumulator. All an electronic computer does is repeat these crude mechanical operations, millions of times per second, using microscopic transistors. None of that action can be observed with the naked eye, of course. If you had a very sensitive multimeter and a very good microscope, it's conceivable that you could indirectly watch this intricate dance, but only on very early processors, and only if you drastically slowed down their operations.
Much later, I learned a word for what I got from the CARDiac: legibility. Together, the CARDiac and I made a working digital computer, with me standing in for the physics that propels electrons down the endless labyrinth of a microchip, like a pinball triggering various blooping, beeping bumpers. Though the computing we performed was sub-trivial (adding one and one was a major undertaking!), the physical performance of that computing imbued me with Fingerspitzengefühl ("fingertip feeling"):
This stood me in great stead in the years to come. To this day, when I think about my computer, I sometimes imagine those little cardboard tokens, shuffling in and out of the slits in my paper CARDiac. There's something very reassuring about this imagery. No matter how many levels of abstraction sit between me and the nanoscale transistors ranked in their billions beneath my fingertips, they are all undertaking those familiar operations I painstakingly performed on my child's desk all those years ago.
(This is one of the things that makes Science Comics Computers: How Digital Hardware Works such an amazing kids' book! By illustrating how a computer's operations are built up from simple boolean logic that can be represented as physical switches, the comic performs that same legibilizing magic that I got from the CARDiac:)
Not long after my CARDiac experience, my dad brought home an Apple ][+, which came with a schematic that revealed the inner workings of the machine in ways that I found visually striking, if significantly less accessible than the CARDiac:
(For me, at least. For the legendary hardware hacker Andrew "bunnie" Huang, it was the start of a journey that turned him into one of the world's virtuoso reverse-engineers and science communicators):
The Apple ][+ did very little when you took it out of the box. It came with a few floppies' worth of demo programs, and we bought a few more down at the local computer store, but most of the programs I ended up using with that machine were ones I typed in myself, from magazines I bought at the corner store (I spent half my magazine budget on Cracked, Mad and Crazy, the other half on computer magazines full of BASIC program listings).
Typing in a program, keystroke by keystroke, was another Fingerspitzengefühl-generating exercise. I wasn't much of a typist, so it was slow going, and of course I made a lot of typos. What's more, BASIC had already fragmented into several dialects by this point, so even a correctly typed program could fail to run until it had been adapted for the BASIC that shipped with the computer. Getting a program to run on my computer required me to hone my typing skills, but even more so, my problem solving skills.
After months of this, I (re-)invented the debugger, from first principles, coming up with lots of little tricks and gimmicks (many of them horribly inefficient) for identifying and solving my programs' errors. In later years, I had lots of opportunity to work with real debuggers, created and maintained by trained programmers who'd forgotten more than I would ever know about writing code, and my own cack-handed efforts to build my own version of their tools conferred a confidence and intuitive understanding that I could not have achieved otherwise. Figuring out the need for a debugger and then rolling my own (crude, inefficient) one made all debuggers more legible to me.
I think that "legibility" is an underrated trait. If a system is legible to you, then you have a superior basis for understanding it, improving it, and making it work again when it breaks down.
There's an old joke that goes, "physics is applied math; chemistry is applied physics, and biology is applied chemistry" (I've also heard versions that start with "math is applied philosophy" and carry on to "sociology is applied biology," etc). While this isn't entirely true, there's something profound in it: we understand and manipulate our complex reality by wrapping it in abstractions that package up a writhing, shuffling, vibrating machine inside a smooth, serene membrane with a sturdy and easily grasped handle. You could do chemistry using the tools of physics, but it would take hours to perform the kind of calculations a chemist does in seconds (just as it takes an eternity to add one and one with a CARDiac).
Nevertheless, there are times when it is useful for a biologist to think about chemical processes, and for a chemist to think about interactions at the level of physics, and for a physicist to do math. The membrane and the handle are essential, but sometimes you have to decap the sealed package and inspect and manipulate its internals directly. Problem solving, improvement and maintenance all require the ability to move up and down the stack of abstractions to figure out where to stick your probes and stage your interventions.
This is where legibility comes in. Interacting with physical processes improves your mental model. In Broad Band (a magisterial history of women in computing), Claire Evans talks about how the first programmers were women who did the "unskilled" labor of physically cabling components together, developing powerful Fingerspitzengefühl, with such high-fidelity, trans-abstraction mental models of the machines' operations that they became the world's best programmers and debuggers:
My early adventures in programming were so powerful and instructive because nearly all the programs I interacted with on my Apple ][+ were written in BASIC (not just the ones I keyed in, but also the demo software and much of the packaged software we bought). That meant that I could get a listing of any program I was using, peeling open the membrane to look at the machinery underneath. I could even laboriously trace the operations of that program using my toy debugger. This, too, was legibility: the ability to flip between the effects of the running code, and the instructions themselves (and then to mentally map those instructions onto the movement of cardboard tokens in my CARDiac).
This affordance was repeated later on the early web, thanks to the "View Source" function that came built into every browser, acting as a velcro tab for the membrane that separated rendered web pages from their underlying instructions. In my early years as a web developer, I copied, pasted, adapted, probed and traced HTML in ways that would have been instantly recognizable to the younger me, keying in those BASIC programs and ripping apart the commercial software on my computer.
I read somewhere that the Bell Labs scientists who created the CARDiac were worried that, thanks to transistorization, the next generation of programmers wouldn't understand the physical, material processes that unfolded when their programs ran, and that this would mean a loss of legibility and intuition and Fingerspitzengefühl. I can't track down the reference now, but it stuck with me, because the CARDiac is such a perfect way of preserving those virtues.
Modern computer science curriculum includes some chip design for just this reason (just as chemists study physics and biologists study chemistry). But there are plenty of programmers – better programmers than I ever was or will be – who taught themselves and never had a CARDiac or gave much thought to chip design. They work at different layers of abstraction and in different ways to solve different problems. Maybe they could improve their art by tinkering with FPGAs, but there's always something even the most skilled artisan can do to round out and incrementally improve their craft.
In the same way, there are plenty of programmers – better ones than I ever was or will be – whose journey started at higher abstraction layers than a teletype terminal or a CARDiac. Maybe they started with a browser's View Source, teasing apart other people's Javascript to create weird Myspace customizations. Maybe they tweaked a programmable block in Minecraft. Maybe they modded a Scratch game. Or maybe they recorded macros using Applescript or Hypercard or Visual Basic to automate a routine task, only to later open up the source code generated by the macro recorder to make fine adjustments.
Whether you're pasting source from Stack Overflow or recording a macro in Excel, you are just one operation away from unwrapping the membrane and exposing the code beneath it. And with the modern internet, with Wikipedia, with endless tutorial videos, you are one further operation from penetrating the high level code to get at the code beneath it, and the code beneath that, and the code beneath that, all the way down to the bare metal.
Which brings me to vibe coding. As I've written, there's a world of difference between writing code for production and writing "personal software" that solves a problem you have. Whatever deficits that code has (due to the fact that you're not a skilled programmer) are offset by the fact that you're the one making the tool (which means your needs aren't lossily filtered through a programmer's understanding of those needs):
There's nothing wrong with code that solves your problem, even if you don't know how that code works, even if it breaks in a couple of years, even if no one else could maintain, extend or debug that code. Personal software is fundamentally different from software made to be used and maintained by others:
Higher-level abstractions are necessary. Moving tokens between the slits in a CARDiac is a powerful exercise, but eventually you want to do something more substantial than adding one and one, and so you need to package up the mechanics of computing inside a membrane with an easily grasped handle (knowing that you can always open the membrane if need be).
The more automated code you generate – macros, pasted Javascript, Minecraft blocks – the greater the likelihood that you will be failed by a readymade, prefab component. At that point, you have means, motive and opportunity to open the membrane and start tinkering with the internals, and every time you do, you have a better chance of making a realization that improves your grasp on the whole system.
Automated code – whether from an LLM, View Source, Stack Overflow, or a macro recorder – is the top of a funnel. Many – most – of the people who enter the funnel won't slip further down the abstraction chute. They'll solve their problem (a virtue unto itself!) and move on. But the more people we put at the top of the funnel, the more chances our civilization gets to produce another skilled artisan who understands and can improve, iterate and repair the code the rest of us use.
Same but with beading. I can instantly tell when a pattern is AI-generated because I've built an intuition of how different beads fit together in 3D space.
Right on with the computing piece and the crafting comments. Both knitting and sewing did this for me, and I didn't have a word for it until now. And I'm going to look for that kids' book!
This is definitely the appeal of vibe coding. When most of the code is plain English and Markdown, and the rest is just a bit of python, everything becomes instantly clear. With manual coding my experience has always been that I have to
Figure out the correct name for the thing I want to make
Figure out what language is best for it
Read a bunch of documentation
Figure out the mathematical pattern needed to make the thing that does what I want
Make the thing that does what I want
Do the thing I want
Debug
Debug more
Jesus Christ I just made more bugs
Finally, it runs
Unexpected error: (a bunch of numbers I have to google)
Debug more
Eventually, hopefully, have an output, or more commonly,
Realise the thing I wanted to do wasn't worth this amount of effort
The thing that makes vibe coding appealing is that you get to start from step 6. Which, when you're used to always end in step 14, sure feels like a push in productivity.
Thinking about a med student who was killed yesterday by russian bomb in Kharkiv with her graduation robe and cap lying next to her. She was supposed to have a graduation ceremony today.
Her friend, Nani Adaobi Merian, a Nigerian graduate, also died from her injuries in the hospital. Another life destroyed by russians that will never be talked about by anyone except Ukrainians, because the whole world has normalized the fact that russians can kill as many people as they want and and has become numb to it.
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.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
I don't know who needs to hear this but you need to stop dehumanising people even if those people are "abusers" or "creeps" because you need to understand that you are not immune to doing something equally as bad
Abusers and creeps are not some species of especially heinous animal or alien or monster wearing the face of a human. They're people. And you NEED to drill it into your head that they are people because you NEED to remember that people are capable of doingn heinous shit. And you are a person. And your loved ones are people.
By emotionally classifying people who have done heinous things as subhuman filth incapable of thinking and feeling and acting just like you and me, and by using that emotional dehumanization as a reason to deny those people any compassion or support on a systemic level, you risk becoming blind to abuse/violence perpetrated by someone close to you or even yourself. Because if "abusers don't deserve rights", then you won't ever want to admit or accept that you or a loved one is perpetrating abuse, and that makes stopping the abuse or preventing further abuse much harder. This is how you end up excuaing abusive behaviour on the grounds that, since you don't see someone as a disgusting subhuman pile of garbage therefore they can't possibly be An Abuser, Trademark
And here'a the even harder pill to swallow: since the world isn't split into "abusers" and "good people", in the same way you or someone you love can inflict abuse/violence on others, the people who HAVE inflicted abuse/violence on others can, in fact, change and become better people
There is no bottomless chasm of moral uncleanliness that someone can run off and fall into and get stuck in forever. People can do better. Yes, even those people. You HAVE to accept this. Otherwise not only is there no motivation for anyone to try and do better (which is when people become stuck in a cycle of violence and abuse they don't want to escape), but your idea of a perfect justice system doesn't look any different from Literal Christian Hell. And I HOPE you understand that Literal Christian Hell is, to put it very lightly, not a good justice system.