all the things i don't talk about
anne voice: aster said it's my turn to have the breakdown.
but first, t4t4tsashannarcy's h/c tag club! (lmk if you want off the tag club, i'm mostly just tagging people who asked but also people i really want to see this!!! also feel free to ask to join the tag club also <3)
@mothicalspoken @useless-space-rock-lesbians @arcadiii @starryemeralds @oraclecoven @sweetstrangersearthquake @abyssalzones @insulationsun
title taken from "a pearl" by mitski!
Blurb: "Anne tosses and turns in bed that night. She can’t get comfortable. First, there are too many shadows in her room, so she plugs in her old night light. And then there’s the storm. Anne used to love the way rain sounded against her window, but ever since that first week in Amphibia, it’s only brought a sense of vague discomfort. Makes her feel like any moment she’ll be back in that cave, hiding from the predators outside alongside the worms.
And usually, she can ignore it. But tonight she feels raw, like the exposed nerves of a nail bitten to the quick. Like anything and everything can hurt her.
It’s a scary feeling."
AO3 Link
Word Count: 2,305 words
Content Warning: There is an explicit breakdown, implications of death, implications of harm to children, and an intense depiction of PTSD triggers!
It’s a normal night in the Boonchuy household. Or at least, as normal as a house hosting a family of extradimensional talking frogs can be. Anne is sitting on the couch, browsing through Tweeter, a Thai drama acting as background music to her scrolling. It’s Polly’s turn to use the TV, evidenced by the painstakingly organized schedule pinned to the wall next to it in plain view for the entire house to see – Anne had to write it out a couple of weeks into coming back home because the Plantars kept fighting over who got remote privileges. The quick murmur of Thai is a balm on Anne’s soul, soothing after months of not hearing the language at all.
That’s the thing about being home – Anne finds that things she used to take for granted are somehow more meaningful than before. As it turns out, absence does make the heart grow fonder.
“This is so boring!” complains Sprig. He wilts into the couch dramatically, sending a glare in Polly’s direction.
Polly gleefully ignores him, transfixed by her show. Anne is still surprised by how well she understands it – it took Anne herself years to get the level of fluency she has now. Which is to say, none whatsoever.
Anne’s neck prickles. She can feel Sprig’s eyes staring holes into her. She sighs.
“What’s up, dude?” Anne asks, giving him the side eye.
“I was wondering something…” he replies.
“Okay. Shoot.”
“So… are you going to tell your parents about Sasha and M–”
“No.” Anne interrupts before he can finish the thought.
“Why not? It seems like it’s bothering you a lot.” Sprig asks. Anne hates how his large eyes sparkle with concern. Even without looking at him, she knows the exact face he’s making right now.
“They don’t need to know. You saw how they reacted to finding out about the robots.”
“But isn’t it important? I mean, Marcy–”
The door opens with a bang. In strolls Anne’s mother, arms full of groceries.
“Anne,” she orders, “Go get the rest of the groceries from the car.”
After helping put the groceries away, Anne assists in preparing for dinner. She can’t help but smile fondly as her Mom sings a gushy love song under her breath while she chops the shallots. Tonight they are making ลาบ, or larb, which is one of her Dad’s favorite foods. Anne is excited to have it again – it’s the first time they’ve made it since she got back from Amphibia. She’d tried to make larb with maggots at Stumpy’s, but it just wasn’t the same as the real deal.
“Got it!” Anne says eagerly, hopping up off the couch. Now that Mom’s home, she can avoid talking about it for the remainder of the night. That’s good enough for now. With any luck, Sprig will forget about the conversation by tomorrow.
“Cut the spring onions, will you?” her Mom asks. Anne dutifully does so.
“Good girl. Now go ahead and sit down. You know I don’t like cooking with other people in the room, ที่รัก. (Dear.)”
Anne sits down on the couch with a sigh. Polly is still watching her show, but Sprig is nowhere to be found. That’s probably for the best anyway. She doesn’t particularly want to be questioned right now and Sprig is full of those.
And Anne isn’t sure why she feels this way, but it still puts her on edge.
“Look, Anne!!! สมชาย (Somchai) is about to ask มาลัย (Malai) to marry him!” Anne looks up from her phone to watch. Despite her lack of fluency in the language, she quickly gets sucked into the proposal.
All is well until the smell wafts in from the kitchen. And it’s kind of weird, because normally the scent of cooked pork would make her mouth water. But here, right now, it’s making her feel… uncomfortable. Grossed out. Anxious, even.
“Dinner’s ready,” Calls Mom a few minutes later. Consumed by her discomfort, the yell makes Anne startle and drop her phone. When she picks it up, she notices that her hands are shaking. Weird.
The tremors continue as she sets the table. Anne has to work hard to not place the plates down too hard. The cutlery rattles in her hands loudly, but she tries her best to quiet it. It’s fine, everything is fine. Anne doesn’t even know why she’s feeling this way. It’s like there’s a ticking bomb in her chest, set to explode at a hair trigger.
It doesn’t matter, though. All that matters right now is getting through dinner.
Anne tries her best to act as Normal As Possible as they all sit down to eat. She moves on autopilot, smiling whenever someone looks at her and making casual conversation. And she thinks she’s doing okay, until –
“Anne, are you going to eat your ลาบ (larb)? It’s usually your favorite…”
She decidedly ignores the call of her name that follows.
Anne forces a smile. It feels as fake as plastic, pulling against her tense jaw, “It’s good! But I’m actually not very hungry right now, haha. Must’ve eaten too many snacks this afternoon, you know me,” she lets out a nervous laugh, energy like electricity dancing up her back as she runs a hand through her tangled curls, “Actually, I think I’m gonna go get started on that unit five book report and go to bed early. Goodnight!”
Anne tosses and turns in bed that night. She can’t get comfortable. First, there are too many shadows in her room, so she plugs in her old night light. And then there’s the storm. Anne used to love the way rain pounded against her window, but ever since that first week in Amphibia it’s only brought a sense of vague discomfort. Makes her feel like any moment she’ll be back in that cave, hiding from the predators outside alongside the worms.
And usually, she can ignore it. But tonight she feels raw, like the exposed nerves of a nail bitten to the quick. Like anything and everything can hurt her.
It’s a scary feeling.
Eventually, though, she does doze off. But even then, her dreams are anything but peaceful.
It starts with her running through a forest. There is Something coming, something big, and it’s after her. She runs and runs. Her lungs feel like they are going to burst. Black dots spot her vision. She accidentally stumbles into quicksand. It takes a second for her to get her foot out. She continues running, barely noticing her lost shoe until she gets her sock wet crossing a rocky stream. She keeps going anyway, terror traveling through her veins like the blood keeping her alive. She’s got to go, got to go, got to go, got to get away –
She’s on top of toad tower, shoulder aching as she holds onto Sasha for dear life. Her hand is sweaty. She can feel Sasha slipping. Her recently crushed forearm is filled with a searing pain. But it doesn’t matter. Without Anne’s hand, Sasha will fall to her death.
“Hey, Anne? Maybe you’re better off without me.” Sasha says before she lets go–
They’re in the throne room. Anne feels a mixture of exhaustion and adrenaline. They’re so close, so close to home, they’re going to escape, all three of them, they’re going to be okay…
Before she can breathe out a sigh of relief, though, Marcy looks up at her, “I just need to–” she’s cut off mid sentence, a flaming sword through her gut.
Anne startles awake with a barely muffled shout. Her heart beats a heavy staccato against her chest. This isn’t the first time she’s had this dream. Normally, she’d get up. Pace around a bit like her cat does when she’s feeling boxed in. But right now, the fear is too great for her to even move. It’s like there’s something coming, like someone’s gonna fall, like there’s a sword against her back. But there isn’t. She’s at home, in bed. Domino stares at Anne curiously from the foot of her bed.
She needs to calm down, Anne knows she does. But her heart is beating like she’s running for her life and her head is spinning and it feels like all the air’s been sucked out of the room and she is so, so afraid. So instead she begins to cry.
And she tries to stay quiet, she does. But frogs have very good hearing. And the guest room shares a wall with her own.
“Anne?” says a tentative voice. Anne looks up. She didn’t even notice the door open, lost in her own mind as she was. Sprig is looking at her with his big, innocent eyes. He looks worried.
“Anne, are you okay?”
Beside herself, Anne simply lets out a keening cry, burying her face in her hands as though that will somehow make the tears go away. She hates it when people see her cry, hasn’t showed weakness like this in front of someone since she was six years old, and yet–
And yet.
“Now see here, what’s going on?” Comes Hop Pop’s stern grumble.
“Anne’s upset.” murmurs Sprig, sounding small and scared, “I don’t know what to do.”
Anne wraps her arms around her legs, burying her face in her knees. She doesn’t deserve their kindness, doesn’t deserve a lick of it–not when Sasha is stuck in a terrifying world full of talking amphibians, not when Marcy is–
“Anne? Do you need me to get your parents?” Hop Pop asks in a soft tone, putting his webbed hand on her knee. She flinches at his touch, then shakes her head desperately. Nonono, they can’t see this. Can’t see her break down. What will they think of her, if they know how scared she is? Will they even let her go back if they find out? She is strong, she is brave, she can handle this and anything the world throws at her.
If only she could just breathe.
But the thing is, the moment Anne tries to focus on her breathing, she becomes all too aware of the rest of her body–the beating of her too-fast heart, the way her hair feels like spiderwebs on her neck, the way her lungs burn from all the running–the way that she’s breathing. It’s a never-ending cycle of try to breathe, realize you can’t, get scared because you can’t breathe and everything is uncomfortable and scary and you can’t feel your hands and the rain is going to drown you like a tidal wave. Rinse and repeat.
And of course, concerned as they are at her obvious and embarrassing breakdown, the Plantars get her parents anyway.
“Anne? Sweetie, what’s wrong?”
Anne curls up tighter. Even if she could begin to explain all the things wrong right now, she wouldn’t. There’s too much at stake. Maybe, in an ideal world, she would be a perfect person. Maybe, in an ideal world, Anne would be known as her parent’s responsible daughter. Maybe, in an ideal world, Marcy and Sasha would be home, and safe, and they would all be spending their days making mischief in the park and drinking their weight in boba.
But this isn’t an ideal world. And Anne is not an ideal person. Anne is not her parent’s responsible daughter.
She’s just a scared kid, and she is so tired.
“Oh, Annie,” Mom says softly, sitting down on Anne’s bed. She reaches out a smooth hand out, grabbing one of Anne’s callused ones and rubbing her fingers along the ridges soothingly. The action is so comforting, so familiar, that Anne has to bite back a wail. It’s like she’s three years old again and crying over a skinned knee. God, she would do anything for a small surface wound to be her biggest problem. Slowly, as though telegraphing her movements, Anne’s mom scoots in close to her daughter, enveloping her in a hug. Only then does Anne realize how cold she is, how her entire body feels like she’s soaked to the bone in ice water.
“Anne. Can you breathe for me?”
Anne tries again to breathe, but it just won’t come. She shakes her head.
“Mmm, let’s try something else,” Mom says, situating Anne so that her ear is placed directly against her heart, “Can you hear my heart beating?”
Anne nods. But she isn’t sure Mom can feel that, so she makes a little sound instead.
“Listen to my heartbeat, Annie. Do you hear it?”
Anne makes another sound to say yes.
“Good girl. Can you copy my breathing now? Listen.”
Anne tries. It takes a few minutes of concentration, but eventually her own heart begins to mimic the calmer thrum of Mom’s slow and steady one.
“Just like when you were a baby, hm? You used to love my hugs,” Mom says wistfully, “When did you grow up?”
Anne frowns, burying her face in her mother’s chest. As much as she tries to act like it nowadays, she feels as far from “grown up” as she can get. And she’s tired of trying, if she’s being honest.
“I’m proud of you, you know,” Mom continues, “You work so hard to help the Plantars. But you have to work hard to help yourself, too.”
Anne deflates. Mom’s right. But it’s just so hard to take care of yourself when all you can think about is someone else. It’s a heavy burden, but one she has to bear. Maybe though, just maybe, she doesn’t have to bear it on her own.
“Mom?” she says. Her voice is hoarse. Her throat feels dry and scratchy like sandpaper.
“Yes, ที่รัก (dear)?”
“I need to talk to you about something. Dad too. But I’m… I’m not sure how to.”
“Take your time. We’ll be here when you are ready.”
“Promise?” Anne asks.
“I promise.”
66 notes
·
View notes
it really says a lot that i can handle a fly infestation so well emotionally at this point bc when i was a teenager i saw a few maggots on a trashbag and got so upset that i thought there were bugs in my eyes and then my nose started bleeding and i had the biggest panic attack ever. now i just tic a little bit 😌
4 notes
·
View notes
MCOC Wishlist Poll Snapshot: Entire Rankings
001 Mystique
002 Quicksilver
003 Beta Ray Bill
004 Sandman
005 Adam Warlock
006 Kitty Pryde
007 Lizard
008 Morbius the Living Vampire
009 Kraven the Hunter
010 Cloak & Dagger
011 Spider-Man 2099
012 Black Cat
013 Bullseye
014 Jessica Jones
015 Ares
016 Shang-Chi
017 Gladiator (Kallark)
018 Baron Zemo
019 Lady Deathstrike
020 Enchantress
021 Valkyrie MCU
022 Knull
023 Morgan le Fay
024 Scorpion
025 Captain Britain
026 Galactus
027 Dazzler
028 Silver Samurai
029 Black Knight
030 Dracula
031 Hobgoblin
032 Pyro
033 Fantomex
034 Spider-Woman
035 Jean Grey 90s
036 Silk
037 Polaris
038 Silver Sable
039 Sif
040 Anti-Venom
041 Mister Negative
042 Crystal
043 Legion
044 Shocker
045 Malekith the Accursed
046 Destroyer Armor
047 M'baku the Man-Ape
048 The Mandarin
049 Emplate
050 Multiple-Man
051 Shuri
052 Banshee
053 Onslaught
054 Warpath
055 Sunfire
056 Cannonball
057 Dark Phoenix
058 Blue Marvel
059 Prowler (Aaron Davis)
060 Okoye
061 Mockingbird
062 Spiral
063 Madame Hydra / Viper
064 Hydro-Man
065 Red She-Hulk
066 Agent Anti-Venom
067 Blackheart
068 Gorr the God-Butcher
069 Songbird
070 Quasar
071 Absorbing Man
072 Whiplash
073 Armor
074 Daimon Hellstrom
075 Wendigo
076 Nimrod
077 Graviton
078 Gwenom
079 Deathlok
080 Firestar
081 Vulcan
082 Wonder Man
083 Selene
084 Blob
085 Klaw
086 Rachel Summers
087 Thor (MCU Stormbreaker)
088 Shadow King
089 White Tiger
090 Tombstone
091 Jack O'Lantern
092 Valkyrie Classic
093 Toad
094 Moonstone
095 Weapon H
096 Jocasta
097 Dani Moonstar
098 Monica Rambeau
099 Wolfsbane
100 Franklin Richards
101 Ancient One
102 Arnim Zola
103 Exodus
104 Forge
105 Supergiant
106 Madelyne Pryor
107 Hank Pym
108 Hawkeye (Kate Bishop)
109 Negasonic Teenage Warhead
110 Spider-Man Noir
111 Phantom Rider
112 Blink
113 Sebastian Shaw
114 Clea
115 Black Tom Cassidy
116 Kurse
117 Danger
118 Daken
119 Omega Sentinel
120 Grim Reaper
121 Radioactive Man
122 Shatterstar
123 Darkstar
124 Werewolf by Night
125 Hope Summers
126 The Magus
127 Union Jack
128 Captain Marvel (Mar-Vell)
129 Crimson Dynamo
130 Pixie
131 Conan
132 Scarlet Spider (Ben Reilly)
133 Azazel
134 Jigsaw
135 Boom-Boom
136 Swarm
137 Xorn
138 Machine Man
139 Black Widow (Yelena Belova)
140 Madame Masque
141 Misty Knight
142 Chamber
143 Mistress Death
144 Skaar
145 Morlun
146 Thanos (Endgame)
147 Leader
148 Sleepwalker
149 Deacon Frost
150 Black Swan
151 Agent 13 (Sharon Carter)
152 Fin Fang Foom
153 Ka-Zar
154 Arcade
155 Iron Spider
156 Dust
157 Gorgon
158 Lash
159 Namora
160 A-Bomb (Rick Jones)
161 Ikaris
162 Nick Fury (Classic)
163 Rescue
164 Nico Minoru
165 Volstagg
166 Weapon Hex
167 Stingray
168 Maximus the Mad
169 Cyttorak
170 Skurge the Executioner
171 Doc Samson
172 Maverick / Agent Zero
173 Sauron
174 Baron Blood
175 Captain America Falcon
176 Wong
177 Mantis
178 Whirlwind
179 Firelord
180 Magma
181 Molecule Man
182 White Fox
183 Nova (Sam Alexander)
184 Satana
185 Dum Dum Dugan (LMD)
186 Holocaust
187 Shiklah
188 Valkyrie Moonstar
189 High Evolutionary
190 Bloodaxe
191 Magus (Technarch)
192 Nighthawk
193 Punisher: War Machine
194 Goliath (Bill Foster)
195 Nova (Frankie Raye)
196 Ghost Rider (Danny Ketch)
197 Dr. Cecilia Reyes
198 Sentinel X (Shogo Lee)
199 Thena
200 Hellcat
201 Cosmic Spider-Man
202 Attuma
203 Shroud
204 Doctor Nemesis
205 Siryn
206 Nate Grey
207 Iron Monger
208 Black Mamba
209 Agent Carter
210 Kluh
211 Tiger Shark
212 Purple Man
213 Snowbird
214 Ice-Thing
215 Lilandra
216 Superior Spider-Man
217 Thane
218 Moon Girl & Devil Dinosaur
219 Jackal
220 Jean Grey (X-Men Red)
221 Punisher: Frankencastle
222 Puck
223 Rockslide
224 Red Ghost and his Super-Apes
225 Deathbird
226 Hydra Supreme
227 Strong Guy
228 Zarda the Power Princess
229 Sage
230 Quentin Quire (aka Kid Omega)
231 Prowler (Hobie Brown)
232 Slapstick
233 Stardust (Lambda Zero)
234 Titanium Man
235 D'spayre
236 Colleen Wing
237 Thunderbird (John Proudstar)
238 Iron Maiden
239 Gorilla-Man (Kenneth Hale)
240 Jack of Hearts
241 Titania
242 Avalanche
243 Toxic Doxie
244 Death’s Head
245 Impossible Man
246 Worthy Captain America (Mjölnir/Endgame)
247 Outlaw (Higgins)
248 Scarlet Spider II (Kaine Parker)
249 Beetle
250 Typhoid Mary
251 Bloodscream
252 Serpent (Cul Borson)
253 Ms. America Chavez
254 Ghost Rider (Reyes)
255 Hummingbird
256 Mercury
257 M (Monet St. Croix)
258 Black Tarantula
259 Spitfire
260 Wizard
261 Superior Octopus
262 Maria Hill
263 Minotaur (Dario Agger)
264 Echo
265 Morph
266 Karolina Dean
267 Zarathos
268 Thundra
269 Smasher (Kane)
270 Hyperstorm
271 Boomerang
272 Stature (Cassie Lang, AKA Stinger)
273 Meggan
274 Caliban
275 Hollow
276 Abyss (Styger)
277 Silverclaw
278 Red King
279 Doctor Druid
280 U.S. Agent
281 Sersi
282 Molten Man
283 Zzzax
284 Singularity
285 Agatha Harkness
286 Blastaar
287 Korvac
288 Citizen V
289 Carter Slade the Satan-Stomper
290 Post
291 Shuma-Gorath
292 Sin
293 Triton
294 Quasar (Kincaid)
295 Martinex
296 Iron Man (Mark I)
297 Wiccan
298 Speedball
299 Paladin
300 Amanda Sefton
301 Overmind
302 Diamondback (Rachel Leighton)
303 Feral
304 Charlie-27
305 Rom: Spaceknight
306 Juggerduck
307 The Uranian
308 Blazing Skull
309 Starfox
310 Living Laser
311 Hiro-Kala
312 Namorita
313 Jack Flag
314 Stormborn
315 Doctor Bong
316 Crescent & Io
317 Gamora mcu
318 Wave
319 Ironheart
320 Venom Rocket
321 Doctor Spectrum
322 Davos the Steel Serpent
323 Lady Hellbender
324 Falcon classic
325 Bloodstorm
326 Tempus (Eva Bell)
327 Voyager
328 No-Name the Brood
329 Demon Bear
330 Moondragon
331 Arachne
332 Aero
333 Andromeda
334 Speed Demon
335 Phyla-Vell
336 Xemnu the Living Hulk
337 Aleta
338 Araña
339 Human Torch (Jim Hammond)
340 Constrictor
341 Iso
342 Arkon
343 Genis-Vell
344 Shanna the She-Devil
345 Volcana
346 Batroc the Leaper
347 Arclight
348 Scientist Supreme
349 Yukio
350 N'kantu the Living Mummy
351 Gentle
352 Caiera the Oldstrong
353 Beetle (Janice Lincoln)
354 Penance (Baldwin)
355 Super-Adaptoid
356 Ajak
357 Future Colossus
358 Moses Magnum
359 Vampire by Night
360 Superia
361 Puppet Master
362 Chimera
363 Count Nefaria
364 Stick
365 Hellion
366 Agent May
367 Mister Hyde
368 Spot
369 Cobra
370 Doop
371 Lyja
372 Wrecker
373 Stargod/Man-Wolf
374 Stilt-Man
375 Machinesmith
376 Spider-Bitch
377 Madame Web
378 Corsair & Sikorsky
379 Thor (Groot)
380 Balder
381 Random
382 Power Man (Alvarez)
383 Starhawk
384 Sun-Girl (Selah Burke)
385 Arcanna
386 Scream
387 Kree Sentry
388 Agent Phil Coulson
389 Thunderstrike (Kevin)
390 Talos
391 Carmilla Black
392 Uatu
393 Jennifer Kale
394 Warwolf
395 Enigma (Aikku Jokinen, AKA Pod)
396 Belasco
397 Swordsman
398 Trevor Fitzroy
399 Dazzler Thor
400 Hepzibah
401 Atlas
402 Ogun
403 Yellowjacket (DeMara)
404 Hala the Accuser
405 Entropy
406 War Machine (Infinity War)
407 Animax
408 Captain Universe
409 Whizzer
410 Hogun the Grim
411 Cottonmouth (Clemens)
412 Blizzard
413 Storm (Queen of Wakanda)
414 Silhouette
415 Immortus
416 Beast (Hex-Men)
417 Solo
418 White Rabbit
419 Aurora
420 Equinox
421 Hellcow
422 Owl
423 Arsenic & Old Lace
424 Beetle mk iii
425 Valeria (Age of Conan)
426 Trapster
427 Throg
428 Mimic
429 Hulkling
430 Iron Lad
431 Angel (Black Vortex)
432 Marionette
433 Phastos
434 Hobgoblin 2099
435 Razor Fist
436 Asp
437 Baymax
438 Captain America (Peggy Carter)
439 Sp//dr
440 Tarantula (Kaine)
441 Silver Scorpion (Barstow)
442 Midnight Angels of Wakanda
443 Demolition Man
444 White Wolf (Hunter)
445 Synapse
446 Kingo
447 Grey Gargoyle
448 Gilgamesh the Forgotten One
449 Justice
450 Atlas Bear
451 Iron Fist (Orson Randall)
452 Victorious
453 Lincoln Campbell
454 Luna Snow
455 Zadkiel
456 Crystar
457 Husk
458 Gravity
459 Kaecilius
460 Marrina
461 Ghost Rider (Circle of Four)
462 Nighthawk Supremeverse
463 Fixer
464 Cardiac
465 Capwolf
466 Kull the Conqueror of Atlantis
467 Noh-Varr
468 Korath the Pursuer
469 Miss America (Joyce)
470 Blackjack O'Hare
471 Bi-Beast
472 Vance Astro
473 Bushmaster (Quincy)
474 Krugarr
475 Poundcakes
476 Yo-Yo
477 American Son
478 Mister M
479 Cottonmouth (Stokes)
480 Manphibian
481 Infamous Iron Man
482 Paibok the Power-Skrull
483 Shatter
484 Daredevil Shadowland
485 Nakia
486 Garrison Kane
487 Makkari
488 Elloe
489 Northstar
490 Spiderling
491 She-Hulk (Lyra)
492 Proteus
493 Grey Hulk
494 Doorman
495 Toro
496 Nuke
497 Acroyear
498 Blonde Phantom
499 Drax MCU
500 Orrgo
501 Marvel Girl NPC
502 Fandral the Dashing
503 Spider-Girl
504 Ms. Thing
505 Captain America 2099
506 Veranke
507 Haechi
508 Mulholland Black
509 Mighty Destroyer
510 Eclipse
511 Powell McTeague
512 Druig
513 Copycat
514 Terror
515 Ahab
516 God-Emperor Doom
517 Doombot (V Series)
518 Sword Master
519 Cyclone
520 Black Mariah
521 Zenzi
522 Thor: Herald of Thunder
523 3-D Man
524 Hulk Endgame
525 Tetu
526 Doctor Octopus (Liv Octavius)
527 Margali
528 Molly Hayes
529 Sinara
530 Aldrich Killian
531 Goldballs
532 Mindless Ones
533 Nikki Gold
534 Foolkiller
535 Darkwing Duck
536 Thunderstrike (Eric)
537 She-Thing (Ventura)
538 Killmonger (Emperor Symbiote)
539 Iron Duck
540 Ms. Marvel II (Ventura)
541 Spymaster
542 Scalphunter
543 Spider-Man (Miles Morales Movie)
544 Karn
545 Gun-R
546 Terminus
547 Achebe
548 Llyra
549 Bushmaster (John)
550 Sugar Man
551 Great Lakes Avengers
552 Xarggu
553 Human Fly (Deacon)
554 Shogun
555 Plantman
556 Brawn
557 Elixir
558 Litterbug
559 Smasher (Rokk)
560 Bug
561 Mammomax
562 Synch
563 Anaconda
564 Wolvie
565 Dirk Anger
566 Captain [****]
567 Ezekiel
568 Diamondback (Stryker)
569 Unworthy Thor
570 Master Mold
571 Masked Marauder
572 M.O.D.A.M.
573 Hellsgaard
574 Hulkbuster 2.0
575 Forgetmenot
576 Ghaur
577 Arcturus Rann
578 Ultimate Green Goblin (Movie)
579 Dragoness
580 Porcupine
581 M-11
582 Taskmaster MCU
583 Dansen Macabre
584 Lady Bullseye
585 Harpoon
586 Unicorn
587 Bushwacker
588 Loki variant
589 Night Nurse
590 Psyklop
591 Mack
592 Eel
593 Water Snake
594 Chaos King
595 Red Hulk (Maverick)
596 Kaluu
597 The Russian
598 Geena Drake
599 Jimmy Hudson
600 Slayback
601 Mentallo
602 Skull the Slayer
603 Karkas
604 Dominic Fortune
605 The Buzz
606 Doctor Crocodile
607 Ox
608 Dorrek VII
609 Needle
610 Krang
611 Dino-Thor
612 Stegron
613 Zeitgeist
614 [VACANT]
615 [VACANT]
616 [VACANT]
31 notes
·
View notes
A Bad Idea Written Last Night After Midnight - By this dumbass [SE Fanfic]
She sat in front of her screen, forcing her fingers to type as her eyes focused on the lines of codes in front of her, trying to finish polishing the codes for the upcoming release. After a long moment of not being able to find the line that was messing things up for her, she sighed tiredly and took a big sip of the BlueBuffalo (™) energy drink—she didn’t care for its taste, but it was the only thing keeping her awake for the last couple of days.
“Let’s check the main blog to see if there’s any new asks,” she said to herself, “It would be at least something productive to do for now.”
Almost unwillingly, she pried her fingers away from the keyboard and switched the tap, logging on to her main blog, sweetelite-staff.tumblr.com.
When the blue screen loaded, and before her eyes could notice the blue bubble with the 99+ above her ask icon, she saw it. The post.
“Hey, heads up everyone! Apparently someone inserted their oc into the game and now there’s this bug that adds them as a li. I didn’t receive the bug in any of my game plays but apparently others have. So if you see this bug called “Tadashi” stay away and hopefully staff will fix it soon!!”
A small laugh escaped her lips, feeling grateful that her followers were this hilarious, and clicked on the notes to see the “funny” comments.
“A bug that’s pretending to be a love interest!” She laughed, shaking her head as she replied to a few of them before clicking back to her main screen and finally noticed the asks.
I swear there were less than 30 in the morning? She thought, clicking on the letter icon and waiting for the screen to load.
She laughed at first, seeing that the latest three asks were about the bug joke, but her emotions quickly changed to confusion then anger when she saw that almost all of the asks were about it.
“Did I speak too soon about the followers?” She thought, clicking away from the page and returning to her dashboard to write a post about it, but her dash was covered in mentions and @s from her followers.
There were posts from almost all the active ones speaking about the bug and how he, Tadashi they called him, was the ninth love interest, and was bullying the players in her game.
“Tadashi...?” she muttered as she typed his name in the search box, followed by sweet elite, and her jaw dropped.
There were hundreds of posts about him, some having hundreds of likes and reblogs. And some of those posts were from her main account. His face looked taunting, judging, but almost familiar.
“That hair…” She thought, but quickly shook the thought. There is no way this is real, someone must be playing a prank on her. True, she had intended to add a tenth character, but no one knew of that but her staff, and their design wasn’t finished yet.
She took a second to breath, convincing herself that this is the effect of her lack of sleep. “I’m hallucinating…” She said in a low. “That must be it. Because otherwise…” As her voice faded, she extended her hands to the keyboard and typed her websites name, and clicked.
And there he was. His image on the main page.
She wasn't sure if it was anger or the lack of sleep, but she was not willing to see what this is. She had to delete him.
Opening the pages of the codes, she clicked control + F and typed his name, then enter. And she had to contain herself to stop the cry that was about to escape her lips.
There were thousands and thousands of mentions of him, page, bio, dialogues, codes. THIS IS INSANE! She thought, not wanting to open her mouth because she was afraid to actually scream in anger and fear. WHO DID THIS TO MY CODE? AND WHO ADDED HIM TO MY STORY?
With shaky hands, she moved the cursor to the button next to his name count that said “REMOVE ALL” that would erase everything about him in her codes—i know that's not how it work but its too much to do and honestly boring fam, so stay with me, m’’kay?— and clicked it.
The counter went to zero, and she let out a loud exhale, and breathed deeply. It’s gone. She thought, her lips quivering as she laughed in relief. She clicked back to her dashboard and typed a quick letter, informing her followers that the evil bug had been erased with a small gif under it. She clicked post and refreshed her page, wanting to see when people commented on it. But her post wasn’t there.
Instead, a different post made by her main blog was there, it read:
Dear Sweet Elite fans.
The bug you have found it actually a teaser to our new and most favorite dateable character that will be joining the game with the full release.
His name is Tadashi, and we, the Sweet Elite Staff, stan him.
“No…. No, No, NO!” She cried, trying to click the post to delete it, but the website kicked her off and she watched it go to the login screen.
She hunched forward and typed in her login to her staff blog, but it said that it’s wrong. She attempted her main blog as well but it said that her email was not attached to any account and if she wanted to sign up with it.
Angry and confused, she typed in the login to her old blog and was able to access it. But she saw that the damage had already been done.
She saw many of her followers and friends reblogging her post with comments, both excited and confused by the sudden update, but none of them seemed to be alarmed—except for Maisa, cuz that girl is wild lamo.
Looking through the main posts notes, she saw her staff members agreeing with the post and making jokes about it, discussing things about the future of the characters and how they were all stans now.
This is insanity! She thought, placing her hands on her head and staring with wide eyes at the madness that had happened. “This is not my game! This is not my character! This is not me!”
She hurriedly clicked on the code tap and saw that she was still able to access it, but was informed that a second person is coding and had changed the code.
Would you like to see the changes? The page read on top, but she wasn’t able to click no, all that she could do was agree.
The new code loaded, it was the oe she had just deleted, with the bug back in it.
The page flickered, and the code was erased for a moment, with only zeros and ones on the screen.
01001000 01100101 01101100 01101100 01101111 00100000 01010011 01100101 01110010 01100101 01101110 01100001
Having dealt with binary, she quickly pulled up a decoder and translated it.
Hello Serena
The code disappeared again, and she saw the line blink on the empty screen.
If it hadn’t been for what she had been through, this would have made her panic, but she was far too angry and tired to emote.
She typed slowly, on the screen. Who are you and what have you done to my game and accounts?!
The screen went empty again and a second code appeared.
01001001 00100111 01101101 00100000 01010100 01100001 01100100 01100001 01110011 01101000 01101001 00101100 00100000 01111001 01101111 01110101 01110010 00100000 01110100 01100101 01101110 01110100 01101000 00100000 01100001 01101110 01100100 00100000 01100010 01100101 01110011 01110100 00100000 01100011 01101000 01100001 01110010 01100001 01100011 01110100 01100101 01110010 00101110
I'm Tadashi, your tenth and best character for Sweet Elite.
Translating it, her eyes went wide in disbelief, and she backed out of her screen.
“No, you're not!” She yelled at her monitor. “I only have ten!”
The screen flickered, and another code appeared on her screen.
01010100 01101000 01100101 01101110 00100000 01101000 01101111 01110111 00100000 01100100 01101111 00100000 01111001 01101111 01110101 00100000 01100101 01111000 01110000 01101100 01100001 01101001 01101110 00100000 01101101 01111001 00100000 01100101 01111000 01101001 01110011 01110100 01100101 01101110 01100011 01100101 00100000 01101001 01101110 00100000 01110100 01101000 01100101 00100000 01100110 01100001 01101110 01100100 01101111 01101101 00111111 00100000
Then her tap changed, going to the decoder and pasting the code.
Then how do you explain my existence in the fandom?
With horror in her eyes, she looked around at her surrounding, trying to find an explanation to why this is happening.
“HOW THE HELL DID YOU HEAR THAT?! WHERE ARE YOU?”
Another code typed itself, the it went back to the decoder.
I’m right here. In your codes.
“NO! NO NO NO NO NO! YOU’RE HACKING MY COMPUTER AND MESSING WITH MY CODES!”
There was a pause for a moment, but the code typed itself again and translated itself.
You have this all wrong you loser, lol. I’m in YOUR code.
Then another line appeared.
Watch.
The screen blinked, switching to a different tap and showing a second coding screen. A few lines were written and the mouse moved, clicking on the word “Save.”
Then, the room around her disappeared, and she found herself sitting in an empty white space, with only here and the monitor in front of her.
Completely frozen from fear, she dropped down on the white floor, her eyes glued to the empty screen.
“Why are you doing this…” She asked, her voice empty.
Another code appeared, but she found herself able to read it without translation
01011001 01101111 01110101 00100000 01101011 01101110 01101111 01110111 00100000 01001001 00100000 01101000 01100001 01100100 00100000 01110100 01101111 00100000 01100100 01101111 00100000 01101001 01110100 00100000 01110100 01101111 00100000 00100111 01100101 01101101
“WHY! WHAT ARE YOU GAINING BY MAKING ME ENDURE ALL OF THIS?!”
Another code appeared, and her mind read it and understood its content.
01101000 01110100 01110100 01110000 00111010 00101111 00101111 01101011 01101001 01110100 01110100 01111001 01100011 01101000 01100001 01101110 00101101 01110011 01101001 01101110 01100111 01110011 00101101 01100101 01101110 01101011 01100001 00101110 01110100 01110101 01101101 01100010 01101100 01110010 00101110 01100011 01101111 01101101 00101111 01110000 01101111 01110011 01110100 00101111 00110001 00110111 00110000 00110001 00110111 00111000 00110011 00110110 00110101 00110111 00110100 00110101 00101111 01110000 01110010 01100101 01110011 01100101 01101110 01110100 01100101 01100100 00101101 01110111 01101001 01110100 01101000 01101111 01110101 01110100 00101101 01100011 01101111 01101101 01101101 01100101 01101110 01110100 01100001 01110010 01111001 00101101 01101111 01110010 00101101 01100001 01110000 01101111 01101100 01101111 01100111 01111001
“...No.” she said, covering her mouth from shock. “This is too much…”
The screen went white, matching the walls of this white emptiness, leaving her alone in the midst of it. And after a moment, a code stretched across it.
01000111 01101111 00100000 01110100 01101111 00100000 01110011 01101100 01100101 01100101 01110000 00101100 00100000 01010011 01100101 01110010 01100101 01101110 01100001 00101110
And then, she woke up.
55 notes
·
View notes
Coding ADSR in Max MSP
As an audio programmer, a tool that often comes up in my practice is Max MSP. Max MSP is a visual based programming language designed for use specifically with audio applications. Max isn’t a text based language to be used in an IDE like C++, instead Max is it’s own application, and audio signal processing algorithms can be created, and then within exported into a applications as a standalone app, or can be exported into ableton. “Although MaxMSP is a little esoteric compared with mainstream music products, it is deeply entrenched in the digital media scene. This is mainly because of its flexibility: as an open–ended audio and media toolkit, artists, programmers and studio engineers have used it to construct all sorts of software systems, from audio plug–ins to art installations, and a fair proportion of laptop gigs worldwide will be at least partially Max–powered” (Rothwell, 2008)
Max is an interesting tool for new audio programmers because scripting and syntax errors aren’t an issue in de-bugging. Objects are pulled out of the Max library for us to use. As a programming language however, Max does have some drawbacks. “Sometimes, a task benefits from the particular strengths of 'real' languages: they can express algorithms succinctly (allowing direct iterative or recursive approaches), support complex data structures, can manipulate text, and are generally modular, allowing tasks to be broken up into separate parts in ways that a graphical paradigm doesn't easily support.” (Rothwell, Cycling '74 Max 8, 2019)
Making an ADSR envelope.
I want to use Max to create a simple ADSR plugin to be used in audio in Ableton. To do this I am researching into ADSR from a coding viewpoint. Looking at ADSR from a coding viewpoint seems relatively straightforward. Using my own experience in audio programming I know that ADSR is an amplitude envelope, and should contain 4 variables which are Attack, Decay, Sustain, and Release. So the program created should contain these four values.
Doing further research into deconstructing the workings in ADSR, I have found the following important keypoints for designing and building an ADSR.
· “The generator gets out of the ATTACK, DECAY and RELEASEstage by itself: After a given time has passed, it calls enterStageto go to the next stage.
· It stays in the OFF and SUSTAIN stages indefinitely, until enterStage is called from outside.
· Therefore, ATTACK, DECAY and RELEASE are time values, but SUSTAIN is a level value.
· It can enter the RELEASE stage coming from the ATTACK, DECAY or SUSTAIN stage.
· When entering RELEASE, it should decay from the current leveldown to zero.” (Finke, 2015)
Researching this lead me to P5.JS. An online platform with an open source library for audio objects coded in JavaScript. Within P5.JS, there was this example code for an ADSR envelope.
https://p5js.org/reference/#/p5.Envelope
As stated above, Max is a visual language, so the work of writing the text is already done in the Max library, meaning that there is no risk of typing syntax error. Cycling 74 have provided documentation of the inner workings of the ADSR object, and the parameters included.
(Cycling74)
Exploring ASRD, particularly from a coding standpoint has been useful in my professional practice as an audio programmer. When programming, it is important to understand the fundamentals behind the theory of what you’re trying to code to turn it into a practical and executable program.
Below I have linked a video I have made, putting my research into ADSR in coding into practice. I will follow this us with an updated video where I create another version of the code in Max.
References
Finke, M. (2015). Audio Plugins 011 Envelopes. Retrieved from Martin Finke: http://www.martin-finke.de/blog/articles/audio-plugins-011-envelopes/
Rothwell, N. (2008, 8). Cycling 74 Max 5. Retrieved 2020, from Sound on Sound: https://www.soundonsound.com/reviews/cycling-74-max-5
0 notes
4 Dayz In Detroit 02_BUG OUT @ The Works 05282016
Psycho Thrill Cologne's founder Claus Bachor closing the "BUG OUT" Movement '16-event at THE WORKS frontroom, right after Soiree Rec. Int.'s frontman Drivetrain aka Derrick Thompson, while DTM (Tom Linder & Bill Stacy) and Steve Bug made it seriously straight on the club's (back)main floor. Vinyl sounds range from Detroit Techno and Hi-Tech Funk to Detroit rooted House and BeatDown.
The mix features fourty tracks by Claude Young, 3MB feat. Eddie 'Flashin' Fowlkes, 7S Collective pres. The Machinists, Keith Tucker, Matt Chester, Itokim, Unit 2, Esser'Ay, Visitor, Robert Hood, Robot Man, Dopplereffekt (2), Scott Grooves, Julian Kendall, Timeline, Felix Da Housecat (remixed by Robert Hood), Sean Tate, Tony Brown, Oliverwho Factory, Rick 'The Godson' Wilhite, Baby Pop, Steve Lorenz, The Other People Play, Iridite Productions, Naquil, Monty Luke, Chez Damier (remixed by Kai Alcé), The Unknown, Fedde & Marcello B (remixed by Orlando Voorn), Fix feat. Orlando Voorn & Blake Baxter, Daniel Bell, Cool Peepl feat. Billy Love, Amp Fiddler & Sundiata O.M. (remixed by Mr.G), Rick Wade, KB Project, Professor Inc (2), Niko Marks, Theo Parrish, & Ujuzi.
TRACK LISTING
01 CLAUDE YOUNG: Impolite To Refuse [ A2-track from "Detroit - Beyond The Third Wave" (Album Sampler) US 12" | 1996 ]
02 3MB feat. EDDIE 'FLASHIN' FOWLKES: The Golden Apple [ D-side from "Technosoul" Tresor 008 DE 2x12" | 1993 ]
03 7S COLLECTIVE pres. THE MACHINISTS: Jerk It [ B1-track from "The Seventh Sign Collective Vol.2" Sevents Sign Recordings 7SR-011 UK 12" | 2006 ]
04 KEITH TUCKER: WDTR [ A-side from "Stick It In Your Ear" End>To<End 004 US Promo-12" | 2002 ]
05 MATT CHESTER: Defeat Me [ A1-track from "Into The Fall" 11th Hour Recordings EHR-002 UK Promo-12" | 2004 ]
06 ITOKIM: The Mood Device [ B-side from "Subject Japan: Rhythm Poems" Subject Detroit SUB-039 US 12"| Detroit Threads / FIT Distr. ]
07 UNIT 2 [RAPHAEL MERRIWEATHERS JR. & NIKO MARKS]: Hillary Clinton [ B-side from Ideal Trax IDEAL-T5 UK Promo-12" | 1996 ]
08 ESSER'AY [KEVIN MAURICE SAUNDERSON] : Forces _ Reese Mix [ A-side from KMS 052 US 12" | 1994 ]
09 VISITOR [DAVE HILL & MARK BROOM]: Cottage Pie [ B1-track from "Out of The Red" D1 Recordings Done-010 UK promo-12"| 1998 ]
10 ROBERT HOOD: Realm [ B2-track from "Post Office" Telegraph 006LP / Logistic FRA Promo-2x12" | 2002 ]
11 ROBOT MAN [RICHIE HAWTIN]: Hypno Freak [ A3-track from "Never" Definitive Recordings DEF-003 US Red-12" | 1992 ]
12 DOPPLEREFFEKT [GERALD DONALD, KIM KARLI, MICHAELA TO-NHAN BERTEL, WILLIAM SCOTT]: Pornoactress [ B2-track from "Infophysix" Dataphysix Engineering DX-002 US 12" | 1996 ]
13 S.G. [SCOTT GROOVES]: Deneb (Hybrid Part) [ B1-track from "Parts Manager 2" Natural Midi 009 12" | Detroit Threads / W.A.S. Distr. ]
14 JULIAN KENDALL: Assumptions [ A-side from "Julian Kendall EP" Vanity Press Records 001 US 12" | Detroit Threads / FIT Distr. ]
15 TIMELINE [JON DIXON, DE'SEAN JONES, MIKE BANKS, MARK FLASH]: Still Pondering [ B-side from "Forever Forward EP" 4evr 4wrd 001 / Underground Resistance US 12" | Submerge Distr. / Detroit Threads ]
16 FELIX 'DA HOUSECAT' STALLINGS: Footsteps Of Rage _ M-Plant (Robert Hood) First Decision Mix [ B2-track from "Metropolis Present Day? Thee Remixes Part I" Radikal Fear 010 BEL Promo-12" | 1995 ]
17 SEAN TATE: A Matter Of Honor _ Rick Wilhite Mix [ A2-track from "Rick Wilhite – Vibes 2 - Part Two Of Two" Rush Hour Recordings – RH-10.2 NL 2x12" | Rush Hour Distr. ]
18 TONY BROWN: Planet Full Of Robots [ A1-track from "The Brown Brothers – A Planet Full Of Robots EP" Brothers Records 007 US 12" | 2004 ]
19 OLIVERWHO FACTORY: Moonhacker [ A2-track from "Solitaire" Madd Chaise Inc MCI-006 US 12" | 2008 ]
20 RICK WILHITE: Techno Dust [ B1-track from "Freedom School DJ Series Vol.1" Freedom School FS-004 JAP 12" | Underground Gallery Distr. ]
21 BABY POP [DAMON PETERSON]: Deep Techno [ A1-track from Relief Records RR-737 US Promo-12" | 1995 ]
22 STEVE LORENZ: Berghain 5 AM _ Original Mix [ A1-track from Tarvisium Electronique Taelwax_002 US Promo-12" | Complete Distr. ]
23 THE OTHER PEOPLE PLAY [JAMES M. STINSON]: Let Me Be Me [ C1-track from "Lifestyles Of The Laptop Café" WARP LP-090 UK 2x12" | 2001 ]
24 DOPPLEREFFEKT [GERALD DONALD, KIM KARLI, MICHAELA TO-NHAN BERTEL, WILLIAM SCOTT]: Plastphilia Mix 2 [ B5-track from "Fascist State" Dataphysix Engineering DX-001 US Promo-12" | 1995 ]
25 JASON BRUNTON & REI LOCI: Methodology _ Re-wired [ B1-track from "Iridite Productions - The Acceptable Face Of Elitist Techno" Down Low Music DL-012 US Promo-12" | 2004 ]
26 NAQUIL [ NATHANIEL KILLINS IV ] : Bionic Dikk [ A-side from Infra NF-004 US Promo-12" | 1998 ]
27 MONTY LUKE: Ghosttown Traffic [ A3-track from "Rude Photo EP" Fina Records FINA-021 UK 12" | Distinct Distr. ]
28 KAI ALCÉ: Sky Up [ B1-track from "NDATL Special Edition 2016" NDATL SE-2016 US WL-12" | Detroit Threads / FIT Distr. ]
29 UNKNOWN ARTIST: Untitled B1 [ B1-track from IG 814 / NSC Acetate-12" | Detroit Threads ]
30 ORLANDO VOORN pres. FEDDE & MARCELO B: Untitled _ Orlando Voorn Remix [ A1-track from "Untitled EP" Soul Survivor SSR-001 US 12" | DBH-Music Distr. ]
31 ORLANDO VOORN & BLAKE BAXTER: Here We Are _ Clip! Rwrk [ B2-track from "From The Ghetto" JD Records JDR-005 ESP Promo-12" | Subwax Distr. ]
32 DANIEL BELL: Berserk [ B2-track from "Elevate Special Projects 2" Elevate ELVSP2 Promo-12" | 7th City Distr. 1998 ]
33 COOL PEEPL feat. BILLY LOVE, AMP FIDDLER & SUNDIATA O.M.: Free Prt.2 _ Mr.G's Testify Dub [ B-side from Moods & Grooves MG-056 / Big50Entertainment US 12" | W.A.S. Distr. ]
34 RICK WADE: Gambit [ A2-track from "Detroit Fury" Hizou Deep Rooted Music HZ-0O3 ESP 12" | Subwax Distr. ]
35 KB PROJECT [DANIEL BELL]: The Symphony _ Can U Feel It [ A-side from Elevate ELVSP-1 / ELV004 US 12" | 7th City Distr. 1999 ]
36 PROFESSOR INC. [FRÉDÉRIC PPIX]: Billie Holliday Edit [ A1-track from "Welcome Back To The Underground" WBTTU MB-111737 FRA WL-12" | Cyber Distr. 2011 ]
37 NIKO MARKS: Indestructible [ A2-track from Skylax Classic LAXC-1 FRA Promo-12" | W.A.S. Distr. ]
38 THEO PARRISH: 71st & Exchange Used To Be [ A-side from Sound Signature SSTTTPLC 1 US 12" | Detroit Threads ]
39 PROFESSOR INC. [FRÉDÉRIC PPIX]: GQ Disco Nights Edit [ A2-track from "Welcome Back To The Underground" WBTTU MB-111737 FRA WL-12" | Cyber Distr. 2011 ]
40 UJUZI [FELISHA STEVENSON & NIKO MARKS]: Sonny Daye _ Restless Movement [ B2-track from "Twin City Sampler" PAN-010 UK Promo-12" | 1997 ] //
The first mix in a row of five from BANGTECH 12, 05272016
The 5th mix in this row of five from HOUSE GALLERY SOIREE, 05302016
1 note
·
View note
(Via: Hacker News)
The latest 4.13.9 source release of the Linux kernel is 780MiB, but thanks to xz compression, the download is a much more managable 96 MiB (an 88% reduction)
Before xz took over as the default compression format on kernel.org in 2013, following the "latest" link would have gotten you a bzip2 compressed file. The tar.bz2 would have been 115 MiB (-85%), but there’s was no defending the extra 20 MiB after xz caught up in popularity. bzip2 is all but displaced today.
bzip2 became the default in 2003, though it had long been an option over the less efficient gzip. However, since every OS, browser, language core library, phone and IoT lightswitch has built-in support for gzip, a 148 MiB (-81%) tar.gz remains an option even today.
gzip itself started taking over in 1994, before kernel.org, and before the World Wide Web went mainstream. It must have been a particularly easy sell for the fledgeling Linux kernel: it was made, used and endorsed by the mighty GNU project, it was Free Software, free of patent restrictions, and it provided powerful .zip style DEFLATE compression in a Unix friendly package.
Another nice benefit was that gzip could decompress other contemporary formats, thereby replacing contested and proprietary software.
Among the tools it could replace was compress, the de-facto Unix standard at the time. Created based on LZW in 1985, it was hampered by the same patent woes that plagued GIF files. The then-ubiquitous .Z suffix graced the first public Linux releases, but is now recognized only by the most long-bearded enthusiasts. The current release would have been 302 MiB (-61%) with compress.
Another even more obscure tool it could replace was compress‘s own predecessor, pack. This rather loosely defined collection of only partially compatible formats is why compress had to use a capital Z in its extension. pack came first, and offered straight Huffman coding with a .z extension.
With pack, our Linux release would have been 548 MiB (-30%). Compared to xz‘s 96 MiB, it’s obvious why no one has used it for decades.
Well, guess what: gzip never ended its support! Quoth the man page,
gunzip can currently decompress files created by gzip, zip, compress, compress -H or pack.
While multiple implementations existed, these were common peculiarities:
They could not be used in pipes.
They could not represent empty files.
They could not compress a file with only one byte value, e.g. "aaaaaa…"
They could fail on "large" files. "can’t occur unless [file size] >= [16MB]", a comment said dismissively, from the time when a 10MB hard drive was a luxury few could afford.
These issues stemmed directly from the Huffman coding used. Huffman coding, developed in 1952, is basically an improvement on Morse code, where common characters like "e" get a short code like "011", while uncommon "z" gets a longer one like "111010".
Since you have to count the characters to figure out which are common, you can not compress in a single pass in a pipe. Now that memory is cheap, you could mostly get around that by keeping the data in RAM.
Empty files and single-valued files hit an edge case: if you only have a single value, the shortest code for it is the empty string. Decompressors that didn’t account for it would get stuck reading 0 bits forever. You can get around it by adding unused dummy symbols to ensure a minimum bit length of 1.
A file over 16MB could cause a single character to be so rare that its bit code was 25+ bits long. A decompressor storing the bits to be decoded in a 32bit value (a trick even gzip uses) would be unable to append a new 8bit byte to the buffer without displacing part of the current bit code. You can get around that by using "package merge" length restricted prefix codes over naive Huffman codes.
I wrote a Haskell implementation with all these fixes in place: koalaman/pack is available on GitHub.
During development, I found that pack support in gzip had been buggy since 2012 (version 1.6), but no one had noticed in the five years since. I tracked down the problem and I’m happy to say that version 1.9 will again restore full pack support!
Anyways, what could possibly be the point of using pack today?
There is actually one modern use case: code golfing.
This post came about because I was trying to implement the shortest possible program that would output a piece of simple ASCII art. A common trick is variations of a self-extracting shell script:
sed 1d $0|gunzip;exit <compressed binary data here>
You can use any available compressor, including xz and bzip2, but these were meant for bigger files and have game ruining overheads. Here’s the result of compressing the ASCII art in question:
raw: 269 bytes
xz: 216 bytes
bzip2: 183 bytes
gzip: 163 bytes
compress: 165 bytes
and finally, pack: 148 bytes!
I was able to save 15 bytes by leveraging gzip‘s forgotten legacy support. This is huge in a sport where winning entries are bytes apart.
Let’s have a look at this simple file format. Here’s an example pack file header for the word "banana":
1f 1e -- Two byte magic header 00 00 00 06 -- Original compressed length (6 bytes)
Next comes the Huffman tree. Building it is simple to do by hand, but too much for this post. It just needs to be complete, left-aligned, with eof on the right at the deepest level. Here’s the optimal tree for this string:
/\ / a /\ / \ /\ n b eof
We start by encoding its depth (3), and the number of leaves on each level. The last level is encoded minus 2, because the lowest level will have between 2 and 257 leaves, while a byte can only store 0-255.
03 -- depth 01 -- level 1 only contains 'a' 01 -- level 2 only contains 'n' 00 -- level 3 contains 'b' and 'eof', -2 as mentioned
Next we encode the ASCII values of the leaves in the order from top to bottom, left to right. We can leave off the EOF (which is why it needs to be in the lower right):
61 6e 52 -- "a", "n" ,"b"
This is enough for the decompressor to rebuild the tree. Now we go on to encode the actual data.
Starting from the root, the Huffman codes are determined by adding a 0 for ever left branch and 1 for every right branch you have to take to get to your value:
a -> right = 1 n -> left+right = 01 b -> left+left+left -> 000 eof -> left+left+right -> 001
banana<eof> would therefore be 000 1 01 1 01 1 001, or when grouped as bytes:
16 -- 0001 0110 C8 -- 1100 1 (000 as padding)
And that’s all we need:
$ printf '\x1f\x1e\x00\x00\x00\x06'\ '\x03\x01\x01\x00\x61\x6e\x62\x16\xc8' | gzip -d banana
Unfortunately, the mentioned gzip bug triggers due to failing to account for leading zeroes in bit code. eof and a have values 001 and 1, so an oversimplified equality check confuses one for the other, causing gzip to terminate early:
b gzip: stdin: invalid compressed data--length error
However, if you’re stuck with an affected version, there’s another party trick you can do: the Huffman tree has to be canonical, but it does not have to be optimal!
What would happen if we skipped the count and instead claimed that each ASCII character is equally likely? Why, we’d get a tree of depth 8 where all the leaf nodes are on the deepest level.
It then follows that each 8 bit character will be encoded as 8 bits in the output file, with the bit patterns we choose by ordering the leaves.
Let’s add a header with a dummy length to a file:
$ printf '\x1F\x1E____' > myfile.z
Now let’s append the afforementioned tree structure, 8 levels with all nodes in the last one:
$ printf '\x08\0\0\0\0\0\0\0\xFE' >> myfile.z
And let’s populate the leaf nodes with 255 bytes in an order of our choice:
$ printf "$(printf '\\%o' {0..254})" | tr 'A-Za-z' 'N-ZA-Mn-za-m' >> myfile.z
Now we can run the following command, enter some text, and hit Ctrl-D to "decompress" it:
$ cat myfile.z - | gzip -d 2> /dev/null Jr unir whfg pbaivaprq TMvc gb hafpenzoyr EBG13! <Ctrl+D> We have just convinced GZip to unscramble ROT13!
Can you think of any other fun ways to use or abuse gzip‘s legacy support? Post a comment.
0 notes
MCOC Wishlist Poll Snapshot: Entire Rankings
001 Apocalypse
002 Quicksilver
003 Galactus
004 Adam Warlock
005 Sandman
006 Professor X
007 Kraven the Hunter
008 Kitty Pryde the Shadowcat
009 Spider-Man 2099
010 Valkyrie MCU
011 Black Cat
012 Bullseye
013 Cloak & Dagger
014 Dazzler
015 Jubilee
016 Jean Grey 90s
017 Morgan le Fay
018 Hercules
019 Nova (Sam Alexander)
020 Spider-Woman (Jessica Drew)
021 Morbius the Living Vampire
022 Captain Britain
023 Lady Deathstrike
024 The Mandarin
025 Emperor Kl'rt the Super-Skrull
026 Thor (MCU Stormbreaker)
027 Onslaught
028 Polaris
029 Pyro
030 Hobgoblin
031 Valkyrie (Classic)
032 Beta Ray Bill
033 Stormborn
034 Black Knight
035 Shocker
036 Silver Sable
037 Okoye
038 Graviton
039 Dracula
040 Spider-Man Noir
041 Shuri
042 Quasar
043 Namora
044 Cannonball
045 Enchantress
046 Deathlok
047 Moonstone
048 Ares
049 Silver Samurai
050 Silk
051 Banshee
052 Songbird
053 Whiplash
054 Mystique
055 Destroyer Armor
056 Sif
057 Negasonic Teenage Warhead
058 Sunfire
059 Rescue
060 Crystal
061 Conan
062 Gamora
063 M'baku the Man-Ape
064 Spiral
065 Baron Helmut Zemo
066 Absorbing Man
067 White Tiger
068 Tigra
069 Red She-Hulk
070 Pixie
071 Spider-Ham
072 Dani Moonstar Mirage Psyche
073 Jessica Jones
074 Klaw
075 Titanium Man
076 Hydro-Man
077 Boom-Boom
078 Weapon Hex
079 Madame Masque
080 Forge
081 Armor
082 Prowler (Aaron Davis)
083 Madame Hydra / Viper
084 Mockingbird
085 Iron Spider
086 Clea
087 Monica Rambeau
088 Legion
089 Agent Anti-Venom
090 Cyttorak
091 Spitfire
092 Black Mamba
093 Vulcan
094 Firestar
095 Fantomex
096 White Fox
097 Doc Samson
098 Phantom Rider
099 Shang-Chi
100 Crimson Dynamo
101 Grim Reaper
102 Hank Pym
103 Rachel Summers
104 Mr. Negative
105 Union Jack
106 Juggerduck
107 Thor (Groot)
108 Mercury
109 Iron Monger
110 Daken
111 Blink
112 Ice-Thing
113 Supergiant
114 Diamondback (Rachel Leighton)
115 Hummingbird
116 Hit-Monkey
117 Shatterstar
118 Gladiator (Kallark)
119 Tombstone
120 Captain Universe Spider-Man
121 Darkstar
122 Future Colossus
123 Slapstick
124 Multiple-Man
125 Paladin
126 Gorilla-Man (Kenneth Hale)
127 Namorita
128 Ancient One
129 Stryfe
130 Dark Phoenix
131 Agent 14
132 Hogun the Grim
133 Arachne
134 Holocaust
135 Odin
136 Mister Hyde
137 Wendigo
138 Warpath
139 Paibok the Power-Skrull
140 Darkwing Duck
141 Madelyne Pryor
142 Nico Minoru
143 Malekith the Accursed
144 Meggan
145 Punisher: War Machine
146 Volstagg the Voluminous: War Thor
147 Siryn
148 Doctor Spectrum (Martha Gomes)
149 Jennifer Kale
150 Whirlwind
151 Blastaar
152 X-51 the Machine Man
153 Wrecker
154 Caiera the Oldstrong
155 Red Guardian
156 Falcon (Classic)
157 Attuma
158 Rom: Spaceknight
159 Sebastian Shaw
160 Hydra Supreme
161 Blackheart
162 Ka-Zar
163 Black Widow (Yelena Belova)
164 Sun Girl (Selah Burke)
165 Misty Knight
166 Wolfsbane
167 War Machine (Infinity Saga)
168 Corsair & Sikorsky
169 Animax
170 The Magus
171 Human Torch (Jim Hammond)
172 Speedball
173 Spider-Man (Miles Morales Movie)
174 Baymax (Movie)
175 Deathbird
176 Worthy Captain America (Mjölnir/Endgame)
177 Radioactive Man (Chen Lu)
178 Araña
179 Feral
180 Drax (MCU)
181 Superior Spider-Man
182 Thanos (Endgame)
183 Lizard
184 Marvel Girl (Jean Grey NPC)
185 Dazzler Thor
186 A-Bomb (Rick Jones)
187 Super-Adaptoid
188 Captain America Falcon
189 Grey Hulk
190 Blue Ghost Rider (Danny Ketch)
191 Wiccan
192 Thena
193 Selene
194 Fandral the Dashing
195 Kree Sentry
196 Agent Carter
197 Prowler (Hobie Brown)
198 Colleen Wing
199 Scarlet Spider (Ben Reilly)
200 Beetle (Abner Jenkins, AKA Mach I-Mach X)
201 Ironheart
202 Superior Octopus
203 Morlun
204 Yukio
205 Arcanna
206 Overmind
207 Black Tarantula
208 Hope Summers
209 Werewolf by Night
210 Beetle (Leila Davis, AKA Beetle Mk III)
211 Red King
212 Captain Universe (Devoux)
213 Wizard
214 Nimrod
215 Enigma (Aikku Jokinen, AKA Pod)
216 Jack O'Lantern (Levins)
217 Lady Hellbender
218 Black Tom Cassidy
219 Black Widow (Movie) (AKA White Widow)
220 Titania
221 Hulkling
222 Typhoid Mary
223 Dum Dum Dugan (LMD)
224 Master Mold
225 Boomerang
226 Machinesmith
227 Molecule Man
228 Kurse
229 Anti-Venom
230 Outlaw (Higgins)
231 Thunderbird (John Proudstar)
232 Lyja
233 Arnim Zola
234 Hala the Accuser
235 Scorpion
236 Mighty Destroyer
237 Lilandra
238 Maria Hill
239 Power Man (Alvarez)
240 She-Hulk (Lyra)
241 SP//dr
242 Nova (Frankie Raye)
243 Scarlet Spider II (Kaine Parker)
244 Magma
245 Thundra
246 Molten Man
247 Lash
248 Skurge the Executioner
249 M (Monet St. Croix)
250 Jean Grey (Tech, X-Men Red)
251 Charlie-27
252 Martinex
253 Gun-R
254 Jocasta
255 Avalanche
256 Hulkbuster 2.0 (MCU)
257 Hellion
258 Stature (Cassie Lang, AKA Stinger)
259 Death's Head Classic
260 Aleta
261 Penance (Baldwin)
262 Mistress Death
263 Dragon Man
264 Jigsaw
265 Hawkeye (Kate Bishop)
266 Xorn
267 Throg (Frog Thor)
268 Mantis
269 Iron Man (Mark I)
270 Yellowjacket (DeMara)
271 Smasher (Kane)
272 Living Laser
273 Agent Melinda May (The Cavalry)
274 Martyr (Phyla-Vell, AKA Quasar, Captain Marvel, Oblivion)
275 Molly Hayes
276 Doctor Octopus (Liv Octavius)
277 X-Man (Nate Grey)
278 Quasar (Kincaid)
279 Sasquatch
280 Captain America (Peggy Carter)
281 Stingray
282 Gwenom
283 Impossible Man
284 Serpent (Cul Borson)
285 Fin Fang Foom
286 Scientist Supreme (Rappaccini)
287 Blob
288 Blue Marvel
289 Iron Maiden
290 Wonder Man
291 Madame Web
292 Maximus the Mad
293 Cobra (Voorhees, AKA King Cobra)
294 Photon (Genis-Vell)
295 Trapster / Paste-Pot Pete
296 Spider-Girl MC2 (Mayday Parker)
297 Stargod (Jameson, AKA Man-Wolf)
298 Zadkiel
299 Atlas (Josten, AKA Shatterfist, Goliath, Smuggler, Power-Man)
300 Equinox
301 Scorpion (Black)
302 Gilgamesh the Forgotten One
303 Valkyrie Moonstar
304 Emplate
305 Phastos
306 Sage
307 Gorgon
308 Magus (Technarch)
309 Ultimate Green Goblin (Movie)
310 Goliath (Bill Foster AKA Black Goliath)
311 Constrictor
312 Husk
313 Dust
314 Crescent & Io
315 Punisher: Frankencastle
316 Sauron
317 Jackal
318 Sersi
319 Echo
320 Davos the Steel Serpent
321 N'kantu the Living Mummy
322 Warwolf
323 Foolkiller (Salinger)
324 Acroyear
325 Garrison Kane
326 Batroc the Leaper
327 Whizzer
328 Baron Blood
329 Doctor Druid
330 Iron Lad
331 Bug
332 Iron Fist (Randall)
333 Toxic Doxie
334 Ikaris
335 Makkari
336 Snowbird
337 Weapon H
338 Bi-Beast
339 Blazing Skull
340 Shuma-Gorath
341 Zzzax
342 Spider-Woman (Veranke, Queen of the Skrulls)
343 Chaos King (Amatsu Mikaboshi)
344 Chimera
345 Toad
346 Northstar
347 Asp
348 Nikki
349 Danger
350 Aurora
351 Spider-Bitch
352 Psyklop
353 Marionette
354 High Evolutionary
355 Brawn (Amadeus Cho, AKA "Chulk," the Totally Awesome Hulk)
356 Citizen V
357 Shroud
358 Red Hulk (Maverick)
359 Crystar
360 Count Nefaria
361 Daimon Hellstrom
362 Ghost Rider (Reyes)
363 Shiklah
364 Orrgo
365 Stick
366 Ajak
367 Xemnu the Living Hulk
368 Unicorn
369 Iso
370 Aero
371 Ghaur
372 Andromeda
373 Porcupine
374 Krang
375 Deacon Frost
376 Korvac
377 Stilt-Man
378 Caliban
379 Immortus
380 Human Fly (Deacon)
381 Tiger Shark
382 Hiro-Kala
383 Dorrek VII
384 Leader
385 Azazel
386 Dansen Macabre
387 Mammomax
388 Masked Marauder
389 Valeria (Age of Conan)
390 Vampire by Night
391 Blonde Phantom
392 Swordsman
393 Lady Bullseye
394 Magik II (Amanda Sefton AKA Daytripper)
395 No-Name the Brood
396 Mentallo
397 Kaluu
398 Singularity
399 Grey Gargoyle
400 Guardian
401 Wave
402 Fixer/Techno
403 Spiderling
404 Water Snake
405 Doombot (V Series)
406 Silhouette
407 Sword Master
408 Karn
409 Captain Marvel (Mar-Vell)
410 Nick Fury (Classic)
411 Loki, Agent of Asgard (Ikol)
412 Moon Girl & Devil Dinosaur
413 Ghost Rider (Circle of Four)
414 Captain America 2099
415 Silver Scorpion (Barstow)
416 Kingo
417 Justice
418 Dr. Cecilia Reyes
419 Manphibian
420 Killgrave the Purple Man
421 Quentin Quire the Kid Omega
422 Shadow King
423 Toro
424 Hellsgaard
425 Capwolf
426 Doombots & Servo-Guards
427 Hellcow
428 Hollow (Yvette, AKA Penance the St. Croix twins)
429 Franklin Richards
430 Abyss (Styger)
431 Thane
432 Skaar
433 Strong Guy
434 Triton
435 Mulholland Black
436 Demolition Man
437 Arkon
438 Cottonmouth (Stokes)
439 Rockslide
440 Ahab
441 Ezekiel
442 Spymaster
443 Night Nurse
444 Ox
445 Victorious (Vukovic)
446 Mack
447 Diamondback (Stryker)
448 Cottonmouth (Clemens)
449 Needle
450 Dominic Fortune
451 Cyclone
452 Skull the Slayer
453 Synapse
454 Arclight
455 Copycat
456 Killmonger (Emperor Symbiote)
457 Sleepwalker
458 Stegron
459 Puck
460 Voyager
461 Professor Hulk
462 Entropy
463 Elloe
464 Goldballs
465 Demon Bear
466 Nighthawk (Classic)
467 Korath the Pursuer
468 Jack of Hearts
469 Mindless Ones
470 Eel
471 Arcturus Rann the Space Glider
472 U.S. Agent (John Walker the Super-Patriot)
473 Minotaur (Dario Agger)
474 Cosmic Ghost Rider
475 Nighthawk (MAX)
476 Arcade
477 Chamber
478 Volcana
479 Zarathos
480 Morph
481 Doop
482 Beast (Hex-Men)
483 Doctor Nemesis
484 Jack Flag
485 Belasco
486 Hepzibah
487 Thunderstrike (Eric)
488 Anaconda
489 Thunderstrike (Kevin)
490 M-11 the Human Robot
491 Black Mariah
492 The Buzz
493 Xarggu
494 Arsenic & Old Lace
495 M.O.D.A.M.
496 Margali
497 Marrina
498 Noh-Varr
499 Yo-Yo (Elena Rodriguez AKA Slingshot)
500 Hellcat
501 Starhawk (Stakar)
502 Bushmaster (Quincy)
503 Miss America Chavez
504 Krugarr
505 Daredevil Shadowland
506 Bushmaster (John)
507 Trevor Fitzroy
508 Zeitgeist
509 Terror
510 Major Victory (Vance Astro)
511 Geena Drake
512 Shanna the She-Devil
513 Wong
514 Satana Hellstrom
515 Scream
516 Zarda the Power Princess
517 Nuke
518 Venom Rocket / Venom the Raccoon
519 Speed Demon
520 Tarantula (Kaine)
521 3-D Man / Marathon Man
522 Doorman
523 Superia
524 Carter Slade the Satan-Stomper
525 Dino-Thor
526 Hobgoblin 2099
527 Gorr the God-Butcher
528 Mimic
529 Great Lakes Avengers (team champ)
530 Psycho-Man
531 Moondragon
532 Agent Phil Coulson
533 Firelord the Spicy Q-Tip
534 Sin
535 Aldrich Killian on Extremis
536 Angel (Tech/Black Vortex)
537 Kaecilius
538 The Uranian
539 Dragoness
540 Storm (Queen of Wakanda)
541 Exodus
542 Gravity
543 Beetle (Janice Lincoln)
544 Blizzard
545 Maverick / Agent Zero
546 Swarm
547 Bloodstorm
548 Achebe
549 Kull the Conqueror of Atlantis
550 Slayback
551 Tempus (Eva Bell)
552 Nakia
553 Zenzi
554 Midnight Angels of Wakanda
555 Hyperstorm
556 Moses Magnum
557 Scalphunter
558 Harpoon
559 Solo
560 Black Swan
561 Gentle
562 American Son
563 D'Spayre
564 Doctor Crocodile
565 White Wolf (Hunter)
566 Tetu
567 Atlas Bear
568 Agatha Harkness
569 Elixir
570 Sugar Man
571 Uatu
572 Proteus
573 Terminus
574 Wolvie
575 Talos
576 Captain ****
577 Llyra
578 Jimmy Hudson (Poison)
579 Luna Snow
580 Eclipse
581 Miss America (Joyce)
582 Ms. Marvel II (Ventura)
583 Smasher (Rokk)
584 The Russian
585 Ogun
586 Lincoln Campbell
587 Cardiac
588 Taskmaster (MCU)
589 Owl
590 Plantman / Blackheath
591 Ms. Thing
592 She-Thing (Ventura)
593 Bloodscream
594 Karkas
595 Red Ghost and his Super-Apes
596 Shatter
597 Kluh
598 ForgetMeNot
599 Post
600 Litterbug
601 Karolina Dean
602 White Rabbit
603 Shogun
604 Iron Duck
605 Druig
606 Poundcakes
607 Sinara
608 Synch
609 Bushwacker
610 Haechi
611 Dirk Anger
612 Mister M
613 Powell McTeague
7 notes
·
View notes