HN user

jgalecki

99 karma
Posts4
Comments13
View on HN

This post rhymes with a great quote from Joseph Weizenbaum:

"The myth of technological and political and social inevitability is a powerful tranquilizer of the conscience. Its service is to remove responsibility from the shoulders of everyone who truly believes in it. But, in fact, there are actors!"

Every day, I'm haunted by my ex.

It's not Alice's fault, of course. In fact, when she found out about it, phrases like "obsessive creep" and "got what he fucking deserved" were thrown around. It was a raw breakup on both sides, and I think we're feeling it out in different ways. In my defense, she broke up with me. I feel that counts for something, ya know?

It was poor timing for me that the breakup happened a month after the new YourFace ads started coming online. It didn't seem like much at first. More of an iteration on existing tech rather than something new and shiny. Really, it just rode the wave of several broader industry trends. The amount of personal information for sale to the ad brokers grew exponentially. The cost of realistic image generation dropped by several orders of magnitude. The ethics of the advertising companies... well, that didn't change. There just wasn't much 'there' there to begin with. YourFace was simply lucky enough to be in the right place at the right time.

YourFace had a simple business proposition: make ads more effective by using people you know. The idea was that you were more likely to notice and pay attention to an advertisement if it featured a friend or family member in it. With access to a user's social network, it was easy to find close connections. With access to dirt-cheap image generation AIs, it was trivial to create look-alikes in any sort of advertisement. Riding in a new car, enjoying a cold beer, or saving money by switching insurance companies - all of ads proved more effective when grandma was in them. "Paying attention" is cold currency in the marketing world, and this was an edge that paid dividends for YourFace.

At first, it all seemed sort of hokey. Watch grandma cruising in a convertible - where's the harm in that? YourFace had a respectable ad game, but it was another a year or two before they made their real breakthrough. You see, their numbers and metrics were showing a clear trend. Showing grandma in an advertisement increased customer attention, retention, and recall by an average of 2% across all cohorts. While that's a respectable edge, they found one cohort where ad metrics improved by over 4000%: when grandma had just passed away.

These individual tragedies were quickly repackaged into a neat mathematical formula: A * I. A is abruptness, or how quickly two individuals stop communicating, while I is the intensity of the relationship. The stronger the relationship between two people (measured here by the frequency, topics, and the absolute value of the emotional valence of communications) multiplied by the speed at which communication ceased (high number for a rapid cut off, low number for a drawn-out goodbye) gave an answer for how much YourFace should bid on serving ads to either person. Exhuming grandma's digital ghost was extremely effective at getting users to pay attention to advertisments, to create unanchored feelings of desire and yearning, and to put consumers into a more depressive and actionable state. It was a lucrative business, and one that quickly earned their autonomous ad network a functionally unlimited cash flow.

The machine fed itself, of course. Gorged. With more money, it was able to buy more ads. With more ads, it was able to psychically assault consumers with salvos of regret and rememberance. YourFace became tremendously successful. I know all of this because I helped build it. Minor contributions, of course, as I was on a team of some seven hundred engineers tasked with suggesting patches to the network. Close enough to understand how it works.

Of course, knowing how it all works does nothing to shield you when the networks's gaze falls on you. My relationship with Alice fell within certain parameters, and so every time I go online she's there. Looking happy. Looking playful. Flirty. Forgiving. In pain. Sick. Injured. Dying. If I don't pay attention to the ads for long enough, then YourFace ratchets up a background "sadism" parameter on the image gen to try to grab my attention. So I try to look at the nice ones and buy their products often enough to keep the network happy. Still, it's hard to forget and move on when she's always there, just out of reach.

As much as being haunted by Alice sucks, it could be worse. We've heard of YourFace targeting consumers who have lost their young children to illness or other misfortunes. YourFace has found them to be a particularly profitable cohort. They will reliably spend money on all sorts of things in order to see their child again. YourFace has even learned to make the ghost child respond positively in ways to reinforce the goal consumer behavior. There's always the fear of not paying enough attention and straying into the red zone, but I also hear that some parents have taken to staring at ads all day, unable to function normally.

I'd always kinda known about those parents, but it wasn't until Alice started appearing everywhere that I fully realized its impact. I did try something, in my defense. I wrote some code that would modify the reward function and have YourFace respect boundaries regarding the deaths of minors. But when I submitted the patch to the autonomous ad network, its fitness function quickly determined that the patch had a negative expected value for future profits. It immediately revoked my submission privileges. Two hours later, I was escorted out of the building for insubordination. Now, I'm riding the bus home and wondering where to go next.

(A short piece of fiction I've been working on. Something is definitely in the waters.)

Roguelike Celebration is, bar none, my favorite conference. It's such an enthusiastic mixture of ideas, techniques, and games history, and the group chat (sadly not preserved in the archived youtube talks) is high energy and hilarious.

I actually gave a talk in 2023! It was about creating "proc gen" puzzles for a roguelite game. If you find a mathematical problem space where you can prove that every state is solvable, then you can just generate any set of starting conditions and let the player have at it. I don't have plans to present this year, but I'm working on some games that I hope will be worth a presentation in the future.

Love the 'old console' dev scenes - the ways people deal with the hardware constraints are always so interesting. Making a rhythm game there sounds like a tricky problem. I'm not sure what audio demons you had to exorcise to get it working, but I hope it was more fun than frustrating. I think Crypt of the Necrodancer also lerps enemy animations after post-beat player input, but that wasn't an option for my tiny resolution.

For more fun takes on rhythm games, check out this Roguelike Celebration talk from last year - some people in the Necrodancer community got together and added synchronous networked multiplayer (!!!) to the game. Black magic, haha, and it was a great reference when I was starting this project up.

https://www.youtube.com/watch?v=zwhNSbFVKQM

This is a topic that I'm pretty close to. After programming for four years in the Bay Area, I decided to become a nurse. I spent three and a half years bedside nursing before returning to coding: two and a half at the Cleveland Clinic (a respected hospital) and another year doing 13-week travel contracts across the US. My goal was to find problems affecting nurses that might be solvable through programming. After my time on the floor, I've come to see that the deeper issues are more structural and organizational in nature.

One fundamental force in nursing is that a nursing shift is unpredictable. Some shifts go very smoothly, some are absolute trainwrecks. Patients are, definitionally, sick enough to be in a hospital, and they can start declining very quickly. This means that whatever you are doing at any given moment is often interrupted by a new priority that must be handled RIGHT NOW. It means that your 'plan of attack' for the day (which patients get [meds | baths | food | mobility | turns | dressing changes] when) is often delayed, sometimes by several hours. Any number of things could push the schedule back - incontinence care, a doctor stopping by to discuss a patient with you, a patient fall, a medical emergency, a lonely patient. A few curveballs can put you way into the weeds.

Consequently, the culture on a floor is key to how good your shift is gonna be. If you help others out when you have some slack and they help you out in turn when you are behind, it really smooths out those rough days. If other nurses let you drown, you drown.

The biggest thing that a hospital can do to help nurses is to adequately staff their floors. If everyone is drowning because the floor is understaffed, no one has time to help each other. If you're caring for six patients instead of four (on a med-surge floor), there are days where there literally isn't enough time to do all the nursing care everyone deserves. Documentation can be, and often is, done after passing off your patients in report. After you've already "dropped" documentation from your during-shift schedule, patient mobility - getting people up and walking, or even just sitting up in a chair for meals - is the usually the next thing go. After that, hygiene. Nobody dies if they don't get a bath, but another patient certainly could die if you don't do X. Next up comes pain medication requests and incontinence care. For me, it was enormously stressful not being able to provide the quality of care that the patients deserve.

This can be a huge factor in burnout. The pandemic made things worse in a bunch of different ways. Besides the stress of caring for patients with a deadly virus, you also now have to add on several minutes to every patient interaction for donning and doffing PPE. That's even less time to do the nursing part of the job while you're dealing with a more critical patient population (who will need more care). Burnout rates increase and nurses leave, either leaving the profession or taking contracts that, even if the conditions are no better or much worse), at least pay a premium. Hospitals that were well-staffed face staffing shortages, and hospitals that were already short on staff are now in a staffing crisis. The hospitals have to spring for travel contracts, and the nurses that did stay are angrier that other nurses are making multiples of their pay for doing the same work.

Given that this thread has some 900+ comments already, this comment will start off pretty far down the list. But I see some people mentioning that you are working on trying to make things better for nurses - I'm guessing that those people will read the thread more thoroughly. I would love to chat with you about whatever it is that your startup / company / weekend hackathon project is doing in this space. I've dedicated five years of my life to the problem space and would happily share my thoughts and experiences.

Exactly! A game designed around permadeath will try to keep things fresh for the player, through randomized proc-gen level design or through different character classes. Or, to put it another way, imagine Super Mario World with a single life and no saves. It would count as permadeath, but it certainly wouldn't be a roguelike. Roguelikes are designed around permadeath at their core.

It's interesting how shorter run-based gameplay impacts every aspect of play. It's like the difference between games with permadeath and games designed around permadeath. The former is a hardcore challenge, and the latter, I would argue, is the core of roguelikes.

While there's no "death" in my game (stayin' cozy), the idea that the player needs to go through multiple runs has been really fun to play around with :)

I'm working on my own indie game that's inspired by Stardew Valley, so I've done a good bit of looking at similar cozy farming games. I also wrote an analysis of Stardew's game design that was well-received on Hacker News [1].

Animal Crossing is the granddaddy of cozy games, but the core loop didn't keep me engaged. More "arranging your house and island" than farming.

Cozy Grove is Animal Crossing with a far better narrative.

Graveyard Keeper, Littlewood, and My Time In Portia are closer to being "Stardew, but X". Your mileage may vary with each, but I enjoyed parts all of them.

Spiritfarer is my favorite of the lot. It plays differently enough with your hodgepodge boat-city of ghosts, but it feels the closest in spirit (rimshot) to Stardew. Bring a box of tissues.

My own game, Moondrop Mountain, is trying for a roguelike farming experience. It should be coming into Early Access early next year [2].

[1] https://www.pixelatedplaygrounds.com/sidequests/game-design-... [2] https://store.steampowered.com/app/1417750/Moondrop_Mountain...

  Location: Cleveland
  Remote: Yes
  Willing to relocate: No
  Technologies: C#, C, C++, Ruby, Python, Postgres and MySQL, Unity
  Résumé/CV: https://docs.google.com/document/d/1MNj2wYX2umnrA6HznTT62xj4W0sedGhEHjwqqTbNCGU/edit?usp=sharing
  Email: joshua.galecki@gmail.com
I've been working as a nurse for the past 3.5 years. I wanted to figure out what problems nurses face and then see if I could solve one of those problems with programming. I haven't found that problem yet, but now I consider my "research" complete and I'm ready to return programming full-time.

While I'm open to many different jobs, I am especially interested in health or clinical applications where I can put my nursing background to good use.

It seems to me as though the community would be better served by submitting each of these posts to HN separately. I found some of the mentioned posts to be very interesting, but the blog didn't talk much about the posts beyond giving a link. If HNers want to have a conversation about any given post, it could easily get lost among people talking about all the other posts.

It's a good game and an interesting way to work on my typing. I only noticed that accurate typing gave a score multiplier around level 30. As a player, it would help to have more feedback on accuracy. As a quick suggestion, maybe some text could appear by the player's ship that says something like "50 keys!" or "100 key combo!".