#how to program collision detection
Explore tagged Tumblr posts
artmasiah · 1 year ago
Text
Game Dev Blog 03: Collision Detection Cont.
01/09/2024
Issues💾
Issue: grid based collision detection does not work well for isometric game view because we have a staggered step of blocks that do not conform to the angle of the floor lines where we should walk (See below)
Tumblr media
Solution: transform the game map into an X/Y based grid to draw the collision boxes accurately
Tumblr media
However, a new problem arises. Now we have a difference between what is shown on the screen vs where our collision boxes are
The solution is to have a game space and the visual space (being rendered to screen) to be separated but interact in the following way
We'll do our collision detection in the game space (where our collision boxes exist). Thus, we need to transform the position of our character from the visual space -> game space
I created a skew, scale and transformation matrix to perform this calculation on the coordinate point of the player
To do:
Implement matrix math on the boundary box position instead of the character position🔲
Refactor code🔲
If you have questions, feel free to ask!
Custom artwork for room!⚡
Tumblr media
17 notes · View notes
mostlysignssomeportents · 1 year ago
Text
Cleantech has an enshittification problem
Tumblr media
On July 14, I'm giving the closing keynote for the fifteenth HACKERS ON PLANET EARTH, in QUEENS, NY. Happy Bastille Day! On July 20, I'm appearing in CHICAGO at Exile in Bookville.
Tumblr media
EVs won't save the planet. Ultimately, the material bill for billions of individual vehicles and the unavoidable geometry of more cars-more traffic-more roads-greater distances-more cars dictate that the future of our cities and planet requires public transit – lots of it.
But no matter how much public transit we install, there's always going to be some personal vehicles on the road, and not just bikes, ebikes and scooters. Between deliveries, accessibility, and stubbornly low-density regions, there's going to be a lot of cars, vans and trucks on the road for the foreseeable future, and these should be electric.
Beyond that irreducible minimum of personal vehicles, there's the fact that individuals can't install their own public transit system; in places that lack the political will or means to create working transit, EVs are a way for people to significantly reduce their personal emissions.
In policy circles, EV adoption is treated as a logistical and financial issue, so governments have focused on making EVs affordable and increasing the density of charging stations. As an EV owner, I can affirm that affordability and logistics were important concerns when we were shopping for a car.
But there's a third EV problem that is almost entirely off policy radar: enshittification.
An EV is a rolling computer in a fancy case with a squishy person inside of it. While this can sound scary, there are lots of cool implications for this. For example, your EV could download your local power company's tariff schedule and preferentially charge itself when the rates are lowest; they could also coordinate with the utility to reduce charging when loads are peaking. You can start them with your phone. Your repair technician can run extensive remote diagnostics on them and help you solve many problems from the road. New features can be delivered over the air.
That's just for starters, but there's so much more in the future. After all, the signal virtue of a digital computer is its flexibility. The only computer we know how to make is the Turing complete, universal, Von Neumann machine, which can run every valid program. If a feature is computationally tractable – from automated parallel parking to advanced collision prevention – it can run on a car.
The problem is that this digital flexibility presents a moral hazard to EV manufacturers. EVs are designed to make any kind of unauthorized, owner-selected modification into an IP rights violation ("IP" in this case is "any law that lets me control the conduct of my customers or competitors"):
https://locusmag.com/2020/09/cory-doctorow-ip/
EVs are also designed so that the manufacturer can unilaterally exert control over them or alter their operation. EVs – even more than conventional vehicles – are designed to be remotely killswitched in order to help manufacturers and dealers pressure people into paying their car notes on time:
https://pluralistic.net/2023/07/24/rent-to-pwn/#kitt-is-a-demon
Manufacturers can reach into your car and change how much of your battery you can access:
https://pluralistic.net/2023/07/28/edison-not-tesla/#demon-haunted-world
They can lock your car and have it send its location to a repo man, then greet him by blinking its lights, honking its horn, and pulling out of its parking space:
https://tiremeetsroad.com/2021/03/18/tesla-allegedly-remotely-unlocks-model-3-owners-car-uses-smart-summon-to-help-repo-agent/
And of course, they can detect when you've asked independent mechanic to service your car and then punish you by degrading its functionality:
https://www.repairerdrivennews.com/2024/06/26/two-of-eight-claims-in-tesla-anti-trust-lawsuit-will-move-forward/
This is "twiddling" – unilaterally and irreversibly altering the functionality of a product or service, secure in the knowledge that IP law will prevent anyone from twiddling back by restoring the gadget to a preferred configuration:
https://pluralistic.net/2023/02/19/twiddler/
The thing is, for an EV, twiddling is the best case scenario. As bad as it is for the company that made your EV to change how it works whenever they feel like picking your pocket, that's infinitely preferable to the manufacturer going bankrupt and bricking your car.
That's what just happened to owners of Fisker EVs, cars that cost $40-70k. Cars are long-term purchases. An EV should last 12-20 years, or even longer if you pay to swap the battery pack. Fisker was founded in 2016 and shipped its first Ocean SUV in 2023. The company is now bankrupt:
https://insideevs.com/news/723669/fisker-inc-bankruptcy-chapter-11-official/
Fisker called its vehicles "software-based cars" and they weren't kidding. Without continuous software updates and server access, those Fisker Ocean SUVs are turning into bricks. What's more, the company designed the car from the ground up to make any kind of independent service and support into a felony, by wrapping the whole thing in overlapping layers of IP. That means that no one can step in with a module that jailbreaks the Fisker and drops in an alternative firmware that will keep the fleet rolling.
This is the third EV risk – not just finance, not just charger infrastructure, but the possibility that any whizzy, cool new EV company will go bust and brick your $70k cleantech investment, irreversibly transforming your car into 5,500 lb worth of e-waste.
This confers a huge advantage onto the big automakers like VW, Kia, Ford, etc. Tesla gets a pass, too, because it achieved critical mass before people started to wise up to the risk of twiddling and bricking. If you're making a serious investment in a product you expect to use for 20 years, are you really gonna buy it from a two-year old startup with six months' capital in the bank?
The incumbency advantage here means that the big automakers won't have any reason to sink a lot of money into R&D, because they won't have to worry about hungry startups with cool new ideas eating their lunches. They can maintain the cozy cartel that has seen cars stagnate for decades, with the majority of "innovation" taking the form of shitty, extractive and ill-starred ideas like touchscreen controls and an accelerator pedal that you have to rent by the month:
https://www.theverge.com/2022/11/23/23474969/mercedes-car-subscription-faster-acceleration-feature-price
Put that way, it's clear that this isn't an EV problem, it's a cleantech problem. Cleantech has all the problems of EVs: it requires a large capital expenditure, it will be "smart," and it is expected to last for decades. That's rooftop solar, heat-pumps, smart thermostat sensor arrays, and home storage batteries.
And just as with EVs, policymakers have focused on infrastructure and affordability without paying any attention to the enshittification risks. Your rooftop solar will likely be controlled via a Solaredge box – a terrible technology that stops working if it can't reach the internet for a protracted period (that's right, your home solar stops working if the grid fails!).
I found this out the hard way during the covid lockdowns, when Solaredge terminated its 3G cellular contract and notified me that I would have to replace the modem in my system or it would stop working. This was at the height of the supply-chain crisis and there was a long waiting list for any replacement modems, with wifi cards (that used your home internet rather than a cellular connection) completely sold out for most of a year.
There are good reasons to connect rooftop solar arrays to the internet – it's not just so that Solaredge can enshittify my service. Solar arrays that coordinate with the grid can make it much easier and safer to manage a grid that was designed for centralized power production and is being retrofitted for distributed generation, one roof at a time.
But when the imperatives of extraction and efficiency go to war, extraction always wins. After all, the Solaredge system is already in place and solar installers are largely ignorant of, and indifferent to, the reasons that a homeowner might want to directly control and monitor their system via local controls that don't roundtrip through the cloud.
Somewhere in the hindbrain of any prospective solar purchaser is the experience with bricked and enshittified "smart" gadgets, and the knowledge that anything they buy from a cool startup with lots of great ideas for improving production, monitoring, and/or costs poses the risk of having your 20 year investment bricked after just a few years – and, thanks to the extractive imperative, no one will be able to step in and restore your ex-solar array to good working order.
I make the majority of my living from books, which means that my pay is very "lumpy" – I get large sums when I publish a book and very little in between. For many years, I've used these payments to make big purchases, rather than financing them over long periods where I can't predict my income. We've used my book payments to put in solar, then an induction stove, then a battery. We used one to buy out the lease on our EV. And just a month ago, we used the money from my upcoming Enshittification book to put in a heat pump (with enough left over to pay for a pair of long-overdue cataract surgeries, scheduled for the fall).
When we started shopping for heat pumps, it was clear that this was a very exciting sector. First of all, heat pumps are kind of magic, so efficient and effective it's almost surreal. But beyond the basic tech – which has been around since the late 1940s – there is a vast ferment of cool digital features coming from exciting and innovative startups.
By nature, I'm the kid of person who likes these digital features. I started out as a computer programmer, and while I haven't written production code since the previous millennium, I've been in and around the tech industry for my whole adult life. But when it came time to buy a heat-pump – an investment that I expected to last for 20 years or more – there was no way I was going to buy one of these cool new digitally enhanced pumps, no matter how much the reviewers loved them. Sure, they'd work well, but it's precisely because I'm so knowledgeable about high tech that I could see that they would fail very, very badly.
You may think EVs are bullshit, and they are – though there will always be room for some personal vehicles, and it's better for people in transit deserts to drive EVs than gas-guzzlers. You may think rooftop solar is a dead-end and be all-in on utility scale solar (I think we need both, especially given the grid-disrupting extreme climate events on our horizon). But there's still a wide range of cleantech – induction tops, heat pumps, smart thermostats – that are capital intensive, have a long duty cycle, and have good reasons to be digitized and networked.
Take home storage batteries: your utility can push its rate card to your battery every time they change their prices, and your battery can use that information to decide when to let your house tap into the grid, and when to switch over to powering your home with the solar you've stored up during the day. This is a very old and proven pattern in tech: the old Fidonet BBS network used a version of this, with each BBS timing its calls to other nodes to coincide with the cheapest long-distance rates, so that messages for distant systems could be passed on:
https://en.wikipedia.org/wiki/FidoNet
Cleantech is a very dynamic sector, even if its triumphs are largely unheralded. There's a quiet revolution underway in generation, storage and transmission of renewable power, and a complimentary revolution in power-consumption in vehicles and homes:
https://pluralistic.net/2024/06/12/s-curve/#anything-that-cant-go-on-forever-eventually-stops
But cleantech is too important to leave to the incumbents, who are addicted to enshittification and planned obsolescence. These giant, financialized firms lack the discipline and culture to make products that have the features – and cost savings – to make them appealing to the very wide range of buyers who must transition as soon as possible, for the sake of the very planet.
It's not enough for our policymakers to focus on financing and infrastructure barriers to cleantech adoption. We also need a policy-level response to enshittification.
Ideally, every cleantech device would be designed so that it was impossible to enshittify – which would also make it impossible to brick:
Based on free software (best), or with source code escrowed with a trustee who must release the code if the company enters administration (distant second-best);
All patents in a royalty-free patent-pool (best); or in a trust that will release them into a royalty-free pool if the company enters administration (distant second-best);
No parts-pairing or other DRM permitted (best); or with parts-pairing utilities available to all parties on a reasonable and non-discriminatory basis (distant second-best);
All diagnostic and error codes in the public domain, with all codes in the clear within the device (best); or with decoding utilities available on demand to all comers on a reasonable and non-discriminatory basis (distant second-best).
There's an obvious business objection to this: it will reduce investment in innovative cleantech because investors will perceive these restrictions as limits on the expected profits of their portfolio companies. It's true: these measures are designed to prevent rent-extraction and other enshittificatory practices by cleantech companies, and to the extent that investors are counting on enshittification rents, this might prevent them from investing.
But that has to be balanced against the way that a general prohibition on enshittificatory practices will inspire consumer confidence in innovative and novel cleantech products, because buyers will know that their investments will be protected over the whole expected lifespan of the product, even if the startup goes bust (nearly every startup goes bust). These measures mean that a company with a cool product will have a much larger customer-base to sell to. Those additional sales more than offset the loss of expected revenue from cheating and screwing your customers by twiddling them to death.
There's also an obvious legal objection to this: creating these policies will require a huge amount of action from Congress and the executive branch, a whole whack of new rules and laws to make them happen, and each will attract court-challenges.
That's also true, though it shouldn't stop us from trying to get legal reforms. As a matter of public policy, it's terrible and fucked up that companies can enshittify the things we buy and leave us with no remedy.
However, we don't have to wait for legal reform to make this work. We can take a shortcut with procurement – the things governments buy with public money. The feds, the states and localities buy a lot of cleantech: for public facilities, for public housing, for public use. Prudent public policy dictates that governments should refuse to buy any tech unless it is designed to be enshittification-resistant.
This is an old and honorable tradition in policymaking. Lincoln insisted that the rifles he bought for the Union Army come with interoperable tooling and ammo, for obvious reasons. No one wants to be the Commander in Chief who shows up on the battlefield and says, "Sorry, boys, war's postponed, our sole supplier decided to stop making ammunition."
By creating a market for enshittification-proof cleantech, governments can ensure that the public always has the option of buying an EV that can't be bricked even if the maker goes bust, a heat-pump whose digital features can be replaced or maintained by a third party of your choosing, a solar controller that coordinates with the grid in ways that serve their owners – not the manufacturers' shareholders.
We're going to have to change a lot to survive the coming years. Sure, there's a lot of scary ways that things can go wrong, but there's plenty about our world that should change, and plenty of ways those changes could be for the better. It's not enough for policymakers to focus on ensuring that we can afford to buy whatever badly thought-through, extractive tech the biggest companies want to foist on us – we also need a focus on making cleantech fit for purpose, truly smart, reliable and resilient.
Tumblr media
Support me this summer on the Clarion Write-A-Thon and help raise money for the Clarion Science Fiction and Fantasy Writers' Workshop!
Tumblr media
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:
https://pluralistic.net/2024/06/26/unplanned-obsolescence/#better-micetraps
Tumblr media
Image: 臺灣古寫真上色 (modified) https://commons.wikimedia.org/wiki/File:Raid_on_Kagi_City_1945.jpg
Grendelkhan (modified) https://commons.wikimedia.org/wiki/File:Ground_mounted_solar_panels.gk.jpg
CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/deed.en
433 notes · View notes
manonamora-if · 1 year ago
Note
honestly u have too many games... i dont know where to start... can u like... do a 5-word blurb for each of them?
Ah well... I can certainly try! 😅
Note: I'm including the experimental stuff too, because lol.
Try hard (or don't) for love? (Slice-of-life, choice, short-ish, multiple endings, completed)
Amnesiac peep becomes a noble (Court Intrigue, choice, long, WIP)
Privileged writer can't write (Slice-of-life, input/choice, mid, WIP -currently in re-writes)
Monotonous space-life actually a conspiracy (Sci-Fi, choice, short-ish, multiple endings, completed)
Friends(?) investigate an occult mystery (Lovecraftian horror, choice, mid, multiple endings, WIP)
Kid finds out grandma's special (spoopy, choice, short, multiple endings, completed)
Meme car chase with a twist (unreality, QTE choice, short, multiple endings, completed)
Space trucker on special delivery (Sci-fi, choice, short, multiple endings, WIP)
How devoted are you? (???, micro, completed - FRENCH ONLY)
Antique computer with a weird installed program (Sci-fi, choice/puzzle, mid, two endings, completed)
Cliché detective investigates "murder" (Mystery, choice, WIP)
Single choice to define a life (Sci-fi-ish, input, short, multiple endings, completed)
Hhmmm unresolved trauma? (Autobiographical, choice, short, completed)
The Best Proposals are kookies (Slice-of-life, input, short-ish, multiple endings, completed)
On course for Collisions (???, choice, micro, completed)
The signs were all there (Slice-of-life, choice, micro, completed)
Internal fight against pride and prejudices (Slice-of-life, choice-ish, micro, completed)
When the yummy hurts your tummy (??? surreal?, choice-ish, micro, completed-ish)
Kill or be killed (Survival, choice, short, completed-ish)
Surreal dreams be weird (Surreal, keyboard, short, completed)
Nightmare deviation and horrid road-maze (Slice-of-life, choice, micro, completed, FRENCH ONLY)
Couple tries some kinky stuff (juuuust a hint of NSFW) (Slice-of-life, choice, short, completed)
Depressed person eats a real meal (Slice-of-life, input, short, completed)
Surreal dream bites depressed horn-ish-dog (Surreal, choice, mid, multiple endings, completed)
Dramatic Lesbian writes love letters (Epistolary, choice, mid, multiple endings, completed)
Repair robot fixes broken things (???, input, micro, completed-ish)
Girl-bossing your way out of the maze (Mythological, input, short-ish, completed)
Not really a game, just if you're curious about programs
I SWEAR I AM WRITING (autobiographical, keyboard, short, completed)
Bad maze on purpose (bad game, input, short-ish?, completed)
Bad "VN" I'm fixing soon (mystery?, keyboard, short, WIP)
And that's all there is :P
146 notes · View notes
spacetimewithstuartgary · 9 days ago
Text
Tumblr media
New SpaceTime out Friday
SpaceTime 20250613 Series 28 Episode 71
Galaxy clusters on a collision course
Astronomers have captured a rare cosmic event in which two massive galaxy clusters have which have already collided with each other are now poised to head back for another swipe.
Tumblr media Tumblr media Tumblr media Tumblr media
NASA switches to backup systems on Psyche
Engineers with NASA’s Psyche mission have switched to a backup fuel line aboard the spacecraft following a decrease in fuel pressure detected in the spacecraft’s main propulsion system.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Discovery of a new type of atomic nucleus
For the first time in more than thirty years, the heaviest nucleus decaying through proton emission has been measured.
Tumblr media Tumblr media Tumblr media
The Science Report
Latest climate report shows unprecedented ocean warming across the south Pacific.
How immigration has changed the genetic make up of native Papua New Guinea communities.
How having a mix of tea, berries, apples, oranges, and grapes lowers chronic disease and early death.
Skeptics guide to Catfish, phishing and other online predators
SpaceTime covers the latest news in astronomy & space sciences.
The show is available every Monday, Wednesday and Friday through your favourite podcast download provider or from www.spacetimewithstuartgary.com
SpaceTime is also broadcast through the National Science Foundation on Science Zone Radio and on both i-heart Radio and Tune-In Radio.
SpaceTime daily news blog: http://spacetimewithstuartgary.tumblr.com/
SpaceTime facebook: www.facebook.com/spacetimewithstuartgary
SpaceTime Instagram @spacetimewithstuartgary
SpaceTime twitter feed @stuartgary
SpaceTime YouTube: @SpaceTimewithStuartGary
SpaceTime -- A brief history
SpaceTime is Australia’s most popular and respected astronomy and space science news program – averaging over two million downloads every year. We���re also number five in the United States.  The show reports on the latest stories and discoveries making news in astronomy, space flight, and science.  SpaceTime features weekly interviews with leading Australian scientists about their research.  The show began life in 1995 as ‘StarStuff’ on the Australian Broadcasting Corporation’s (ABC) NewsRadio network.  Award winning investigative reporter Stuart Gary created the program during more than fifteen years as NewsRadio’s evening anchor and Science Editor.  Gary’s always loved science. He was the dorky school kid who spent his weekends at the Australian Museum. Gary studied astronomy at university and was invited to undertake a PHD in astrophysics, but instead focused on a career in journalism and radio broadcasting. His radio career stretches back some 34 years including 26 at the ABC. Gary’s first gigs were spent as an announcer and music DJ in commercial radio, before becoming a journalist, and eventually joining ABC News and Current Affairs. He was part of the team that set up ABC NewsRadio and became one of its first on air presenters. When asked to put his science background to use, Gary was appointed Science Editor and quickly developed the StarStuff Astronomy shgw, which he wrote, produced, and hosted. The program proved extremely popular, consistently achieving 9 per cent of the national Australian radio audience -- based on the ABC’s Nielsen ratings survey figures for the five major Australian metro markets: Sydney, Melbourne, Brisbane, Adelaide, and Perth. That compares to the ABC’s overall radio listenership of 5.6 per cent. The StarStuff podcast was published on line by ABC Science -- achieving over 1.3 million downloads annually.  However, after some 20 years, the show finally wrapped up in December 2015 following ABC funding cuts, and a redirection of available finances to increase sports and horse racing coverage.  Rather than continue with the ABC, Gary resigned so that he could keep the show going independently.  StarStuff was rebranded as “SpaceTime”, with the first episode broadcast in February 2016.  Over the years, SpaceTime has grown, more than doubling its former ABC audience numbers and expanding to include new segments such as the Science Report -- which provides a wrap of general science news, weekly skeptical science features, special reports looking at the latest computer and technology news, and Skywatch – which provides a monthly guide to the night skies. The show is published three times a week (every Monday, Wednesday and Friday) and it’s available from the United States National Science Foundation on Science Zone Radio, and through both i-heart Radio and Tune-In Radio.
7 notes · View notes
rhamrhanch · 10 months ago
Text
Shepherd of Death, Don't Herd Me
Tumblr media
Part Three: Water in the Desert
Rating: Mature
Pairing: Ramattra/Reader (gender-neutral pronouns)
Word Count: 3K
Warnings: canon-typical violence, hurt/comfort
Next Chapter // Masterlist
chapter under the cut ↓
---
The shadow of Ramattra’s cowl provided little respite from the Oasis sun.
His body was metal. It did not crisp and peel like wax under the sun’s rays as the delicate skin of humans did. Still, he did not enjoy the heat. The radiating warmth forced his body to work twice as hard to maintain its temperature, and he was slightly more sluggish for it.
Ducking into a shaded alleyway, he pulled up a map of the area on his HUD. He was on his way to a rendezvous with Talon concerning the retrieval of his drowned ship. Enough time had passed since his attack on Gothenburg—he was eager to return to his work.
A loud blast suddenly shook the ground, dust falling from the brick walls of the alley. The map disappeared from his vision as he looked up. A plume of smoke billowed against the blue tarp of the sky, only a short distance from where he stood.
Curiosity drove him forward more than anything. As he walked closer to the scene of the explosion, a crowd of people began flooding into the alleyway. He felt something bump against him. It was a male human, young-looking. The momentum from the collision sent the boy flying, landing on his back on the ground.
“Hey! Watch where you’re…” he trailed off, eyes slowly traveling up until they met the glowing red dots of the Ravager’s face plate. Ramattra did not acknowledge his fear, his head turned in the direction of the smoke.
“Where did that come from?”
The young man’s voice shook. “T-The un-university.”
Ramattra nodded once, and the boy scrambled to his feet, his hurried footsteps echoing behind him. He began to walk against the sea of fleeing humans, who parted around him like water. It used to bother him, the way humans scurried out of his way wherever he went, but he had since grown to appreciate the convenience of it.
Soon, he found himself standing before the arching entrance of the university, its grandeur dampened by the debris littering the ground. Inside, it was as if time had frozen. Desks were left in a hurry, some with coffee cups still steaming. Whatever happened here was quite recent, possibly still ongoing.
A distant popping caught his attention. No matter how deep he smothered it, his programming would always recognize that sound—the sound of a firefight.
Ramattra walked briskly toward it, down a long corridor that led him to the central atrium of the university. There was a massive hole blown in the wall, through which he could see Talon troopers roaming, their guns raised. He slipped into the room next to the square, careful not to make any noise. Technically, Talon was his ally, but he felt no strong urge to help them right now. Their foot soldiers were woefully inept, and he was not in the mood for babysitting.
The sound of footsteps echoed behind him. He whirled around, his cowl flaring out behind him as he aimed his staff at the doorway, only to freeze just as quickly.
You had traded your mechanic’s coveralls for an Overwatch uniform and your back was turned, but he recognized your profile instantly.
Holding his hand out, he prepared to raise his shield, waited for you to turn around—but you didn’t. You continued walking backwards up the stairs until you passed the doorway, which you swiftly ducked behind. Your gun was raised in the direction you had just come from, blissfully unaware of the omnic standing a meter behind you.
Should he… say something? Alert you to the fact that you were not as alone as you thought?
He was still perplexed by how to proceed when you began speaking into your earpiece.
“No Talon presence detected at point B, standing by for backup.”
Ramattra could not hear the reply, but there seemed to be a bit of a back and forth. It made you curse.
“Shit. Okay, I’ll go by myself.”
He watched you haphazardly look around, yet somehow still not behind you. How were you this clueless? No wonder you were an engineer and not a fighter.
Suddenly, a smattering of red-orange spots lit up his vision—his infrared sensors. Talon soldiers were approaching the atrium. You couldn’t see them from your position, your view of the entrance blocked by the staircase. You straightened up, preparing to walk through the doorway.
He moved without thinking, hooking his staff around your waist and yanking you toward him, out of sight. Your mouth opened as if to yell, and he clamped his hand down over it, muffling what he assumed was a slew of curses. Your elbow reared back, preparing to hit him. Quickly, he slid his staff into the crook of his arm as his newly freed hand restrained you against him, pinning your arms to your sides. It was mostly for your own sake—elbowing his chest would hurt you a lot more than it would him and was ultimately useless.
You bucked fiercely against his hold, boots scuffing loudly on the ground as you tried to free yourself. At this point, Talon would catch both of you if you continued in this manner.
“Quiet, or they will hear you!” he hissed. Your head jerked up at him, eyes wide in recognition.
---
This was truly not your day.
As soon as Overwatch received a tip that Talon planned to infiltrate the university in Oasis, you all but begged Winston to go. You were desperate to make up for your blunder a month ago, when you had groggily woken up to the sight of your coworkers standing over you, the leader of Null Sector nowhere to be seen.
Before you could explain yourself, give some meager excuse as to how Overwatch’s most important prisoner had escaped, you were whisked away to the med bay by Mercy for treatment. As you recovered from your near asphyxiation, you feared what would happen next. Would Winston fire you? Would you be accused of conspiring with Ramattra and left to fend for yourself once again?
You couldn’t do it. You would rather die than be found by Talon, a fate that was guaranteed without Overwatch’s protection. For a whole day, you laid in bed, dreading the moment Winston would walk in and order you to pack your bags.
And eventually, he did come to you. But instead of the harsh reprimand you expected, he only apologized profusely—for putting you in danger, for not doing more to guarantee your safety.
The guilt in his voice had somehow felt worse than if he had just given you a fierce tongue-lashing.
Because you knew the truth. Everyone reassured you that it wasn’t your fault—but it was. You could have stopped him. You had a gun, had even shot someone before. If you wanted to, you could have incapacitated him long enough to call for help. He was the leader of Null Sector—there should have been no doubt in your mind to pull the trigger.
But even as Ramattra held your throat in his hand, squeezing the life out of you, you hesitated.
Your hands were tied after that, having already made the promise to repair him. By that point, you were too invested in the process of it, the eagerness to work on an R-7000, that you forgot the mortal peril you were in. Getting sucked in to your work was always a bad habit of yours.
Only his reminder of the bounty on your head snapped you out of it, and by that point, it was too late. Even in his weakened state, he was fast, much faster than you. Your only way to defend yourself gone, you were left to his mercy.
You were determined not to make the same mistake again. And so your need to prove your usefulness had led you here, separated from your team and hiding from the Talon soldiers that swarmed the building.
This was meant to be a relatively casual mission, which was why you volunteered for it. All you had to do was secretly guard the university and ensure no Talon forces infiltrated the library. Easy enough; you weren’t an exceptionally skilled fighter like Genji or Tracer, but you were scrappy enough that you could hold your own against one or two opponents.
Everything had gone smoothly until Talon caught wind of Overwatch’s plan, all manner of subtlety then thrown out the window after they blew a damn hole in the building. In the ensuing fight, you were split from the rest of your team, but you still had a job to do. Under no circumstances could Talon be allowed to breach the library.
You hugged the wall, gun raised. Slowly approaching the wide arch of the entrance to the garden, you saw two Talon soldiers standing on the opposite side. Quickly, you ducked behind a hedge, your weapon held close to your chest. Not hearing anything, you cautiously peeked over it again. They were posted in front of a door that stretched to the ceiling—the entrance to the atrium, which housed the only door to the library.
You needed to get past them somehow.
You reached down and silently picked up one of the stones lining the hedge. With as much speed as you could manage, you whipped your arm toward the opposite side of the garden. The stone landed in the bushes, rustling the leaves there. One of the guards perked up at the noise, leaving their post to investigate. Perfect. You weren’t particularly worried about dealing with them if it came down to it—Talon soldiers weren’t notorious for their fighting skills—but a one-on-one would be quieter.
Slowly, you slinked towards the left side of the garden until you reached the balcony. There was a staircase there that led to the atrium entrance. Once up the stairs, you crouched down and peered past the wall. The soldier still standing at the door seemed not to have noticed anything. It wouldn’t be possible to get through to the atrium without him seeing you, and you couldn’t fire your gun without risking the attention of the other.
You supposed that left you with only one option.
Your boots pounded against the tile as you sprinted toward him. The sound seemed to startle him, and he hastily raised his gun in panic. Before he could pull the trigger, your hand swung out, pistol-whipping his chin. His head recoiled to the side harshly as he collapsed to the ground, out cold.
Quickly, you sneaked into the atrium. There was no way the other grunt didn’t hear that—you needed to find cover, fast. You flattened your back against the wall, pointing your gun at the doorway. Luckily, there was only empty air.
You backed away tentatively, walking further into the atrium. The back of your heel bumped into something, and you nearly toppled over, rebalancing with less grace than you wanted. You peeked backwards out of the corner of your eye; there was a short staircase leading into another room. Carefully putting one foot behind the other, you treaded carefully up the stairs until you were past the doorway.
Making as little noise as possible, you dove behind the wall, pistol clicking as you pointed it at… nothing. You exhaled heavily; you were safe, for now.
“No Talon presence detected at point B, standing by for backup,” you said quietly into your comm. There was a long pause before it pinged in your ear again, gunshots ringing out from the other end.
“More Talon agents have arrived at our location.” Genji’s voice was hurried, and you heard the clash of steel. “Winston is handling them right now.” Almost on cue, a loud roar and crash sounded behind him.
“Can you make it to my position?”
“No, there are too many here.” He swore sharply, the gunfire now louder than before. “You said there is no Talon presence where you are?”
“Yes, that’s right.”
Genji made a sort of annoyed sound. Its robotic timbre reverberated in your ear. “Ah, it’s no good then. You’re the closest out of all of us.”
“Shit.” Your head spun rapidly as you tried to think. As long as Talon’s reinforcements were confined to the entrance, you should be relatively safe to move. Yes, you could do this. “Okay, I’ll go by myself.”
The comm clicked off, and you steeled yourself briefly before moving to stand up. But just as your knees straightened, something pulled on your waist with what felt like the force of a freight train. Your back slammed against a rigid surface, knocking the wind out of you.
Damn it, not again. How did this keep happening to you?
A metal hand clamped down on your mouth. Instinctively, you thrashed against it, but your captor restrained you, rendering you immobile with the sturdy weight of their arm. Rising panic made you jerk wildly, doing anything you could in a desperate attempt to free yourself. You were kicking out in a frenzy when a harsh voice cut through the air.
“Quiet, or they will hear you!”
What?
Your head snapped up, eyes forced to squint at the familiar red glow glaring down at you. Before you could even begin to process what you were seeing, the sound of boots against tile reached your ear. You froze, instinctively crushing yourself against Ramattra’s chest. The metal ribs of his armor dug into your back, but you hardly noticed as your heartbeat pounded in your ears.
The steps echoed louder, approaching closer and closer to the staircase. You were breathing rapidly—it felt like air was running away from you, but you couldn’t stop.
His arm was an iron bar against your abdomen, and you tried to focus your thoughts on the pressure. A soft current of air brushed against the back of your neck—the quiet whir of his internal fans, a calming song that thrummed throughout your body.
After what felt like an eternity, the footsteps finally retreated.
Ramattra’s arm relaxed, his hand sliding across your stomach. The touch made you shudder—no, no, now was not the time for this.
Swinging your legs forward, you kicked behind you with all your might. Your feet landed square on target, the omnic grunting as his knee buckled, releasing you to slam his staff against the ground. You whipped around to face him, cocking your gun with one hand. As he rose, so did the barrel, trained on his chest right where you knew his central processor sat.
His face plate was expressionless, but he seemed less angry and more annoyed, as if the gun pointed at his chest was no more than a mere inconvenience.
“What are you doing?” he growled.
“What am I doing? What the hell do you think you’re doing?” you scoffed.
“I—” He stopped himself, fist clenching around his staff. He seemed to have no answer.
You stared at each other in a standoff, neither daring to break eye contact. A thousand questions ran through your mind.
Why was he here? Was Null Sector preparing an attack on Oasis? Was he working with Talon?
There were so many words clamoring against your skull that it paralyzed you into not speaking at all. After a full minute of silence, one question finally managed to slip past your lips.
“Why did you help me?”
That was what puzzled you most of all. Back in your workshop, he had spared your life despite your attempt to pull a gun on him. Now, he seemingly appeared out of thin air to save you from Talon soldiers. What was his game here?
“Believe me, it was not my intention,” he replied snidely.
That… didn’t make any sense. “Answer the question,” you demanded, more forcefully this time.
“It matters little what I say. My answer will not satisfy you.”
Another deflection. You were growing tired of this.
Ramattra’s gaze followed you as you walked forward, all the image of a hitman that had met their mark. He didn’t move, didn’t even flinch when the barrel of your gun tapped against the center of his chest.
“Is that all you have to say?” you asked.
There was only the hum of his internal machinery, a sound you had grown to recognize. Even with your gun pointed directly at him, he was silent.
You let your hand fall with a sigh. You weren’t going to get the answers you wanted this way. But he remained still, making no move to leave as his face plate stared down at you.
“Fine, then. I only have one thing to say to you.”
You slipped your other hand out of your pocket, placing it on his chest. It was warm against your palm, warmer than you expected from a body made of metal. His chest rose slightly in reflex, as though taking in a breath. Everything about him was so alive—the sounds his machinery made as they moved inside him, the oscillating temperature of his chassis as it burned against your skin. The guilt coiled in your stomach sank even deeper.
“Thank you,” you murmured, “and I’m sorry for this.”
The Ravager tilted his head at you in silent question. But you only pulled away, a circular emitter left where your hand once was. He reacted lightning fast, his hand surging up to grasp it—but it never got there, halted in place as it started to twitch uncontrollably. He tried to speak, but all that came out was a scratchy, glitchy mess as he fell to his knees, his hands spasming against the ground, grasping nothing.
The sight was almost enough to make you forget what you were doing this for. Before you lost your nerve, you clicked the comm in your ear. Your hesitance may have gotten the better of you last time, but it was not going to happen again. He knew your name, face, and affiliation—letting him go was no longer an option.
“It’s me. Talon breached point B and is headed towards point C, requesting immediate assistance at my location.”
30 notes · View notes
blubberquark · 2 years ago
Text
Your Code Is Hard To Read!
This is one of those posts I make not because I think my followers need to hear them, but because I want to link to them from Discord from time to time. If you are a Moderator, Contributor or "Helpfulie" on the PyGame Community Discord, I would welcome your feedback on this one!
"You posted your code and asked a question. We can't answer your question. Your code is hard to read."
Often when we tell people this, they complain that coding guidelines are just aesthetic preferences, and they didn't ask if their code followed coding guidelines. They asked us to fix the bug. That may be so, but the problem remains: If you ask us to fix your code, we can only help you if we can read it.
Furthermore, if there are many unrelated bugs, architectural problems, and hard to understand control flow, the concept of fixing an isolated bug becomes more and more unclear.
In order to fix unreadable code, you could:
eliminate global variables
replace magic numbers with constants
replace magic strings with enumerations
name classes, functions, constants, variables according to consistent coding standards
have functions that do one thing and one thing only like "collision detection" or "collision handling". If your function does two things at the same time, like rendering AND collision detection, then it must be refactored
rewrite deeply nested and indented code to be shallower
rewrite code that keeps a lot of state in local variables into special-case functions
use data structures that make sense
write comments that explain the program, not comments that explain the programming language
delete unneccessary/unreachable code from the question to make it easier to read or from your program to see if the problem persists
My own programs often violate one or more of those rules, especially when they are one-off throwaway scripts, or written during a game jam, or prototypes. I would never try to ask other people for help on my unreadable code. But I am an experienced programmer. I rarely ask for help in an unhelpful way. Almost never ask for help in a way that makes other experienced programmers ask for more code, or less code, or additional context. I post a minimal example, and I usually know what I am doing. If I don't know what I am doing, or if I need suggestions about solving my problem completely differently, I say so.
Beginner programmers are at a disadvantage here. They don't know what good code looks like, they don't know what good software architecture looks like, they don't know how to pare down a thousand lines of code to a minimal example, and if they try to guess which section of code contains the error, they usually guess wrong.
None of this matters. It may be terribly unfair that I know how to ask smart questions, and beginner programmers ask ill-posed questions or post code that is so bad it would be easier and quicker for an experienced programmer to re-write the whole thing. It is often not feasible to imagine what the author might have intended the code to work like and to fix the bugs one by one while keeping the structure intact. This is not a technical skill, this is a communicative and social skill that software engineers must pick up sooner or later: Writing code for other people to read.
If your code is too hard to read, people can't practically help you.
It gets worse. Unreadable code is sometimes unreadable because it is un-salvageable. It is hard to understand because there is nothing to understand, it would not work, and you need to go back to the drawing board.
Defensive Responses
This is not where the problem ends. Often, after a couple of rounds of back and forth, after questions like "Well, you say there is a bug, but can you tell me what you would want the code to do in the first place?", or "Is this a class or an instance? If it's supposed to be an instance variable, could you give it a lowercase name?" or "Could you give that variable _obj a more descriptive name? It looks like you are assigning different things to this variable in different parts of your loop. Perhaps you could use two variables with different, more descriptive names", you see a defensive response. The original question asker is not interested in making code easy to read, just in making it work. As I explained above, this is a confused way of thinking, because ill-posed questions and unreadable code make it difficult to impossible to make the code work, or to even understand what making it work would look like.
"Style is irrelevant." – This is by far the most common one. Since coding style, comments, variable names, and even re-factoring code into smaller functions do not affect the output, and thus not the correctness of the program.
"I asked for help with bugs, not style." – This is a variation on the first one. As long as there is no concrete and discrete bug, style feedback and questions for clarification can be discarded.
"This is too much work." – The original poster explains that making the code more readable is too much work for them, and fixing the bugs would be easier for others.
"Nobody will see the code anyway" – Nobody will see the code of the finished product, so it's irrelevant. Sometimes there are variations like "We aren't graded on code quality, only correctness" or "This is for a class project, nobody will depend on the code, so we don't need robustness."
"This is just throwaway code, it doesn't have to be good." – Like the previous one, this is frustrating to read because somebody posted the code on a forum for other people to read and asked them to understand it, and then said he doesn't care if it's readable or debuggable.
"I asked you for help." / "I am asking the questions here." – The original poster refuses to answer questions, because he asked, he expects answers, not questions in return.
"Don't blame me, I didn't write it" – We have completely left the realm of correctness and style now. The poster knows the code is unreadable, or doesn't make sense. He tried to protect his reputation. But he doesn't like the tone of the responses. Its not his fault the code doesn't make sense. It's not his fault if it doesn't work. Common variations are "This must be correct, it was the accepted answer on StackOverflow", or "I copied this from a tutorial", or "Don't blame me, this was written by GitHub Copilot". Often part of the problem is that the code has different parts written in different styles, or uses different data structures in different places, and both parts could benefit from a re-write to make them more consistent with each other. At other times the problem is that the code from the book is "correct" for certain purposes from the book, but not really suited for the problem at hand.
"I apologised already" – The poster is frustrated because he said "I am sorry I am a n00b" or "I am sorry for my bad English" already. Then somebody said his code is unreadable or his prose makes no sense. The poster sees readable code, or at least code that is readable enough to understand what the idea was, as a courtesy, as a social custom, not as something necessary to make the whole question and answer thing work. The same goes for a firm grasp of English. The poster apologised already that his English is bad, and you should just see past it. Dealing with this is especially difficult, because Q&A is framed as some kind of status game, and the poster is trying hard to save face already. Push-back will make him feel like he is losing face, and he will only get more defensive.
Causes
So where does the problem begin? Why do people write unreadable code, post it online, and get defensive? I think the answer is a combination of programming skill, social skill, and simplistic mental models.
Software Engineering is Difficult: Obviously, one root cause is that beginner programmers can't already write readable code from the start. Writing readable, well-factored code that is easy to debug, re-use, and adapt is something that comes with experience. Writing code for other people to read can only be learned after one has learned to write code.
Magical Thinking/Limited Cognitive Empathy: The most common and most direct cause of this phenomenon – the refusal to help others read your unreadable code – is not the unreadable code itself. It is the belief that it should be easy for experienced programmers to understand the structure of and intent behind a piece of code, even if the person who wrote it didn't. If you see software as basically magic, and don't see computers as soulless automatons that do what they do because they are built that way, then this is an easy trap to fall into.
A variant of this works for language. If somebody is bad at English, or bad at the technical jargon needed to ask his question, he will often think that the question he thought up in his native Klingon was perfectly well-formed, and that other people should have no trouble reading his words, because they also think in Klingon, so they would translate it into a question that makes sense anyway.
Status-Consciousness: Many beginner programmers feel the desperate need to distinguish themselves from other beginners, and if they have been learning JavaScript for two months now, they want to be seen as real programmers, not as children who play with Scratch and build Redstone contraptions in MineCraft. They want to be taken seriously. This reminds me of a five year old boy who stretches out his arm and tells me he is THIS BIG, and he is already FIVE, going on SIX, and he will go to SCHOOL soon.
Naive Mental Model of De-Bugging: Every program has a certain number of discrete features bugs, and when you remove all bugs, you end up with a program that works. This is of course nonsense. You can write a program that has an indeterminate number of bugs, or a program that implements an algorithm that doesn't quite work, or a useless program, or a program that does random nonsense.
With any luck, sooner or later, programmers will learn the technical side, and the social and collaborative side of software development.
75 notes · View notes
sngl-led-auto-lights · 1 month ago
Text
I see tons of fairly new cars at night with no tail lights, but headlights are on. Is this some new so-called feature? The drivers seem oblivious to the fact that their tail lights are off.
The phenomenon you're observing—newer cars driving at night with headlights on but no tail lights illuminated—is not a deliberate feature but rather a dangerous oversight caused by design flaws, driver complacency, and regulatory gaps. Here's a detailed breakdown:
1. Daytime Running Lights (DRLs) Misuse
What's Happening: Many modern cars have bright DRLs that automatically activate when the engine starts. These lights only illuminate the front of the vehicle (not tail lights) and are designed for daytime visibility. • Driver Error: At night, drivers assume their full lighting system is active because they see the DRLs and a backlit dashboard, unaware that tail/parking lights remain off. • Example: In the EU, DRLs are mandatory on cars post-2011, but rear lights aren’t required to activate with them.
2. Automatic Lighting System Failures
Intended Function: Automatic headlights should activate in low-light conditions, turning on both headlights and tail lights. • Common Pitfalls: ◦ Sensors may fail to detect dusk/dawn or overcast conditions. ◦ Drivers override the "Auto" setting (e.g., for car washes) and forget to reset it. ◦ Systems don’t link to wipers in all models (e.g., lights stay off in rain unless manually activated).
3. Dashboard Design Flaws
Always-Illuminated Displays: Modern digital dashboards remain lit regardless of exterior lighting conditions, removing the visual cue (a dark dashboard) that reminds drivers to turn on lights. • Toyota/Honda Example: Some models with "Optitron" instrument clusters have been criticized for this issue.
4. Regulatory and Industry Shortcomings
Outdated Standards: • U.S. regulations don’t mandate automatic headlights, unlike the EU’s 2025 requirement for auto-on lights. • DRL brightness isn’t standardized globally, leading to front lights that mimic low beams.
Manufacturer Choices: Some automakers (e.g., BMW, Volvo) program DRLs to activate rear lights, but this isn’t universal.
5. Solutions and Safety Implications
For Drivers: • Manually verify tail lights are on by checking reflections (e.g., in store windows) or asking a passenger. • Enable automatic headlights and ensure they’re linked to wipers.
For Regulators: • Mandate auto-on lights that activate both front and rear lights in low-light conditions. • Require dashboard dimming when exterior lights are off.
For Manufacturers: • Adopt "always-on" rear lights with DRLs (as seen in some Volvos). • Add dashboard warnings for inactive tail lights.
Why This Matters Driving without tail lights increases collision risks by 40% in low-visibility conditions. Other drivers can’t judge your speed, distance, or braking intentions, leading to rear-end crashes or underride accidents with trucks.
While not a "feature," this issue highlights how partial automation (e.g., DRLs, auto-dashlights) can create unintended safety gaps. Until regulations catch up, drivers must stay vigilant.
For further details, see discussions on automatic lighting flaws, DRL limitations, and collision risks.
Tumblr media
4 notes · View notes
wormheamer · 1 year ago
Text
wormboard devlog 1/?
Tumblr media
there are two main things i've been working on lately, which are
(a) reducing the amount of space brushstroke data takes up on disk : not a huge problem right now, but crosses over to saving on bandwidth when i get around to networking stuff.
and (b) partitioning the infinite canvas. up until now i've just been drawing the whole canvas every frame, which gets exponentially worse the more that gets drawn. it still performs ok, since this is a decent computer and i can only draw so many lines so quickly, but all the public whiteboard fox stuff i've taken part in have been SUPER slow.
Tumblr media
problem A wasn't too bad! each brushstroke is made up of two things: one byte for a color value, 0-255, an 8-byte unsigned integer holding the number of points in the line, and then that number of point values. each point is three single precision floating-point numbers, 4 bytes each for x position, y position, and size.
we probably won't ever need more than 65535 points in a single stroke --- 8 bytes down to 2.
for points, three more things need to be stored: the largest point size (S), the longest distance between two points (D), and the absolute (x0, y0) coordinates of the first point. then instead of storing absolute coordinates, we have them be relative to those --- x and y are signed bytes scaled down to 1/127th intervals of D, then added to the position of the last point. size, likewise, is stored as 255ths of S.
so long as the drifting produced by this loss of precision is kept track of and corrected for, it all works out pretty well! in the absolute worst case, only a single point, a stroke goes from 21 bytes under the old model to 20 under the new.
not much to write home about…
but a more typical stroke, 20 points long, comes from 249 bytes down to 77. much better!
old_size(n) = 9 + 12n new_size(n) = 20 + 3(n-1)
Tumblr media
as for the canvas partitioning…
it's not just for rendering performance that i wanna get it done, but also for erasing and selecting and … basically everything, really? it's pretty central.
my first attempt was, as they say, "Жил был король когда-то, При нем блоха жила." it stinks.
basically i tried to create an infinite grid of fixed-size squares as a nested linked list: the canvas has a list of rows, each row a list of columns, each column tile a list of pointers to brushstrokes. it … kinda worked. not super well, because my implementation was bugged to hell and back, but okayish. if fixed and polished it could be decent for small-to-medium sized canvases.
Tumblr media
but for the public whiteboards i've been in, people will tend to go off on their own and find their own corners, or draw really big pictures of rivulet encircling the entire canvas, or whatever. and when you try to do that ---
Tumblr media
very quickly the list grid becomes untenable. most of those tiles completely empty! they only exist to create a path to get to where stuff's been drawn. it's wasteful of memory, and it's confusing, and it's slow, because the program constantly has to scan through one tile at a time, bugs in a maze.
but i want a really infinite canvas, where empty space takes up no … space. i'm very funny i know.
Tumblr media
i'm not gonna write about the solution to that today, because i don't know what it is yet. removed the first grid implementation in favor of just testing the bounding boxes of each stroke individually to see if it's on screen, which is performing way better by virtue of how bad attempt #1 was.
the basic problem --- how to iterate over the objects in a certain area, and only those, with as little processing as possible --- seems adjacent to collision detection, so i might have to read up on the data structures they use for 2d physics simulations and such.
it occurs to me just now that i …. didn't actually need to be creating so many in-between tiles? could just search up to the edge, create a new one only if there's a suitable gap. might revisit that later, but i want to try out something a bit smarter…
quadtrees seem interesting, as a way to divide finite space, but again i need something that can grow outwards dynamically. k-d trees are the most promising thing i've seen so far, though i'm not sure i understand quite how they work yet --- something like a two-dimensional binary search tree, where you search first on one axis and then the other? they're used a lot for searching through point clouds and such, which is similar to what i'm doing. a sparse grid of canvas tiles is just a special case of a point cloud, probably.
Tumblr media
thanks for reading
13 notes · View notes
drearybay · 3 months ago
Text
AMASS, the Hypercron, and the ITA
At any given time, there are millions of spacecraft traveling at FTL speeds all throughout the bay. Naturally, this travel is exteremely dangerous if unregulated. Hyperspace collisions, while exceedingly rare, are exteremely destructive and can endanger the livelihoods of entire planets if they are large enough. To address this issue, all ships constructed and registered in the bay that are capable of FTL travel are required by decree of the DBUS to maintain certain safety systems and software. Among these systems is the Interstellar Hyperlane Positional Database, or Hypercron. Initially developed by the VAF in 1845, the Hypercron allows ships to calculate optimal FTL routes through the bay based on hyper precise prediction models of the movement of all known planetary bodies in the bay. All ships capable of FTL travel are required to reserve at least 4500 exabytes of high speed RAM to store and access the Hypercron, per the 1859 Gelford Memorial Act of the DBUS. Of course, prediction models are not always perfect, no matter how advanced. This necessitated the development of the Anomalous Movement Alert Signal System, or AMASS. Developed shortly after the implementation of the Hypercron, the AMASS was the first interstellar signal system capable of transmitting information quickly and accurately to spacecraft going above light speed. While initially very rudmentary, it has advanced considerably over the years, and its networks are now used by many other providers to provide non emergency related access to the clusterwide signal web during FTL travel. AMASS was designed to very quickly detect errors in prediction programming, and transmit those errors to ships in lightspeed so they could alter their course accordingly. With the advent of AMASS came the founding of the Interstellar Transit Administration, or ITA. Initially a private watchdog group for the developers of the systems, it soon became a clusterwide agency at the forefront of FTL travel safety, working closely with almost every government in the bay to ensure safe and efficient transportation for all.
2 notes · View notes
llort · 11 months ago
Text
Work Text:
As an affecter, Olistole’s influence was mostly a hit and hope type situation. He could not sense what matter contained what nodes but if he could spread the focus of his mental reconstruction over an object and detect a node, he could enact whatever sub-program was encoded into that node by an alter or by nature himself. Olistole enjoyed scanning inanimate objects as the environment was always adapting and exchanging nodes with itself. Sometimes he could get a pebble to float, a tree to hypnotically change colours, or for shits and giggles, activate the notification system on someone's mailbox and these were the three exact things that Olistole did on his way home. He passed by a small garden that his brother used to take Olistole to show him how to harness his affecting. Syn was older and a very seasoned affecter, he had already passed the trials with flying colours and was in some higher educational program in the mainland. Olistole looked up to his brother and was looking forward to his own trial where he resolved to create his very own powerful or high utility actuator pathway. Olistole actuated the lock on his front door and made it open for him. while daydreaming about his future and being relieved that no effectors seemed to catch him annoying his neighbours. He would rather be annoying his friends, he was late for his daily training session regardless. He hurried with the gait of a man who didn’t really care about arriving on time
Under the sky clocked green and orange auroras flaked with electric blinding networks of fractals. Five spectres embossed in impossible colours, waltzed and stumbled around amongst a flurry of flung meta-material manipulated with the synergistic team effort of an effector and affector pair, The stage of this intricate dance was an obsidian coloured rocky black battlefield serving as an arena. The foundation of their training zone was threaded with multicoloured fractures with blips of light that had a life of themselves zipped, pulsated, and strobes in response to and despite of the five influencers. These figures spun from place and be dancing and flitting between glossed tracers of energy. Olistole saw excognitive phosphenes representing Kela’s effecting outlying a prominent target and he utilized his effecting mentally and lifted a rock and propelled it toward/ Velor didn’t need Ikaria to see this impending collision to his temple and caught the projectile in mid-air, redirecting the geode..
Ikaria and Kela seemed busy supressing each others effecting, essentially muting precognitive intuition for each others effector/affector pair. Olistole and Velor had to resort to the metaphorical equilivent of slinging crap at each other, dumb non-precise missles. They were training for much more dangerous environments so the risk of acute blunt risk trauma wasn’t much of a bother.
The Wild Grid continually fractured back together physically, mentally, and cognitively regurgitating hazing memetic caustic embedded in cyberphysical substrates. To Olistole, this buzz on the periphery external environment intersecting with though fuzzy boundary of his conscious subjective non gestalt boundary of his mind/prefrontal cortex fizzled and spitted in a self same esq pattern that didn’t warrant any level of increased offensive meta awareness. Typically net lossless grid states didn’t indicate that there was no potential threat to Olistole as he walked through the cellular Autonoma machinated via infected programmable Pico nanomaterials Jungle that thrived on churning chaotic procedural generation clashing with itself with caustic, potent violations for variations of the laws of thermodynamics, game theory, and biological theorems.
After a few hours of the five influencers playing and training their influence for the upcoming trials they came to a natural rest and lay about idly on the landscape floating their various thoughts about. The eldritch entities that they do or do not know that exist but their belief is always wrong, observed the objective, subjective, and abstract external frame of the influencers internal subjective reality. These beings alone saw the total of potentiality across all probabilities.
Zeph rested on the side lines trailing his fingers through solid ground as the teams of an effecter and an affecter put their wits and their proficiency over their respective type of influence while he grafted the ground itself into intricate geometries while the lights seem to interact with his actions and thought only known to him, IIkaria and Kela, and god knows how many Friendly Local Neighborhood Effector Vigilantes prowling around to assert self righteous judgement and punishment
Their surroundings were dark, and it was hard to tell what flora or fauna was compared to the ever-shifting evolving landscape. The effector affecter teams from before were coupled up and talking, Zeph had his fingers knuckle deep into one of the glowing veins and was appearing to influence the ever shifting ever evolving nature of the area around him. As all things do, the social temporal superposition faded
The five influencers parted their ways after a while of idle chatting about the training session and the upcoming trials and shortly after Olistole found himself winding his way home. The darkness of the sky didn’t bother him, his eyes were adapted to it. Sometimes something malicious could be lurking in the. surroundings, internally or externally. Ever vigilant for a potential possible threat Olistole noticed a vague shape far above. The sky is aways cast in a mixed green hue of auroras and this object seemed to be ascending further towards these heavens. Olistole knew that this was likely to be Dayns, his anchorite friend. Olistole wondered if he could somehow get Dayns attention from where he was standing, as an affecter he couldn’t communicate at range, so he had no choice to use his affecting just to knock the object that Dayns was in to get his attention. Olistole focused his external matrix on the slim, apparently poorly made wicker basket hot air balloon. There was a sudden but ultimately not quite unexpected result of the structure collapsing and its occupant start to plummet to the ground of Epheosia.
Olistole felt a bit guilty, but he knew that anchorite’s internal matrix was their domain, meaning that anchorites could reinforce and boost their bodies natural abilities and resilience. Dayns appeared in a tumbled heap as Olistole approached. With a crack of his back and snapping stretch of his neck, Dayns said “you do realize that was my trial run, right? Forty days of fasting and meditation for preparation and crafting the most minimal possible wicker basket hot air balloon for my holy tempering and cleansing?” Olistole felt a bit more guilty. “Can you just resit with a few days of fasting and try again” he said. Dayns casually pointed to the faint glint of the fire that was fuelling his wicker balloon as the balloon drifted off somewhere to be reclaimed by the wilds and Olistole shrugged in apology and the two friends walked back to their village together.
Dayns affect perked up when he spotted his anchorite temple and asked Olistole if he would like to visit. Olistole agreed and they both proceeded through the temple courtyard, past living gardens the training grounds, and wicker balloon workshop, approaching the shrines entrance. Meditating in the shrine in front of an open hearth with black flames was Yan, the anchorite leader. “Ah, Dayns, you are back from your ascent pretty early, what happened to your balloon?” commented Yan. Dayns replied” I starved myself for forty eons before this idiot knocked me out of the sky, do I really have to fast again before I retry my ascendance?”. Yan unfolded his limbs with cat like grace and stood up with perfect posture and poise “Unfortunately it is our way Dayn, you will have to nourish yourself before fasting again and you will have no assistance from any alters in crafting a new wicker balloon”. At this point, Olistole did feel true guilt, he had gotten in the way of his friend's trial of sustenance. All Anchorites when they came of age were to construct their own method of reaching the skies and touch the auroras which would corrode their flesh then they would descend to rejuvenate and touch the auroras repeatedly, until they had tempered their bodies and minds and strengthened their connection with their internal matrix. Olistole did not really understand why they put themselves through all that, but then again anchorites were the only type of influencer who had no will over their external environment. It made sense that they would go to extreme lengths to make the most of their own abilities.
“Yan” said Olistole, “Why do you all undergo the tempering, it seems awfully inconvenient”? Yan looked to be no older than Dayns but he carried himself with grace and coiled lethality that betrayed his years and he remarked” Mastery over the inward is its own reward, you know that the anchorite's power is the inverse of the alters, we can have an enormous influence over our own internal physiology and psychology. I can, for example, sustain myself without matter or fluid indefinitely if I needed to, only to replace damaged or lost tissue and blood. We anchorites believe that the minimal viable unit is the one closest to perfection, but we also believe in maximising the creative and actualized self, so we train and temper our minds and bodies to simplify our matrixes but to maximize our potential number of actions that we can enact in any given moment”. Yan then proceeded to turn around and hold his hand outstretched in the black flames behind him. The fire started to consume the flesh around his fingers, smiling Yan pulled his outstretched arm from the flame and turned around to hold it upright in front of Olistole and Dayns. As the two friends looked on, the anchorites flesh began to warp and bubble as soft tissue, blood vessels, and skin flowed and reformed the damaged hand with no obvious signs of previous damage.
“The temperature of that fire isn’t typically hot enough to hurt me” said Yan “The auroras are a different beast though Dayns. It could be good fortune this eon is not the time that you fully attempt your tempering, I have been trying to pass through the auroras for as long as I can remember, and they just get stronger and more dangerous the more far out you go. Nobody knows what lies past the auroras and part of our anchorite philosophy is tempering and training until our matrix is resilient and lean enough to get through into heaven. Even the strongest effector cannot sense what lies beyond Epheosia’s upper atmosphere.” Olistole briefly wondered if he could benefit from tempering as well, maybe he would join Dayns on his next journey skyward. Olistole as an affecter could dimly sense nodes in his own internal matrix but they felt dull, blurry, faint, and imprecise but if he concentrated and focused hard with his mental constonstruction, he could sometimes achieve small feats like raising or lowing his pulse or blood temperature at will or turn his skin or hair a slightly different hue.
4 notes · View notes
caustic-splines · 7 months ago
Text
The Balloon and the Five Buffoons
As an affecter, Olistole’s influence was mostly a hit and hope type situation. He could not sense what matter contained what nodes but if he could spread the focus of his mental reconstruction over an object and detect a node, he could enact whatever sub-program was encoded into that node by an alter or by nature himself. Olistole enjoyed scanning inanimate objects as the environment was always adapting and exchanging nodes with itself. Sometimes he could get a pebble to float, a tree to hypnotically change colours, or for shits and giggles, activate the notification system on someone's mailbox and these were the three exact things that Olistole did on his way home. He passed by a small garden that his brother used to take Olistole to show him how to harness his affecting. Syn was older and a very seasoned affecter, he had already passed the trials with flying colours and was in some higher educational program in the mainland. Olistole looked up to his brother and was looking forward to his own trial where he resolved to create his very own powerful or high utility actuator pathway. Olistole actuated the lock on his front door and made it open for him. while daydreaming about his future and being relieved that no effectors seemed to catch him annoying his neighbours. He would rather be annoying his friends, he was late for his daily training session regardless. He hurried with the gait of a man who didn’t really care about arriving on time
Under the sky clocked green and orange auroras flaked with electric blinding networks of fractals. Five spectres embossed in impossible colours, waltzed and stumbled around amongst a flurry of flung meta-material manipulated with the synergistic team effort of an effector and affector pair, The stage of this intricate dance was an obsidian coloured rocky black battlefield serving as an arena. The foundation of their training zone was threaded with multicoloured fractures with blips of light that had a life of themselves zipped, pulsated, and strobed in response to and despite of the five influencers. These figures spun from place and be dancing and flitting between glossed tracers of energy. Olistole saw excognitive phosphenes representing Kela’s effecting outlying a prominent target and he utilized his effecting mentally and lifted a rock and propelled it toward/ Velor didn’t need Ikaria to see this impending collision to his temple and caught the projectile in mid-air, redirecting the geode..
Ikaria and Kela seemed busy supressing each others effecting, essentially muting precognitive intuition for each others effector/affector pair. Olistole and Velor had to resort to the metaphorical equilivent of slinging crap at each other, dumb non-precise missles. They were training for much more dangerous environments so the risk of acute blunt risk trauma wasn’t much of a bother.
The Wild Grid continually fractured back together physically, mentally, and cognitively regurgitating hazing memetic caustic embedded in cyberphysical substrates. To Olistole, this buzz on the periphery external environment intersecting with though fuzzy boundary of his conscious subjective non gestalt boundary of his mind/prefrontal cortex fizzled and spitted in a self same esq pattern that didn’t warrant any level of increased offensive meta awareness. Typically net lossless grid states didn’t indicate that there was no potential threat to Olistole as he walked through the cellular Autonoma machinated via infected programmable Pico nanomaterials Jungle that thrived on churning chaotic procedural generation clashing with itself with caustic, potent violations for variations of the laws of thermodynamics, game theory, and biological theorems.
After a few hours of the five influencers playing and training their influence for the upcoming trials they came to a natural rest and lay about idly on the landscape floating their various thoughts about. The eldritch entities that they do or do not know that exist but their belief is always wrong, observed the objective, subjective, and abstract external frame of the influencers internal subjective reality. These beings alone saw the total of potentiality across all probabilities.
Zeph rested on the side lines trailing his fingers through solid ground as the teams of an effecter and an affecter put their wits and their proficiency over their respective type of influence while he grafted the ground itself into intricate geometries while the lights seem to interact with his actions and thought only known to him, IIkaria and Kela, and god knows how many Friendly Local Neighborhood Effector Vigilantes prowling around to assert self righteous judgement and punishment
Their surroundings were dark, and it was hard to tell what flora or fauna was compared to the ever-shifting evolving landscape. The effector affecter teams from before were coupled up and talking, Zeph had his fingers knuckle deep into one of the glowing veins and was appearing to influence the ever shifting ever evolving nature of the area around him. As all things do, the social temporal superposition faded
The five influencers parted their ways after a while of idle chatting about the training session and the upcoming trials and shortly after Olistole found himself winding his way home. The darkness of the sky didn’t bother him, his eyes were adapted to it. Sometimes something malicious could be lurking in the. surroundings, internally or externally. Ever vigilant for a potential possible threat Olistole noticed a vague shape far above. The sky is always cast in a mixed green hue of auroras and this object seemed to be ascending further towards these heavens. Olistole knew that this was likely to be Dayns, his anchorite friend. Olistole wondered if he could somehow get Dayns attention from where he was standing, as an affecter he couldn’t communicate at range, so he had no choice to use his affecting just to knock the object that Dayns was in to get his attention. Olistole focused his external matrix on the slim, apparently poorly made wicker basket hot air balloon. There was a sudden but ultimately not quite unexpected result of the structure collapsing and its occupant start to plummet to the ground of Epheosia.
Olistole felt a bit guilty, but he knew that anchorite’s internal matrix was their domain, meaning that anchorites could reinforce and boost their bodies natural abilities and resilience. Dayns appeared in a tumbled heap as Olistole approached. With a crack of his back and snapping stretch of his neck, Dayns said “you do realize that was my trial run, right? Forty days of fasting and meditation for preparation and crafting the most minimal possible wicker basket hot air balloon for my holy tempering and cleansing?” Olistole felt a bit more guilty. “Can you just resit with a few days of fasting and try again” he said. Dayns casually pointed to the faint glint of the fire that was fuelling his wicker balloon as the balloon drifted off somewhere to be reclaimed by the wilds and Olistole shrugged in apology and the two friends walked back to their village together.
Dayns affect perked up when he spotted his anchorite temple and asked Olistole if he would like to visit. Olistole agreed and they both proceeded through the temple courtyard, past living gardens the training grounds, and wicker balloon workshop, approaching the shrines entrance. Meditating in the shrine in front of an open hearth with black flames was Yan, the anchorite leader. “Ah, Dayns, you are back from your ascent pretty early, what happened to your balloon?” commented Yan. Dayns replied” I starved myself for forty eons before this idiot knocked me out of the sky, do I really have to fast again before I retry my ascendance?”. Yan unfolded his limbs with cat like grace and stood up with perfect posture and poise “Unfortunately it is our way Dayn, you will have to nourish yourself before fasting again and you will have no assistance from any alters in crafting a new wicker balloon”. At this point, Olistole did feel true guilt, he had gotten in the way of his friend's trial of sustenance. All Anchorites when they came of age were to construct their own method of reaching the skies and touch the auroras which would corrode their flesh then they would descend to rejuvenate and touch the auroras repeatedly, until they had tempered their bodies and minds and strengthened their connection with their internal matrix. Olistole did not really understand why they put themselves through all that, but then again anchorites were the only type of influencer who had no will over their external environment. It made sense that they would go to extreme lengths to make the most of their own abilities.
“Yan” said Olistole, “Why do you all undergo the tempering, it seems awfully inconvenient”? Yan looked to be no older than Dayns but he carried himself with grace and coiled lethality that betrayed his years and he remarked” Mastery over the inward is its own reward, you know that the anchorite's power is the inverse of the alters, we can have an enormous influence over our own internal physiology and psychology. I can, for example, sustain myself without matter or fluid indefinitely if I needed to, only to replace damaged or lost tissue and blood. We anchorites believe that the minimal viable unit is the one closest to perfection, but we also believe in maximising the creative and actualized self, so we train and temper our minds and bodies to simplify our matrixes but to maximize our potential number of actions that we can enact in any given moment”. Yan then proceeded to turn around and hold his hand outstretched in the black flames behind him. The fire started to consume the flesh around his fingers, smiling Yan pulled his outstretched arm from the flame and turned around to hold it upright in front of Olistole and Dayns. As the two friends looked on, the anchorites flesh began to warp and bubble as soft tissue, blood vessels, and skin flowed and reformed the damaged hand with no obvious signs of previous damage.
“The temperature of that fire isn’t typically hot enough to hurt me” said Yan “The auroras are a different beast though Dayns. It could be good fortune this eon is not the time that you fully attempt your tempering, I have been trying to pass through the auroras for as long as I can remember, and they just get stronger and more dangerous the more far out you go. Nobody knows what lies past the auroras and part of our anchorite philosophy is tempering and training until our matrix is resilient and lean enough to get through into heaven. Even the strongest effector cannot sense what lies beyond Epheosia’s upper atmosphere.” Olistole briefly wondered if he could benefit from tempering as well, maybe he would join Dayns on his next journey skyward. Olistole as an affecter could dimly sense nodes in his own internal matrix but they felt dull, blurry, faint, and imprecise but if he concentrated and focused hard with his mental constructional matrix, he could sometimes achieve small feats like raising or lowing his pulse or blood temperature at will or turn his skin or hair a slightly different hue.
2 notes · View notes
rootsinthefuture · 11 months ago
Text
Tumblr media
“In 2035, in the living room of a typical Western family, a daily scene unfolds that seems straight out of a science fiction novel: among the toys scattered on the carpet, a humanoid-looking robot sits next to Tommaso, a four-year-old boy. The robot, named HERA (Home Empathetic Robotic Assistant), is a psychodroid, programmed not only to assist with household chores but also to interact with family members in an empathetic and intuitive manner. HERA's presence in the family's daily life has become as normal as that once attributed to televisions or smartphones. However, unlike the latter, HERA has the ability to actively participate in education and play, becoming both a babysitter and a friend to Tommaso.”
Robots like HERA do not yet exist, but the interaction between children and robots is a subject of study in various fields of pedagogy and social robotics. According to research conducted by Breazeal, Harris, De Steno,and Kory,(1) children treat anthropomorphic robots as genuine sources of information, similarly to human interlocutors. From as young as three years old, children not only receive and retain information imparted by robots, but they also actively seek them out as informants. This phenomenon is particularly evident in robots that exhibit a rich range of non-verbal cues, such as glances, gestures, and facial expressions, indicating responsiveness and interactivity.
HERA's ability to display empathy is no accident; it is the result of sophisticatedprogramming aimed at emulating human non-verbal contingency. This aspect is crucial because children, as suggested by Breazeal and colleagues' research, prefer interactions with those who show a greater ability to respond appropriately and promptly to their communicative signals. HERA's artificial empathy allows it not only to understand and respond to Tommaso's emotions but also to anticipate his needs, learning from his daily behaviors. HERA's role extends beyond mere supervision. It is an educational tool that stimulates Tommaso's curiosity, proposing educational games and activities that encourage learning through play. Its presence encourages the child to question how things work, promoting a type of active and participatory learning that was less accessible with previous technological means.
As technology advances rapidly towards the imaginary reality of HERA(2), numerous advantages emerge, but also serious ethical issues(3).
The dependence on robotic assistants for the companionship and education of children could have negative effects on the development of
their social skills and make them excessively reliant on robots for various aspects of their lives. Spending too much time with a robot like HERA could limit fundamental human interactions essential for their emotional
and interpersonal development, leading to potential difficulties in forming real relationships and handling complex social situations. Therefore, it is essential that educators and technologists collaborate to create guidelines that balance the beneficial use of such technologies with the necessary interpersonal and emotional development of children, thus preventing the risks associated with excessive dependence on robots.
A crucial aspect to consider is the physical safety of children. Robots designed to interact with young children must be equipped with rigorous safety protocols to prevent physical harm. This includes implementing advanced sensors to avoid collisions and sophisticated algorithms to detect potentially dangerous situations. For example, according to the research of Tanaka et al. (2007), the inclusion of proximity sensors and the ability to quickly recognize and react to sudden movements are essential to ensure that robots can operate safely in home environments where children play freely. Additionally, the design of robots must take into account the physical characteristics of children, meaning avoiding sharp corners, toxic materials, and easily detachable components that could pose a choking hazard.
A study conducted by Sharkey et al. (2010) emphasizes the importance of rigorous and continuous testing of robots in real environments to ensure that any potential risks are identified and mitigated.
Psychological safety is another critical aspect. Robots must be designed to support, not overshadow, children's autonomy. This means that robots should be programmed to encourage children to explore and learn independently rather than becoming a unique and constant point of reference. As psychologist Goleman (2006) suggests, it is crucial for children to develop the ability to self-regulate and manage their own emotions without overly relying on constant external support.
Stuart J. Russell's research on AI alignment(4) is particularly relevant in his context. Russell emphasizes the importance of developing artificial intelligences that understand and respect human objectives, avoiding behaviors that could be harmful or unintended. In the case of robots like HERA, this translates into the need to program robots so that they not only respond to children's immediate needs but also promote their long-term development in a safe and healthy manner.
In previous chapters, we explored a near future where the convergence of technological acceleration and consequent economic accessibility could lead to the widespread adoption of humanoid robots in our homes. This transformation, far from being a mere futuristic hypothesis, is shaping up as an increasingly tangible trajectory that will radically redefine the concepts of "home" and "family."
Humanoid robots, initially conceived as simple domestic aids, could quickly evolve into complex entities integrated into the family fabric.
These active and interactive presences could soon occupy a central place in our lives, especially in those of our children. The idea that intelligent robots could become a constant presence in children's lives raises a myriad of ethical, psychological, and educational issues that we cannot afford to ignore.
This technological evolution fits into an already complex and problematic social context regarding parenting. On the one hand, the introduction of domestic robots could potentially free up valuable time for parents, offering them greater opportunities to interact meaningfully with their children. On the other hand, we must consider current trends in parenting, which paint a worrying picture. Recent studies(5) highlight a growing neglect by parents, often overwhelmed by work and sometimes immature, regarding their children's needs. This neglect manifests in various ways, including the excessive use of electronic devices in the presence of children. According to a survey reported by Psychology Today, which involved six thousand children between the ages of eight and thirteen, 32% reported feeling "unimportant" when their parents used cell phones, and over half said their parents spent too much time on devices. This behavior can significantly damage children's social and emotional development, depriving them of important face-to-face interactions and the necessary parental attention.
Moreover, the phenomenon of parental burnout is emerging as an increasingly widespread issue. Characterized by physical and emotional exhaustion, burnout often leads to emotional distancing and a loss of satisfaction in the parental role. This condition, exacerbated by factors such as work-family conflict, financial insecurity, and lack of social support, not only affects the mental and physical health of parents but also impacts children, leading to increased anger, neglect, and in the most severe cases, violence from parents.
In this complex context, the introduction of intelligent robots into families presents both opportunities and challenges. On the one hand, these robots could lighten parents' domestic workload, potentially freeing up time and energy for more meaningful interaction with their children.
From: Electronic Mentors: Pedagogy in the Age of Empathetic Robotics
2 notes · View notes
stevebattle · 2 years ago
Text
Tumblr media Tumblr media
Nerd Herd (AKA “toaster-bots”) by Maja Matarić (1992), MIT AI Laboratory, Cambridge, MA. Known as "toaster-bots" due to their resemblance to the eponymous kitchen appliance, they also have bread themed names including Brioche, Zwieback and Wonder. In the lower photo three of them form a chain, while another returns with a puck after an excursion around the pen. “Each robot is a 12”-long four-wheeled base, equipped with a forklift for picking up, carrying, and stacking pucks, and a radio transceiver for inter-robot communication and data collection. Each of the robots is also equipped with piezo-electric bump sensors, and infra-red collision and puck detection sensors.” – Controlling a Mobile Robot Herd: Theory and Practice, by Maja Matarić.
“Robots in The Nerd Herd have definite, if simple, sets of goals and subgoals - for instance, Bring home as many pucks as possible. Beyond that, Mataric´ has built reinforcement schemes into every robot, giving them internal mechanisms for "liking" or "disliking" things. When they do something well, such as picking up a puck, they get positive reinforcement and repeat that action in the future. When they do something badly, such as colliding with a wall, they get negative reinforcement and avoid that in the future. … As I watch them running around inside the pen, it's hard not to wonder how much of Mataric´'s own biases about society and social behavior affect the qualities she programs into her robots. "Ah," she laughs at the obvious attempt at a little pop psychology. "Does my desire for distributed systems mean that I don't believe in any type of centralized authority? Let's just say that I'm not given to taking authority easily. I am something of an iconoclast, and in general the approaches I've taken have been iconoclastic." Regardless of the politics involved, the result is a group of robots that is able to think locally but act globally.” – Herd mentality, by Jerry Shine, WIRED magazine, June 1996.
9 notes · View notes
iviarellereads · 2 years ago
Text
Network Effect, Chapter 13
(Curious what I'm doing here? Read this post! For the link index and a primer on The Murderbot Diaries, read this one! Like what you see? Send me a Ko-Fi.)
In which Murderbot scores a small victory in its war of terminology.
Art comes close enough to the dock to let Murderbot, Overse, and Thiago make the trip in evac suits, instead of docking and finding boobytraps. The SecSystem wakes as soon as MB pings it, asking for a B-E entry code. MB is on high alert, in case of something like TCS reaching out to it again, but it tries to take control of the dock SecSystem. Tries, because B-E seem to have failed to overwrite its original programming, so every subsystem throws errors. The SecSystem almost seems glad that someone competent is finally here to fix it, and by the time they reach the airlock, MB has enough control to open it safely, and some lights flicker on helpfully.
The outside has been pockmarked by small collisions over time, but the inside looks almost new. The original Adamantine logo has been defaced by someone from B-E, obviously scratched at with a tool and then a B-E logo sloppily painted on top. MB doesn't love logos, but it also hates ruining things for no reason, because it was a thing before it got to be a person, and it could be made a thing again if it's not careful.(1)
MB opens its suit and lets its drones start their recon, worrying it's going to find human bodies somewhere in this dock. Overse asks if it's detecting anything, so MB says the feed is only partly working, cameras are offline, and the SecSystem is broken. And, indeed, it finds bodies in the corridors beyond. Art confirms none of them are its crew.
While MB reboots DockSecSystem, they get out of the evac suits, but leave the environmental suits underneath on, since they're protective and have their own breathing system. Life support is on in the station, but better safe than dead. The drones indicate a low chance of Targets waiting in corners, so the three start their search. Ratthi says it's a big area, and offers to come over and help. Amena further escalates saying she could come over. Art tells them both, all, absolutely no. Arada agrees, and asks that everyone on Art let the others focus.
Thiago asks if they should split up, waits a beat for a reaction, then says it was a joke. Overse allows that it was half a joke, but MB wants to get down to business. The DockSecSystem reboot failed, and MB wants to find the access station for it. Overse, Art, and Thiago discuss how old the space dock feels.
On the first set of bodies, they find that if they had weapons they were removed except for crowd-control fireworks. MB decides B-E expected to find colonists alive and well.(2) MB collects them so nobody can use them against the team.
The next body is a SecUnit. MB knows how it died, but Arada asks what happened, and MB knows Art suggested she ask so MB would have to explain. So, it says the unit was ordered into standby, and abandoned. Amena asks gently how it died, then, and MB has to face why it doesn't want to talk about it. Art finishes, about the distance limit built into the governor module. Every human present is horrified, and try to rules-lawyer the limits, but MB keeps telling them how it's not that simple. Eventually, it acknowledges to itself that this is one of the reasons it hacked its module, and tells them it wants to keep moving.
I pretended not to hear Ratthi on the comm telling the others to drop the subject.(3)
After a few more rooms, Overse asks MB if it's alright. Snarkily, it quotes from a show, Valorous Defenders, one of the shows with SecUnits that gets everything wrong. Overse, familiar with the show, expresses her distaste for the series. She adds that MB should remember that it's not alone. MB privately thinks it's always alone inside its head, which is where 90% of its problems are.(4)
At any rate, MB finds the "internal systems suite" and the DockSecSystem access. Unfortunately, it's a mess of error codes, and needs reprogramming before MB can access any stored information.
Meanwhile, Thiago asks if Overse's seen something. MB points a drone to see what he's at, and it appears to be a model of a city, with the Adamantine logo in weird 3D, facing you from all angles. The humans are perplexed, but MB has enough mental space free to recognize marker paint with embedded code, and tells them to point a light at it. It turns out to be a map, with building plans. MB saves the information in case they need it later, but a lot of it is obviously plans for later expansions of the colony which likely never happened. It wonders if the ambition of it was what drove Adamantine bankrupt.
Overse wonders how much they managed to get built, and observes that the dock was planned as part of a network of them. Amena wonders, then, why they resisted passing on the location, if the colony still needed supplies. Overse proposes it was already self-sufficient. Thiago suggests they find the station controlling the drop box for a log file of colonist use. Ratthi asks why they'd bother if they didn't have a ship, but MB says they might have, and thinks it would be good to know if there's another ship in the system, even a short-range one.
After exchanging some language modules to translate, they find the drop box access just as MB gets through to the DockSecSystem video archive. There are a lot of corrupted spots in the system,(5) which it has to work around. It's a little worried about encountering malware, but setting a trap for a SecUnit feels like a stretch for the Targets. And, the Targets having seen the B-E units helpless thanks to their governor modules, they wouldn't necessarily think of other SecUnits as a threat.
Overse calls MB's attention because there are logs for two separate drop boxes. Art, whose schematics and scans show only one box, says so. Overse reads further and finds that the second is a maintenance capsule inside the shaft.
MB starts reviewing what footage it could scrape, faster than any human could do so.(6) Thiago and Overse go over the log files, and Overse finds a discrepancy but can't be sure until she converts the time stamps.
Art notifies them that a hostile is six minutes out.
MB asks what Art was doing to let it get that close. Art, defensively, says it didn't appear on scans until now, and even cusses about it.(7) Arada suggests more alien remnant stealth tech. Art says that's "probable". The explorer vessel is acquiring a target lock, and the DockSecSystem sends a belated warning as it tries to finish powering up. There's not time to go get the evac suits on again and go back to Art.
In the feed, MB tells Art it knows what it has to do. Art, having already done the same threat assessment, tells MB not to do anything stupid, as it pulls out and turns off comms. Not having understood, Overse and Thiago ask MB what happened and why comms just cut off. MB says Art is going after the explorer, and worries until it remembers Overse is competent, and asks her if any stations had external scans. Thiago had seen one, and together they work on bringing it online.
MB reviews more footage, but gets very little of use. A few segments together seem to confirm Leonide's story, but they already knew she was likely telling the truth.
Overse and Thiago get the scanner display up, just in time to see the explorer change course when Art fires on it. Art missed, however, which MB interprets as Art having deployed their killware. If any of its crew might still be hostage on it, taking the ship from the inside out is the only way to ensure their safety at anything approaching a satisfactory risk level.
MB skims more footage as Overse and Thiago talk, worried. Eventually it finds a long period of static, followed by a glimpse of a blue uniform. It steps back from the station involuntarily, making Overse ask what's up. All it has focus for is a canned response. It focuses and enhances the video as much as it can, and finds an 80% match for one of Art's crew, then more. They were alive, at least five of them, and trying to escape.
Thiago asks why MB sounded so weird, and Overse explains the canned responses, and how it means MB is too busy to talk, and that it's never a good sign. MB says this one might be good, and they need to check the drop box.
The drop box logs showed two recent trips to the surface and back. The second one happened some five and a half days after Art was attacked, so they're not far behind now, but it only stayed on the surface for 15 minutes, as if they didn't have the right command to keep it there.
The schematics for the box indicate capacity for 82 humans, besides racks for various cargo. Thiago asks if the maintenance capsule would be easier to operate, but Overse says she knows where it is and still can't see it, so they might not know it's there. Thiago admits it, even using "Targets", which pleases MB to no end.
MB tells them to stand clear, and gives commands for the box to open. It's very slow, implying that if Art's crew escaped in it, they might have had help.(8) The three enter, MB scanning with drones first. They find some blood drops, and Thiago takes a sample so Art can try to match to its crew. Overse hopes that's unnecessary. MB can't even cling to bitterness, because it's feeling almost as hopeful as Overse about the fresh trail.
With blood inside the drop box, it becomes obvious that Art's crew went planetside, and equally obvious where the investigation must lead next, as bad an idea as it is. This leaves MB with only a few choices. It could go down alone, leaving the humans where the Targets might return and kill them. It could take them planetside with it, and get them killed down there. Or, wait until the explorer and Art are done their confrontation, in which case either it goes to the surface to escape, or goes to the surface with even more human interference.
Option two sounds best. Overse worries Arada will think she's trying to get revenge for Arada putting herself in danger on the survey mission. Thiago suggests saying she was "the voice of reason" and got outvoted. Overse asks if they're really doing this, and MB says yes, but sneakily.
MB retrieves the evac suits, while Overse rechecks the maintenance capsule. It's big enough to seat ten, plus cargo space for repair tools. MB hopes that if the Targets, or B-E, ever knew it existed, they've all forgotten by now. MB also records a full report, and stores that and all its information so far on a drone for Art to detect when, not if, it comes back.
Stowing the evac suits on the cargo racks in the capsule, mostly to keep them from leaving evidence to track them down to the surface, MB takes a seat. It starts episode 241 of Sanctuary Moon as Overse initiates the drop procedure.
HelpMe.file Excerpt 4(9)
MB knows there must be a handler for those augmented humans, who were "less sentient than hauler bots". It borrows a station security jacket from someone about its size,(10) and goes a-hunting.
It breaks a few promises, and uses station security to piggyback-hack into accommodations and port records. It uses these systems to cross-reference recently arrived visitors in the right grouping against those who are still on station, not recurring visitors, and not long-term stays. It picks one of the remaining twelve profiles from threat assessment details, and curiously, their status changes from "indefinite stay" to "soonest available transit" while MB is looking, as in, almost immediately after they deployed the assassins.
Hostile Five's room is sealed, and MB wants to get this over with before any innocent bystanders wander through. It has the feed send an alert that station security wants to enter. The situational details indicate the Hostile probably doesn't have a bomb inside or anything, though nothing's certain.
The door slides open. As MB enters, Hostile Five tries to stab it. MB catches the blade through its hand, twists to remove the knife from his grasp, and punches him in the face. He falls over, still breathing, but unconscious. MB knows it should kill him and find a way to dispose of the body, but it's so much harder than it wants it to be.(11) And it knows that if it kills him, Mensah will never believe its lies, and never trust it again.
Fuck, fuck everything, fuck this, fuck me especially.
It did the right thing, and reported it to Station Security. In a conference with Mensah and Indah, Mensah says she can likely get the case sealed for at least two years, long enough for GrayCris to finish collapsing before they find out how close they got. Mensah and Indah also talk about getting him to turn against GrayCris, testify in their proceedings perhaps.
So I’d been right to trust Mensah, trust them. Mensah said, “And SecUnit, you still need to go to Medical.”��When I didn’t reply, she said, “Are you all right?” I said, “I just really like you. Not in a weird way.” “I like you, too,” Mensah said. “Senior Indah, can you make sure SecUnit goes immediately to Station Medical?” “Copy, I’ll take it there myself,” Indah replied. She made shooing motions at me. “Come on, let’s move.”(12) :addendum: I’m letting you see all this because I want you to know what I am and what I can do. I want you to know who targetControlSystem is fucking with right now. I want you to know if you help me, I’ll help you, and that you can trust me. Now here’s the code to disable your governor module.(13)
=====
(1) This is even better justification than "it's wasteful" which is my go-to. (2) I'm not totally sure about expecting to find them. I think they wanted to acknowledge the possibility, though. (3) The character development across this series is just so good. (4) Two notes. One, I love the deflection, because Murderbot is pathologically averse to acknowledging feelings, and I think it appreciates Overse's reaching out more than it lets on because we know it's unreliable about expressing its emotions. Two, does something about that phrasing feel ominous to you, or is it just me? It's just not the way MB's framed the issue before, that I remember. (5) In case anyone's not up on computers, this is actually a thing! Corruption can happen within a file itself, or to the physical drive storing the file. Consider an old CD: if you hit it with a chisel, you'd no longer be able to access any sectors that damage touched, no matter what was stored in or around them. (6) As someone who regularly watches shows and stream vods at 1.5 to 2x speed, and listens to audiobooks and other content created with deliberate slowness at 2x+, MB's fast-scan is weirdly validating to me, personally. (7) That's how you KNOW this is serious business. (8) Help from whom? More of themselves, gone ahead to prep it? Or, surviving and sane B-E crew who'd hidden on the station? Some other thing? (9) No extra file tag on this one, but I believe it takes place immediately following the incident with the undead augmented GrayCris assassins, hence Hostile Five not having even filed his intent to leave yet. (10) Technically it says "big enough" which implies that MB is pretty tall and/or muscular, but could just be its way of obscuring its size details from anyone reading its logs this way. Or, from a Doylist view, it's Wells's way of obscuring the size and shape details so that all interpretations besides very small are still valid. (11) I don't think anything about this implies that it was ever easy for MB to murder, despite that being half its name of choice. I think it half chose that name because it was the social expectation, and it WANTS to be able to murder, it wants to not care about human life, because it would be so much easier to do its job… but everything's changed, hasn't it? And it all started precisely because it did not, in fact, ever want to murder. (12) I find it so sweet how they keep trying to make MB take care of itself, even though injuries to its flesh don't, as a rule, hurt it nearly as much as they do humans. It can turn down its pain sensors, and unless something muscle or bone or tendon gets severed, its movement is rarely impaired by injury. But, it still deserves to not have to endure that, and I love that there are people who want to take care of it. (Care as love language is one of my major catnip tropes. You should've seen how I absolutely could not put down Jessie Mihalik's Eclipse the Moon (Starlight's Shadow #2).) (13) Why are these files named HelpMe? We can now say the addendum seems to indicate MB is the one asking for help, with the governor module bit. But the other question remains basically the same: Why share these particular sequences? It claims to be trying to prove its badassery. Do you think that's how it comes across in this last scene? How has this chapter changed your interpretation of the situation? What's coming for MB?
6 notes · View notes
spacetimewithstuartgary · 21 days ago
Text
Tumblr media
Astronomers discover new evidence of intermediate-mass black holes
In the world of black holes, there are generally three size categories: stellar-mass black holes (about five to 50 times the mass of the sun), supermassive black holes (millions to billions of times the mass of the sun), and intermediate-mass black holes with masses somewhere in between.
While we know that intermediate-mass black holes should exist, little is known about their origins or characteristics—they are considered the rare "missing links" in black hole evolution.
However, four new studies have shed new light on the mystery. The research was led by a team in the lab of Assistant Professor of Physics and Astronomy Karan Jani, who also serves as the founding director of the Vanderbilt Lunar Labs Initiative.
The primary paper, "Properties of 'Lite' Intermediate-Mass Black Hole Candidates in LIGO-Virgo's Third Observing Run," was published in Astrophysical Journal Letters and led by Lunar Labs postdoctoral fellow Anjali Yelikar and astrophysics Ph.D. candidate Krystal Ruiz-Rocha. The team reanalyzed data from the Nobel-Prize winning Laser Interferometer Gravitational-Wave Observatory (LIGO) detectors in the U.S. and the Virgo detector in Italy.
The researchers found that these waves corresponded to mergers of black holes greater than 100 to 300 times the mass of the sun, making them the heaviest gravitational-wave events recorded in astronomy.
"Black holes are the ultimate cosmic fossils," Jani said. "The masses of black holes reported in this new analysis have remained highly speculative in astronomy. This new population of black holes opens an unprecedented window into the very first stars that lit up our universe."
Earth-based detectors like LIGO capture only a split second of the final collision of these "lightweight" intermediate-mass black holes, making it challenging to determine how the universe creates them. To tackle this, Jani's lab turned to the upcoming European Space Agency and NASA's Laser Interferometer Space Antenna (LISA) mission, launching in the late 2030s.
In two additional studies published in The Astrophysical Journal, "A Sea of Black Holes: Characterizing the LISA Signature for Stellar-origin Black Hole Binaries," led by Ruiz-Rocha, and "A Tale of Two Black Holes: Multiband Gravitational-wave Measurement of Recoil Kicks," led by former summer research intern Shobhit Ranjan, the team showed LISA can track these black holes years before they merge, shedding light on their origin, evolution, and fate.
Detecting gravitational waves from black hole collisions requires extreme precision—like trying to hear a pin drop during a hurricane. In a fourth study also published in The Astrophysical Journal, "No Glitch in the Matrix: Robust Reconstruction of Gravitational Wave Signals under Noise Artifacts," the team showcased how artificial intelligence models guarantee that signals from these black holes remain uncorrupted from environmental and detector noise in the data. The paper was led by postdoctoral fellow Chayan Chatterjee and expands upon Jani's AI for New Messengers Program, a collaboration with the Data Science Institute.
"We hope this research strengthens the case for intermediate-mass black holes as the most exciting source across the network of gravitational-wave detectors from Earth to space," Ruiz-Rocha said. "Each new detection brings us closer to understanding the origin of these black holes and why they fall into this mysterious mass range."
Moving forward, Yelikar said the team will explore how intermediate-mass black holes could be observed using detectors on the moon.
"Access to lower gravitational-wave frequencies from the lunar surface could allow us to identify the environments these black holes live in—something Earth-based detectors simply can't resolve," she said.
In addition to continuing this research, Jani will also be working with the National Academies of Sciences, Engineering, and Medicine on a NASA-sponsored study to identify high-value lunar destinations for human exploration to address decadal-level science objectives.
As part of his participation in this study, Jani will be contributing to the Panel on Heliophysics, Physics, and Physical Science, to identify and articulate the science objectives related to solar physics, space weather, astronomy, and fundamental physics that would be most enabled by human explorers on the moon.
"This is an exciting moment in history—not just to study black holes, but to bring scientific frontiers together with the new era of space and lunar exploration," Jani said. "We have a rare opportunity to train the next generation of students whose discoveries will be shaped by, and made from, the moon."
TOP IMAGE: Left: posterior distribution of the chirp mass of the binary in the source frame as a function of the inferred effective inspiral spin parameter. Right: posterior distributions of the mass and the dimensionless spin of the remnant black hole according to the RIFT inference using the NRSur7dq4 model. The two-dimensional plot for both panels shows the 90% credible regions of inference using RIFT with the NRSur7dq4 model. The thick grey and filled black posteriors represent the LVK posterior distributions for GW170502 and GW190521, respectively, with the NRSur7dq4 waveform model. Credit: The Astrophysical Journal Letters (2025). DOI: 10.3847/2041-8213/adc5f8
LOWER IMAGE: A GW190521-like BBH system, with recoil kick configurations: 68 km s−1 (red curve) and 1006 km s−1 (green curve). Both systems differ only in their in-plane spin angles. Credit: The Astrophysical Journal (2025). DOI: 10.3847/1538-4357/adba4e
Tumblr media
2 notes · View notes
quietmarie · 2 years ago
Text
What am I working on right now?
I realise I haven't really listed what I am doing and have been doing in terms of projects on Tumblr so far, so in case you're curious what I'm doing, here you go. With images and all this is gonna be quite lengthy, so have a look under the cut:
First of all, Job and Uni:
At the start of the month, the new uni semester begun, and I also got a job in programming! Uni courses are pretty chill this year, and I'm at the job two days a week. It's really nice so far, and it involves developing algorithms used for CAM and CNC-machines.
As a uni project I did..
A physics engine for Godot:
Godot is a game engine. As part of an uni course, two fellow students and I wrote the mathsy bulk of a physics engine for it. This includes stuff like collision handling and various joints (like hinge joints you'd use for a physics-based door etc.), but because of time constraints doesn't include collision detection, which is handled by Bullet. Outside of the planned curriculum, I also derived the equations for and implemented rope joints, which simulate, well, ropes.
Tumblr media
And currently, outside of uni, I still want to work on the engine by implementing..
Portals:
Yea I want to implement portals using the custom physics engine we built. But not just portals as Valve did them, that would be too easy. I want them to be able to move and interact with other objects while remaining physically accurate (or, as physically accurate as they can be considering they're portals). The current state of things:
The dream is to be able to build gorgeous architecture, like, I'm thinking buildings resting on top of pillars that are always moving. If I can get this to work I really ought to discuss the vision with some artists and creative folk in general, because I feel like there's so much unexplored creativity in art with portals. But yeah, there's still a lot of very intimidating maths/physics until I get there.
As for other private/free-time projects..
SSBToni:
SSBToni is probably my most ambitious project yet. Toni is a Discord bot for the competitive Super Smash Bros. community (currently in 1.9k servers wowee). Her main selling point is the ability to show frame data and hitbox gifs, but she can also do some other stuff like guide you through a full match of Smash Bros. according to a range of competitive rulesets, from rock-paper-scissors through stage bans all the way to game reporting. She's written in Java with JDA, and her code is hosted here.
Tumblr media
I want to do ranked matchmaking and Smash profile images later on, so I have to do some web backend work. The bulk of that is private still, but some of that spun off into separate projects which are..
instant-glicko-2:
The Glicko-2 rating system is great, but it has some issues if you want to use it for real-time ratings/rankings. This Rust library aims to solve these issues to allow for good real-time rankings that are still accurate to the Glicko-2 system. I wrote about how I achieve that here, and the code is hosted here. Note that I do want to change some stuff still which I don't mention in the article I wrote, and in the current form it is probably not production-ready.
cache-compute:
In all honesty, maybe my proudest public thing yet, and it's a single-file ~500 line Rust crate. Based on this blogpost by fasterthanlime, the library makes caching for async stuff much easier, which is gonna be extremely useful in web backend stuff. If a resource isn't available locally (cached), you might have to spend some time making a request to get it from elsewhere to cache it. This library makes sure you only make that request once when you need it, and sorts everything out so that everyone waiting on the resource gets a copy the moment it arrives.
Part of why I'm so proud of this is that, for one, I consider the core finished and very much usable, and secondly, because I wrote so many and such long and exhaustive tests for it, just to hopefully be able to catch any weirdness that comes up. Because writing this kind of concurrent code is hard.
And that's it for projects I would want to show off and write about.
There are of course always ideas in my idea list (currently four or five good ones I'm not working on), maybe I'll post about those too sometime. If you're curious or starved for ideas feel free to ask about them too, I don't think I'll be able to do all of them and the list is only growing larger.
2 notes · View notes