jverkamp.comhttps://blog.jverkamp.com/Recent content on jverkamp.comHugoen-usSat, 20 Sep 2025 00:00:00 +0000Isles of the Emberdarkhttps://blog.jverkamp.com/2025/09/20/isles-of-the-emberdark/Sat, 20 Sep 2025 00:00:00 +0000https://blog.jverkamp.com/2025/09/20/isles-of-the-emberdark/<p>A trapper, a dragon, a ghost, a feathered man, and a hive mind meet on an island no one can find in a sea that only sort of exists.</p> <p>And it&rsquo;s not even the setup for a joke, but rather a spectacular example of everything the scifi future <a href="https://blog.jverkamp.com/reviews/series/the-cosmere/">The Cosmere</a> is moving towards.</p> <p>We&rsquo;ve already seen bits and pieces of Cosmere crossovers and magic turned technology, especially in <a href="https://blog.jverkamp.com/2022/11/27/the-lost-metal/">The Lost Metal</a> and <a href="https://blog.jverkamp.com/reviews/series/the-stormlight-archive/">The Stormlight Archive</a>, but this is really the first book we&rsquo;ve gotten where the (magi)tech, interworld conflict, and mixmatched crews from many worlds are front and center&ndash;and I love it.</p> <p>At it&rsquo;s core, Isles of the Emberdark is a sequel to the short <a href="https://blog.jverkamp.com/2017/06/24/sixth-of-the-dusk/">Sixth of the Dusk</a>&ndash;which I reread in preparation, although it turns out that wasn&rsquo;t necessary. The entirety of the latter is included as flashback in the former. so it goes. An islander culture, plants and animals that want nothing more than to kill you and eat you (yes, even the plants), and the cost of being left behind as technology runs ahead.</p> <p>But this time around, in addition to Dusk, we also have the aforementioned starship crew. I love a good scifi found family story (this reminds me of the <a href="https://blog.jverkamp.com/reviews/series/wayfarers/">Wayfarers</a>) with wacky rather different crew growing together and learning to depend on one another. The more &lsquo;alien&rsquo;, the better. Emberdark has that in spades. It&rsquo;s wonderful worldbuilding and I hope a hint of even more to come.</p> <p>Characterwise, I love Dusk. Full on &lsquo;it wasn&rsquo;t actually a question, so I didn&rsquo;t feel the need to answer&rsquo; and everything. Starling (dragon<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>!) is our scifi point of view and she&rsquo;s just such a fun positive influence, in spite of everything. We don&rsquo;t get quite as much of Nazh as I&rsquo;d like (from <a href="https://blog.jverkamp.com/2017/06/24/shadows-for-silence-in-the-forests-of-hell/">Shadows for Silence</a>), but what we do is full of &lsquo;but how does <em>that</em> work. Chrysalis (a Dysian Aimian!) is a favorite &lsquo;weird&rsquo; character and a vehicle for exploring xenophobia. And that&rsquo;s not even everyone<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup><sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup><sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>! It&rsquo;s just such a mix and I think done rather well.</p> <p>Overall, this is probably my favorite Cosmere story in a while. I&rsquo;ve loved seeing how Sanderson has taken the idea of a shared universe with related, high details almost &lsquo;sciency&rsquo; hard magic and brought it forward in time&ndash;and I&rsquo;m looking forward to seeing where it can go next.</p> <p>Onward!</p>Alienshttps://blog.jverkamp.com/2025/09/19/aliens/Fri, 19 Sep 2025 00:00:00 +0000https://blog.jverkamp.com/2025/09/19/aliens/<p>Where <a href="https://blog.jverkamp.com/reviews/series/alien/">Alien</a> was a genre defining entry into scifi/horror, Aliens takes that a step in a different direction, keeping the horrifying alien monster roots and adding in a pile of action scenes. Space marines, big guns, and flamethrowers&ndash;oh my.</p> <p>On one hand, taking the (more or less) single alien of Alien and upping the ante to a whole pile of them&ndash;and then blowing at least some of them away&ndash;lessons the mystique. They&rsquo;re not unkillable perfect monsters any more. But it&rsquo;s still a good way to up the ante rather than just putting us through more of the same.</p> <p>Sigourney Weaver remains a star of the episode, this time mixing her tough surviverness with a &lsquo;save the child&rsquo; complex that I think just works. But this time around, we have a whole pile of soldiers, playing up every stereotype you can think of.</p> <blockquote> <p>Vasquez: Look, man. I only need to know one thing: where they are.<br> Drake: Go, Vasquez. Kick ass.<br> Vasquez: Anytime, anywhere, man!<br> Hudson: Right, right. Somebody said &ldquo;alien&rdquo; she thought they said &ldquo;illegal alien&rdquo; and signed up!<br> Vasquez: Fuck you, man!<br> Hudson: Anytime, anywhere.</p></blockquote> <p>And some <em>very</em> memorable lines.</p> <blockquote> <p>Private Hudson: That&rsquo;s it, man. Game over, man. Game over! What the fuck are we gonna do now? What are we gonna do?</p></blockquote> <p>(You can hear it, can&rsquo;t you? Even if you haven&rsquo;t seen the movie?)</p> <blockquote> <p>Ripley: I say we take off and nuke the entire site from orbit. It&rsquo;s the only way to be sure.</p></blockquote> <p>Overall, it&rsquo;s a different feel of movie, but every bit as good as <a href="https://blog.jverkamp.com/reviews/series/alien/">Alien</a>. I&rsquo;ve heard that Alien³ is a step down, but honestly, it would be hard to believe they could do it a <em>third</em> time in the first place. Onward!</p>Million Dollar Demonhttps://blog.jverkamp.com/2025/09/18/million-dollar-demon/Thu, 18 Sep 2025 00:00:00 +0000https://blog.jverkamp.com/2025/09/18/million-dollar-demon/<p>And&hellip; away we go!</p> <p>Through the last couple of books, we&rsquo;ve had more than a few shake ups to the power structure of Cincinnati and the Hollows. The return of the demons&ndash;and the death of one master vampire and the whole &lsquo;vampire soul&rsquo; binding mess.</p> <p>Sn now when when a new crazy (even by vampire standards) master vampire is sent to take power? Well, it just stands to reason that Rachel is going to have to get involved.</p> <p>Seeing Rachel start to stand up and actually take on the power and responsibility that she&rsquo;s been flirting with (and fighting off) for all these books is a worthwhile change. I do hope it sticks. It&rsquo;s a different level of story, but I think it&rsquo;s about time.</p> <p>In addition to that, we have the ongoing Hodin/Al hate triangle.</p> <blockquote> <p>“I don’t know how you survive your ignorance,” he muttered. “I’ve warned you once. Now I’m telling you. If you don’t want to talk to Al, fine. I don’t want to talk to him most days. But you will not take Hodin as your mentor. He is dangerous.”</p></blockquote> <p>Urban fantasy is famous for having love triangles all over the place, so this is certainly a fun inversion to that.</p> <p>I&rsquo;m really curious to see where that goes.</p> <p>Overall, another solid entry and I&rsquo;m curiously optimistic to see where Harrison takes it from here!</p>Alienhttps://blog.jverkamp.com/2025/09/15/alien/Mon, 15 Sep 2025 00:00:00 +0000https://blog.jverkamp.com/2025/09/15/alien/<blockquote> <p>That transmission—Mother&rsquo;s deciphered part of it.</p> <p>It doesn&rsquo;t look like an S.O.S.</p> <p>What is it, then?</p> <p>Well, I—It looks like a warning.</p> <p>I&rsquo;m gonna go out after them.</p> <p>What&rsquo;s the point?</p> <p>I mean, by the time it takes to get there, you&rsquo;ll—they&rsquo;ll know if it&rsquo;s a warning or not, yes?</p></blockquote> <p>It&rsquo;s been almost 50 years and it&rsquo;s impressively how well Alien hold ups.</p> <p>Don&rsquo;t get me wrong, the tech is a product of the time, looking impressively retrofuturistic, given the ways we&rsquo;ve actually advanced since then. And the pacing is a bit slow and the jump scares not quite so scary in comparison to more modern scifi horror films.</p> <p>But there&rsquo;s a reason Alien is widely thought of as a progenitor of the scifi/horror genre. It&rsquo;s just a really good film. The effects and design hold up and Sigourney Weaver&rsquo;s Ripley is a powerhouse of a performance.</p> <p>A solid movie&ndash;and I&rsquo;ve somehow managed to never watch <em>any</em> of the sequels. As they say, the second best time to do anything you&rsquo;ve been meaning to do is <em>right now</em>.</p> <p>Onward!</p>Wind and Truthhttps://blog.jverkamp.com/2025/09/12/wind-and-truth/Fri, 12 Sep 2025 00:00:00 +0000https://blog.jverkamp.com/2025/09/12/wind-and-truth/<blockquote> <p>An oath could be broken, but a promise? A promise stood as long as you were still trying. A promise understood that sometimes your best wasn’t enough. A promise cried with you when all went to Damnation. A promise came to help when you could barely stand. Because a promise knew that sometimes, being there was all you could offer.</p></blockquote> <p>And so ends the first half of <a href="https://blog.jverkamp.com/reviews/series/the-stormlight-archive/">The Stormlight Archive</a>. I first read <a href="https://blog.jverkamp.com/2015/02/06/the-way-of-kings/">The Way of Kings</a> in 2014, around when <a href="https://blog.jverkamp.com/2018/02/15/words-of-radiance/">Words of Radiance</a> came out. Since then, I&rsquo;ve re-read the series again each time (for <a href="https://blog.jverkamp.com/2018/03/02/oathbringer/">Oathbringer</a> and <a href="https://blog.jverkamp.com/2021/01/21/rhythm-of-war/">Rhythm of War</a>) and each time there are new details that I&rsquo;d missed or that didn&rsquo;t make sense until some future reveal in a later book put things together.</p> <p>It&rsquo;s <em>quite</em> the series all told, each book at over a 1000 words. Wind and Truth is over 1300. There is just so much worldbuilding&ndash;thousands of years of history&ndash;magicbuilding&ndash;probably the one thing Sanderson is best known for&ndash;and characterbuilding&ndash;you get a mental illness and <em>you</em> get a mental illness, and <strong>you</strong> get a mental illness.</p> <p>Wind and Truth takes that all up to yet another level.</p> <p>On the worldbuilding scale, we finally get a chance to visit the Spiritual Realm. I&rsquo;ll admit, I think it&rsquo;s perhaps the least interesting realm to me&ndash;the Cognitive Realm is so much cooler&ndash;but it was a piece I think we needed. And a vehicle to actually make use of flashbacks and fill in a lot of the backstory of how Roshar ended up in the mess it is in now. I think we spent a bit more time here than I would have liked, but I won&rsquo;t argue it wasn&rsquo;t interesting.</p> <p>Magicwise (and characterwise), we get Kaladin and Szeth off to collect all the <del>MacGuffins</del> Honorblades and save Sinovar. A lot of people have commented on Kaladin&rsquo;s &ldquo;I&rsquo;m his therapist&rdquo; character journey, but I think it actually works. He&rsquo;s a soldier and a healer&ndash;and this is a chance for him to grow into something more. They&rsquo;re just such a weird pairing to see though. Especially once you add in a talking sword and a law obsessed immortal&hellip;</p> <blockquote> <p>“What are you? &hellip; are you his spren? His god?”<br> “No,” Kaladin said. “I’m his therapist.”<br> “&hellip; What is that?”<br> “I honestly have no idea,” Kaladin admitted.</p></blockquote> <p>Otherwise characterwise, I think that my favorite couple this time around were Shallan and Adolin, despite getting quite a bit less&ndash;but also more (heh)&ndash;together time than one might hope. Shallan is&ndash;quite honestly&ndash;a mess, but her learning to deal with that and quite literally come to find herself is a fascinating story and I&rsquo;m glad to see that moving forward. And seeing her grow into a more confident version of herself.</p> <blockquote> <p>“Murder?” Pattern said, placing another soldier. He’d built a surprisingly tall pyramid. “Oh, you mean murder! Shallan is good at murder. Yes, mmmmm…”<br> “Pattern,” she said, “please don’t say it that way.”<br> “She is good,” Pattern corrected himself, “at making people who were once alive and threatening, unalive and unthreatening. Mmmm. Very good at it.”</p></blockquote> <p>And Adolin&ndash;to be one of the finest swordsmen in a world where gods and immortals have come to battle&ndash;well, he&rsquo;s just such a fun character. His interactions in particular with Yanagawn was great.</p> <p>And that&rsquo;s not all! I won&rsquo;t go into everything&ndash;after all, if you&rsquo;ve already read 4000 pages of this series, you&rsquo;re going to read it (or not) regardless of what I have to say&ndash;but there is just so much to this story.</p> <p>And oh&hellip; the ending.</p> <blockquote> <p>She didn’t know what terrified her more. The idea of some powerful, all-knowing deity that controlled everything—destroying her free will, yet for some reason still leaving the entire world in so much pain. Or the knowledge that there were beings who ruled the cosmere with immense power—but they had all the foibles, flaws, and limited morality of anyone else.</p></blockquote> <p>That&hellip; is going to shake things up methinks.</p> <p>It&rsquo;s kind of a bummer to realize that we won&rsquo;t get another Stormlight Archive until (currently) ~2031. But on the other hand, another era of Mistborn! And hey, if I&rsquo;m feeling Stormlight deficient, there&rsquo;s always time for another reread.</p> <blockquote> <p>“I’m a storyteller,” Wit said, with a flip of his fingers. “I have the right to redefine words.”<br> “That’s stupid.”<br> “That’s literature.”<br> “It’s confusing.”<br> “The more confusing, the better the literature.”<br> “That might be the most pretentious thing I’ve ever heard.”<br> “Aha!” Wit said, pointing. “Now you’re getting it.”</p></blockquote> <p>Onward!</p>American Demonhttps://blog.jverkamp.com/2025/09/02/american-demon/Tue, 02 Sep 2025 00:00:00 +0000https://blog.jverkamp.com/2025/09/02/american-demon/<p>So. That&rsquo;s how Harrison is going to come back to <a href="https://blog.jverkamp.com/reviews/series/the-hollows/">The Hollows</a> after that epilogue&ndash;it was <em><a href="https://tvtropes.org/pmwiki/pmwiki.php/Main/AllJustADream" target="_blank" rel="noopener">all just a dream</a></em>.</p> <p>I actually (mostly) liked that epilogue, so it&rsquo;s kind of a bummer. But if you&rsquo;re going to go back to mostly status quo, well then I suppose you have to do something. I do wonder if that actually means that anyone that showed up in the &lsquo;dream&rsquo; can actually still die off now?</p> <p>In any case, in <a href="https://blog.jverkamp.com/2025/08/19/the-witch-with-no-name/">The Witch with No Name</a> Rachel saved the world! And now she has to deal with the fallout from that. Zombies, mysterious murders, new frenemies, and once again seeing how in the <em>world</em> demons are going to re-integrate into the world, oh my?</p> <blockquote> <p>“Jesus, Rachel,” Edden coaxed, but I was having none of it. “Don’t take this personally. You can’t deny that forcing couples to kill one another is demonic.”</p> <p>&hellip;</p> <p>“What’s in it for them?” I asked, waving Ivy’s carefully assembled information. “Demons don’t do anything unless it’s for a profit.” Frustrated, I slapped the reports against his chest, and he fumbled for them. “And neither do I anymore,” I said.</p></blockquote> <p>And of course, things go sideways. Because even after everything&ndash;even after it nearly ending the world more than once&ndash;Rachel is still <em>terrible</em> at listening to the people she&rsquo;s supposed to trust and acting fully on passion first, thinking things through&hellip; sometime&ndash;maybe.</p> <p>Characterwise, one theme that we continue to seem in this series is the possibility of redemption. You have literal murderers (Trent and Al in particular), but they really are trying to be better people. So how does that work? Are they allowed to work towards a better life? Do they have to pay for what they&rsquo;ve done? What price is high enough murder and thousands of years of torture and slave trading?</p> <blockquote> <p>“It’s what we do here,” Jenks said. “All are innocent until proven guilty. Even demons.”</p> <p>Hodin’s feet scuffed the old wood floor. “How . . . quaint.”</p></blockquote> <p>But hey, Rachel and Trent are cute together. I hope they get a few books at least to be happy.</p> <blockquote> <p>“Stop,” Trent demanded again, frowning at Quen. “Everyone, stop. Relax. Rachel, you can kill me in a few minutes. I want to talk first. You like to talk, don’t you?”</p></blockquote> <p>And the girls are so cute.</p> <blockquote> <p>“Because you’re a demon princess,” Lucy said, playing with my curling hair, and from the closet came Trent’s grunt of surprise. “And demon princesses are brave.”</p></blockquote> <p>Rachel constantly worried about Trent leaving for Ellasbeth and blaming herself for all the elf politics things is growing old.</p> <p>I think my biggest negative for this entry comes in the ending. There&rsquo;s a lot of mechanical talk about what a soul is and messing with souls, but heroic or not, there&rsquo;s a sacrifice play towards the end that I&rsquo;m hoping gets resolved quickly&hellip;</p> <p>Overall, it&rsquo;s fun to keep going. I can only imagine having a fairly definite end, waiting the six years between the books and then learning you actually get more! No break for me though.</p> <p>Onward!</p> <hr>Indiana Dunes 2025https://blog.jverkamp.com/photography/2025/2025-08-27-indiana-dunes-2025/Wed, 27 Aug 2025 00:00:00 +0000https://blog.jverkamp.com/photography/2025/2025-08-27-indiana-dunes-2025/<p>It was really nice the first day&ndash;and then cold and rainy after that. So it goes!</p> <div class="imageGallery2"> <a data-fancybox="gallery" data-fancybox-index="0" data-caption="No, they&#39;re the other way" data-flickr="https://www.flickr.com/photos/jpverkamp/54749401645" href="https://farm66.staticflickr.com/65535/54749401645_a42a1222f1_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749401645_a42a1222f1_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="1" data-caption="Like footprints" data-flickr="https://www.flickr.com/photos/jpverkamp/54749062271" href="https://farm66.staticflickr.com/65535/54749062271_ca5c1cd3bf_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749062271_ca5c1cd3bf_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="2" data-caption="Hydrophobic" data-flickr="https://www.flickr.com/photos/jpverkamp/54749270538" href="https://farm66.staticflickr.com/65535/54749270538_e8bb205c96_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749270538_e8bb205c96_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="3" data-caption="Found footage" data-flickr="https://www.flickr.com/photos/jpverkamp/54749271458" href="https://farm66.staticflickr.com/65535/54749271458_a4d4b6ccdb_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749271458_a4d4b6ccdb_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="4" data-caption="Another beach" data-flickr="https://www.flickr.com/photos/jpverkamp/54749067271" href="https://farm66.staticflickr.com/65535/54749067271_b09c7e3740_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749067271_b09c7e3740_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="5" data-caption="Test" data-flickr="https://www.flickr.com/photos/jpverkamp/54749067166" href="https://farm66.staticflickr.com/65535/54749067166_c423c84a98_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749067166_c423c84a98_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="6" data-caption="The skyline from across Lake Michigan" data-flickr="https://www.flickr.com/photos/jpverkamp/54749406045" href="https://farm66.staticflickr.com/65535/54749406045_5fab409382_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749406045_5fab409382_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="7" data-caption="And wood I suppose" data-flickr="https://www.flickr.com/photos/jpverkamp/54748213822" href="https://farm66.staticflickr.com/65535/54748213822_9f4474d97a_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54748213822_9f4474d97a_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="8" data-caption="The wet sand after a rain but only at the very top" data-flickr="https://www.flickr.com/photos/jpverkamp/54749275853" href="https://farm66.staticflickr.com/65535/54749275853_dbffd54821_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749275853_dbffd54821_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="9" data-caption="Breaking away the wet to show the dry beneath" data-flickr="https://www.flickr.com/photos/jpverkamp/54748213662" href="https://farm66.staticflickr.com/65535/54748213662_387446b3f0_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54748213662_387446b3f0_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="10" data-caption="From on high" data-flickr="https://www.flickr.com/photos/jpverkamp/54749406005" href="https://farm66.staticflickr.com/65535/54749406005_525848807d_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749406005_525848807d_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="11" data-caption="Chicken foot" data-flickr="https://www.flickr.com/photos/jpverkamp/54749066746" href="https://farm66.staticflickr.com/65535/54749066746_9278edf19f_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749066746_9278edf19f_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="12" data-caption="Dead" data-flickr="https://www.flickr.com/photos/jpverkamp/54749275473" href="https://farm66.staticflickr.com/65535/54749275473_2658460f57_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749275473_2658460f57_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="13" data-caption="I got better" data-flickr="https://www.flickr.com/photos/jpverkamp/54749275298" href="https://farm66.staticflickr.com/65535/54749275298_06d99e3580_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749275298_06d99e3580_m.jpg" /> </a> <a data-fancybox="gallery" data-fancybox-index="14" data-caption="I wonder where it drains to? The lake?" data-flickr="https://www.flickr.com/photos/jpverkamp/54749275248" href="https://farm66.staticflickr.com/65535/54749275248_54ffb8ae25_b.jpg"> <img class="img-rounded" src="https://farm66.staticflickr.com/65535/54749275248_54ffb8ae25_m.jpg" /> </a> </div> <div class="viewOnFlicker"> <a href="https://flickr.com/photos/jpverkamp/sets/72177720328636435">View on Flickr</a> </div>The Witch with No Namehttps://blog.jverkamp.com/2025/08/19/the-witch-with-no-name/Tue, 19 Aug 2025 00:00:00 +0000https://blog.jverkamp.com/2025/08/19/the-witch-with-no-name/<p>And so it &hellip; ends?</p> <p>Originally <a href="https://blog.jverkamp.com/2025/08/19/the-witch-with-no-name/">The Witch with No Name</a> was to be <a href="https://blog.jverkamp.com/reviews/series/the-hollows/">The Hollows</a> grand finale. And it certainly feels like that. Blowing up the past, shaking up the power structure of not only the demons and elves but also the vampires, saving the world, saving magic itself, and changing everything. It&rsquo;s one <em>heck</em> of a busy book.</p> <blockquote> <p>Head up, I stomped along, eyeing the few pedestrians. Slowly my good mood was tarnished. Love died in the shadows, and it shouldn’t cost so much to keep it in the sun. But as Trent would say, anything gotten cheap wouldn’t last, so do what you need to do to be happy and deal with the consequences. That if love was easy, everyone would find it.</p></blockquote> <p>The vampires are a big part of this book&ndash;dealing with what vampire &lsquo;souls&rsquo; are, especially for those that have died their first death. The &rsquo;living vampires&rsquo; in this series have been cool worldbuilding the whole time. In the end, the solution to that is a neat way to tie up a problem I didn&rsquo;t even know I had. I really do wonder how long Harrison had been planning that!</p> <p>But of course, don&rsquo;t leave out the demons.</p> <blockquote> <p>Al leaned close, voice dangerous as he whispered, “We don’t forget, Rachel, and it’s not as if it was our ancestors who were betrayed. It was us.”</p></blockquote> <p>There is so much more about the very beginning of the demons here&ndash;and reminders that they&rsquo;re very nearly extinct&ndash;and have been around a <em>long</em> time.</p> <p>Oh, and Al is a great second example (after Trent) of us, the readers, coming to know and love the villains of the series.</p> <blockquote> <p>“Rachel is a pus bucket full of miracles,” the demon added, eyes rolling. “Thank you, Bis. I don’t know these new lines yet.”</p></blockquote> <p>He&hellip; has done some really terrible things over his thousands of years. But he&rsquo;s cute with the girls and nice to Rachel, so we&rsquo;re just supposed to forgive that? He really does seem to have changed. This is a hard one.</p> <p>I remember a few books back when Rachel called on the witches of San Francisco to ring their bells and work together to help her&ndash;and nothing. This time around, it&rsquo;s the demons she&rsquo;s calling out to. And I think that&rsquo;s pretty much where this series has gone. Demons may do some terrible things&ndash;but in the end, they&rsquo;re also just people. Super long lived powerful people, but still people. And people of all stripes can be good&ndash;or evil.</p> <p>I love how much crazy stuff happens in this book. I love that it was set up as a finale, given Harrison the permission to do some <em>crazy</em> things that you normally don&rsquo;t see that often in long running series. And I do appreciate getting a happy ever after epilogue (see <a href="#the-ending">later</a>)</p> <p>Overall, that&rsquo;s quite the book. It actually gives a good point where you could end. And a lot of people probably thought that <em>was</em> the end. But I have the benefit of having read these a decade later, and there&rsquo;s more! We&rsquo;ll just have to see how in the <em>world</em> Harrison handles that.</p> <p>Onward!</p> <hr>False Valuehttps://blog.jverkamp.com/2025/08/17/false-value/Sun, 17 Aug 2025 00:00:00 +0000https://blog.jverkamp.com/2025/08/17/false-value/<blockquote> <p>You’d be amazed how often the police never get to the bottom of a case. You can investigate a crime, identify a suspect, and put together enough evidence to send them up the steps to await Her Majesty’s pleasure and still never know all the whys and wherefores.</p></blockquote> <p>It&rsquo;s been <a href="https://blog.jverkamp.com/2025/04/05/lies-sleeping/">a minute</a> since I last read <a href="https://blog.jverkamp.com/reviews/series/rivers-of-london/">Rivers of London</a>, but&hellip; we&rsquo;re back!</p> <p>This time around, we&rsquo;re dealing with the fallout of <a href="https://blog.jverkamp.com/2025/04/05/lies-sleeping/">Lies Sleeping</a>, most especially a certain death. Or&ndash;perhaps just using that as an excuse for Peter to go under cover, deep into the tech bro scene of London?</p> <p>It&rsquo;s interesting to see how the stories are (slowly) changing as we go. Peter feels older and more serious. That&rsquo;s not quite to say that he&rsquo;s going not still cracking jokes and making random scifi/fantasy references (<em>so many</em> Hitchhiker&rsquo;s Guide references<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup><sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup><sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup><sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup><sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup>), but he&rsquo;s also now dealing with the responsibilities of a growing Folly&ndash;and of course the responsibilities of Bev&rsquo;s growing Bulge (she&rsquo;s pregnant :p)</p> <blockquote> <p>Magic is almost impossible to do when you’re pissed, although you can bet many have tried. So drinking with a rival practitioner can be considered, if not a peace offering, then at least a sign that you’re not planning to fight them straight away.</p></blockquote> <p>Plus, the &lsquo;undercover&rsquo; bits are a different sort of policing than we&rsquo;ve gotten thus far. It&rsquo;s one of teh most compelling parts of this series, so I&rsquo;m glad to see it!</p> <blockquote> <p>It’s one of those weird truths you learn early on as police that quite a high percentage of the public have all the survival instincts of a moth in a candle factory.</p></blockquote> <p>Structurewise, we spend the first chapter of the story wandering what exactly we missed&ndash;made even worse with a several month gap&ndash;and it only gets worse when we start bouncing back and forth between two storylines a couple of months apart. Honestly, I see what Aaronovitch was going there, but I&rsquo;m not sure if it actually helped the story <em>that</em> much.</p> <p>Worldbuildingwise, it&rsquo;s a neat bit of tech/magic mashup. Minor spoilers (in my opinion):</p> <span class="spoiler"> <blockquote> ’What do you think?’ asked Skinner.<br /> ‘That thing just passed the fucking Turing Test,’ I said.<br /> ‘Multiple times,’ he said. ‘Under properly controlled conditions.’<br /> ‘Fuck me,’ I said. ‘You’ve got a working AI.’<br /> </blockquote> </span> <p>Amusing that, given all the <span class="spoiler">recent advances specifically with LLMs</span> .</p> <p>And of course, all the thoughts on the &rsquo;techbro&rsquo; industry and all the problems that come with that.</p> <blockquote> <p>These techbros have tunnel vision,’ said Stephen. ‘They’re so fucking busy with their dreams of the future they don’t stop to think about where they are or what the fuck they’re doing.’</p></blockquote> <p>I&rsquo;ve spent the last decade in this world. He&rsquo;s &hellip; not wrong a lot of the time.</p> <p>Also, tech people naming things.</p> <p>Magratheean Ape-Descended Life Form Utilisation Service&hellip; MADLFUS. </p> <p>Overall, I enjoyed it! And we&rsquo;re almost up to the present date! I&rsquo;m curious to see what&rsquo;s next.</p> <hr> <p>Random thought:</p> <blockquote> <p>Because, in America, small towns run their own police departments pretty much unsupervised and a few had hit upon the idea of charging wannabe cops a fee to become peace officers.<br> ‘You’re having me on,’ I said.<br> ‘Nope,’ said Reynolds. ‘Meet Lake Arthur, population 430. Current police force a hundred plus – most of whom aren’t residents.’<br> For 400 dollars you could get a badge and the right to carry a concealed firearm. Rumour had it Elon Musk had bought one for himself.</p></blockquote> <p>Is &hellip; that really a thing? Also&hellip; the Musk bit certainly aged.</p> <hr> <p>Also also:</p> <blockquote> <p>‘Somebody else came during the night and magicked them,’ I said. ‘Is that a real term – “magicked?”’ asked Guleed. ‘And it’s spelt with a “k”, too,’ I said. ‘But the technical term is actually “enchanted”. Only the trouble with that word is that everyone starts thinking glass slippers and spinning wheels.’</p></blockquote>API Tricks: Wikipedia Table JSON APIhttps://blog.jverkamp.com/2025/08/16/api-tricks-wikipedia-table-json-api/Sat, 16 Aug 2025 00:00:00 +0000https://blog.jverkamp.com/2025/08/16/api-tricks-wikipedia-table-json-api/<p>Quick, what is the order of the (as of now) 63 released Walk Disney Animation Studios films?</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ api<span style="color:#f92672">=</span>https://www.wikitable2json.com/api; <span style="color:#ae81ff">\ </span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> page<span style="color:#f92672">=</span>List_of_Walt_Disney_Animation_Studios_films; <span style="color:#ae81ff">\ </span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> curl -s <span style="color:#e6db74">&#34;</span>$api<span style="color:#e6db74">/</span>$page<span style="color:#e6db74">?table=0&amp;keyRows=1&#34;</span> <span style="color:#ae81ff">\ </span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> | jq <span style="color:#e6db74">&#39;.[0][].Film&#39;</span> -rc <span style="color:#ae81ff">\ </span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> | egrep -v <span style="color:#e6db74">&#39;^as&#39;</span> <span style="color:#ae81ff">\ </span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> | nl </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> 1 Snow White and the Seven Dwarfs </span></span><span style="display:flex;"><span> 2 Pinocchio </span></span><span style="display:flex;"><span> 3 Fantasia </span></span><span style="display:flex;"><span>... </span></span><span style="display:flex;"><span> 61 Strange World </span></span><span style="display:flex;"><span> 62 Wish </span></span><span style="display:flex;"><span> 63 Moana <span style="color:#ae81ff">2</span> </span></span></code></pre></div><p>There is a list on Wikipedia: <a href="https://en.wikipedia.org/wiki/List%20of%20Walt%20Disney%20Animation%20Studios%20films">List of Walt Disney Animation Studios films</a>, but the tables there are &hellip; a bit of a pain to copy paste. I could very well just manually do that, but where&rsquo;s the fun in that?</p> <p>Luckily, <a href="https://github.com/atye/wikitable2json/" target="_blank" rel="noopener">someone</a> went through the work of providing a wrapper around Wikipedia that will extract all (or selected) tables from a Wikipedia page!</p> <p>To break down the command:</p> <ul> <li><code>curl -s https://{...}?table=0&amp;keyRows</code> - Download the first (<a href="https://en.wikipedia.org/wiki/zero%20based%20indexing">zero based indexing</a>) table on the page; use the first row as column names (<code>-s</code> for &lsquo;silent&rsquo; mode)</li> <li><code>jq '.[0][].Film</code> - Extract the first table in the response (<code>.[0]</code>), for each row in that table <code>[]</code> extract the film name <code>.Film</code></li> <li><code>egrep -v '^as</code> - Remove rows starting with &lsquo;as &hellip;&rsquo;; these are extra rows when the studio was renamed</li> </ul> <p>And that&rsquo;s it!</p>Moana 2https://blog.jverkamp.com/2025/08/16/moana-2/Sat, 16 Aug 2025 00:00:00 +0000https://blog.jverkamp.com/2025/08/16/moana-2/<p>Moana 2! Now with more &rsquo;this was supposed to be a TV show'.</p> <p>So basically, we have the introduction&ndash;oh how great was the first Moana?!&ndash;, the baby sister, the quest<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, collecting the party and heading out, a series of semi-connected adventures, the fake out failure, and the season finale.</p> <p>Moana 2 was apparently supposed to be a TV show and&hellip; in a lot of ways, it shows? The film has the feel of a bunch of plot lines one after another, none particularly given room to breathe (or dopped entirely) and only a bit related. Which&hellip; is exactly how TV shows are structured.</p>The Undead Poolhttps://blog.jverkamp.com/2025/08/08/the-undead-pool/Fri, 08 Aug 2025 00:00:00 +0000https://blog.jverkamp.com/2025/08/08/the-undead-pool/<p><strong>Minor spoilers, mostly for the romance bits of the series</strong></p> <p>So this is the book.</p> <p>After a decade (for people reading along as the series came out) / six months (for me), <span class="spoiler">they're finally together</span> .</p> <blockquote> <p>“Yeah, the elf looks good in the sun,” Jenks smart-mouthed, the pixy currently sitting on the bottom of my hooped earrings and out of the moderate wind. “When you going to put us all out of your misery and boink him?”</p></blockquote> <p>Given how it all started, you could totally expe4ct it coming&hellip; and I&rsquo;m actually really rooting for them. I think they&rsquo;ve both become better people through the books. Rachel is at least marginally less terrible at rushing into things and Trent is not outright murdering people quite so often. #goals</p> <p>And it does lead to all sorts of fun politics. See, she&rsquo;s a demon and he&rsquo;s an elf. And the demons and elves <strong>hate</strong> one another. Something something, thousands of years of war and slavery. So of course this is going to come with all sorts of drama.</p> <blockquote> <p>Red finally gave up trying to bolt, and Trent settled into the saddle. The last couple of months with Trent had been… interesting. With Ellasbeth threatening to stay, I was seeing things in the light of “last time” and I was shocked to realize I didn’t like it, especially not with Landon’s threat. If not for the different tax bracket thing, or that he was going to be engaged, or that because of me, he’d lose everything if he didn’t marry Ellasbeth…</p></blockquote> <p>And that&rsquo;s just the romance part&hellip;</p> <p>On top of <em>that</em> we have magic going amuck, going quite a bit deeper into how elf magic works&ndash;and just what/if their &lsquo;goddess&rsquo; actually is.</p> <blockquote> <p>“Duh. You think I’m going to trash anything Newt gives me? The woman is crazy, not stupid.”</p></blockquote> <p>Rachel of course has to save the day, but it&rsquo;s going to be a bit of a mess to get there. Rachel is really leveling up. It&rsquo;s not quite a &lsquo;chosen one&rsquo; plot, but given how unique she is in this entire world, it&rsquo;s a near cousin of it. I&rsquo;m not sure what to think about that.</p> <p>But storywise, it&rsquo;s quite an action packed adventure. Romancewise&ndash;like I said&ndash;I&rsquo;m looking forward to seeing how this all shakes out.</p> <blockquote> <p>Etude nodded, and as Jenks buried himself in my hair, I closed my eyes to block out the dizzy sensation. Behind me, I felt the train race on without the mystics. The splinter was following me, harrowing, nipping, stabbing at my heels. Ill and nauseated, I hung in Etude’s grip, thinking that I should have just called the damn eagles from the beginning and done this alone.</p></blockquote> <p>A solid book.</p> <p>Onward!</p>Never Whistle at Night: An Indigenous Dark Fiction Anthologyhttps://blog.jverkamp.com/2025/08/03/never-whistle-at-night-an-indigenous-dark-fiction-anthology/Sun, 03 Aug 2025 00:00:00 +0000https://blog.jverkamp.com/2025/08/03/never-whistle-at-night-an-indigenous-dark-fiction-anthology/<blockquote> <p>Many Indigenous people believe that one should never whistle at night. This belief takes many forms: for instance, Native Hawaiians believe it summons the Hukai’po, the spirits of ancient warriors, and Native Mexicans say it calls Lechuza, a witch that can transform into an owl. But what all these legends hold in common is the certainty that whistling at night can cause evil spirits to appear—and even follow you home.</p></blockquote> <p>A collection of two dozen horror (and otherwise dark fiction) stories by a wide variety of indigenous authors. Three of which I&rsquo;d read before:</p> <ul> <li><a href="https://blog.jverkamp.com/reviews/authors/rebecca-roanhorse/">Rebecca Roanhorse</a></li> <li><a href="https://blog.jverkamp.com/reviews/authors/darcie-little-badger/">Darcie Little Badger</a></li> <li><a href="https://blog.jverkamp.com/reviews/authors/cherie-dimaline/">Cherie Dimaline</a></li> </ul> <p>Like any anthology there are some stories in here that I didn&rsquo;t care much for&ndash;and some that really hit hard. Overall, it&rsquo;s a fascinating new look (for me) into all sorts of new and interesting creepy things.</p> <p>And all too often, you might just find that people are people. And people are scarier than any monster out there.</p> <blockquote> <p>So, for these next pages, let these writers take you by the hand, lead you into the darkness at the heart of—let me put some quotation marks around it—“America.”</p></blockquote>Ever Afterhttps://blog.jverkamp.com/2025/07/30/ever-after/Wed, 30 Jul 2025 00:00:00 +0000https://blog.jverkamp.com/2025/07/30/ever-after/<blockquote> <p>Everyone needed someone to watch their back.</p></blockquote> <p>It&rsquo;s the end of the world<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>&ndash;and it might just be Rachel&rsquo;s fault<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>.</p> <p>So now she has to do the impossible, save the world&ndash;magic itself&ndash;face off against Ku&rsquo;Sox<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>, and somehow work with both Trent and Al at the same time.</p> <p>What could <em>possibly</em> go wrong?</p> <p>(A lot. A lot could go wrong.)</p> <p>Oy.</p>A Perfect Bloodhttps://blog.jverkamp.com/2025/07/27/a-perfect-blood/Sun, 27 Jul 2025 00:00:00 +0000https://blog.jverkamp.com/2025/07/27/a-perfect-blood/<p>So Rachel&rsquo;s still alive and full on recognized as a demon&hellip;</p> <p>Except demons <em>don&rsquo;t</em> live in reality. They have no rights. They don&rsquo;t exist. And they most certainly register cars.</p> <p>Oh the paperwork.</p> <blockquote> <p>“I should’ve kept my mouth shut,” he said, shooting a quick glance at the knots, and I shrugged. Perhaps, but there was no sense in crying over squished tomatoes.</p></blockquote> <p>Oh. And Rachel&rsquo;s avoiding her magic, Trent&rsquo;s embracing his, and an anti-interland hate group is of course up to <em>no</em> good.</p>Using CSP unsafe-hasheshttps://blog.jverkamp.com/2025/07/25/using-csp-unsafe-hashes/Fri, 25 Jul 2025 00:00:00 +0000https://blog.jverkamp.com/2025/07/25/using-csp-unsafe-hashes/<p>So here&rsquo;s a fun one: how does the <code>unsafe-hashes</code> directive in a <a href="https://en.wikipedia.org/wiki/content%20security%20police">content security police</a> work?</p> <p>In a perfect world, you don&rsquo;t need it. You can write a CSP with a minimal <code>script-src</code> policy, including only scripts from your own domains (<code>self</code>) or a list of specific other scripts or at worst domains.</p> <p>But sometimes real life (and third party libraries) get in the way.</p> <p>It starts with inline scripts. So you have to add <code>unsafe-inline</code>. But there&rsquo;s a better way to do that: CSP nonces. Specify a randomly generated (per request) nonce in the CSP header and then apply that same nonce to every <code>script</code> tag. Voila. Better.</p> <h2 id="the-problem-inline-javascript-events">The problem: inline JavaScript events</h2> <p>But what about something like this:</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#f92672">button</span> <span style="color:#a6e22e">onClick</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;doSomething();&#34;</span>&gt; </span></span></code></pre></div><p>Well, you might say, don&rsquo;t do that. Write it as a script:</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#f92672">button</span> <span style="color:#a6e22e">id</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;doSomethinger&#34;</span>&gt; </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>&lt;<span style="color:#f92672">script</span> <span style="color:#a6e22e">nonce</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;correctHorseBatteryStable&#34;</span>&gt; </span></span><span style="display:flex;"><span>document.<span style="color:#a6e22e">getElementById</span>(<span style="color:#e6db74">&#34;doSomethinger&#34;</span>).<span style="color:#a6e22e">addEventListener</span>(<span style="color:#e6db74">&#34;click&#34;</span>, <span style="color:#66d9ef">function</span>() { </span></span><span style="display:flex;"><span> <span style="color:#a6e22e">doSomething</span>(); </span></span><span style="display:flex;"><span>}); </span></span><span style="display:flex;"><span>&lt;/<span style="color:#f92672">script</span>&gt; </span></span></code></pre></div><p>But like I said&ndash;third parties scripts can be imperfect. And sometimes, they just <em>insist</em> on embedding their own event handlers inline.</p> <h2 id="a-solution-unsafe-hashes">A solution: <code>unsafe-hashes</code></h2> <p>Enter: <code>unsafe-hashes</code>.</p> <p>Basically, you can add this to your CSP:</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>script-src &#39;unsafe-hashes&#39; &#39;sha256-44558f2c36efd8163eac2903cec13ed1fafcca51abd91d9f696321ab895f1107&#39; </span></span></code></pre></div><p>This tells the browser that you <em>are</em> allowed to have event listeners directly on HTML elements&hellip; so long as the content of the JavaScript hashes <em>exactly</em> to any hash listed as an <code>unsafe-hash</code>:</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ echo -n <span style="color:#e6db74">&#34;doSomething();&#34;</span> | sha256 </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>44558f2c36efd8163eac2903cec13ed1fafcca51abd91d9f696321ab895f1107 </span></span></code></pre></div><h2 id="it-gets-worse-dynamically-generated-javascript">It gets worse: dynamically generated JavaScript</h2> <p>There is, however, one problem with this that does come up unfortunately often. If you&rsquo;re already dealing with third parties not doing things you wish they would, well then you have to deal with fun code like this:</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#f92672">&lt;?</span><span style="color:#a6e22e">php</span> </span></span><span style="display:flex;"><span><span style="color:#66d9ef">foreach</span> ($buttonIds <span style="color:#66d9ef">as</span> $buttonId) { </span></span><span style="display:flex;"><span> <span style="color:#66d9ef">echo</span> <span style="color:#e6db74">&#39;&lt;button onclick=&#34;doSomething(&#39;</span> <span style="color:#f92672">.</span> $buttonId <span style="color:#f92672">.</span> <span style="color:#e6db74">&#39;);&#34;&gt;Button &#39;</span> <span style="color:#f92672">.</span> $buttonId <span style="color:#f92672">.</span> <span style="color:#e6db74">&#39;&lt;/button&gt;&#39;</span> <span style="color:#f92672">.</span> <span style="color:#a6e22e">PHP_EOL</span>; </span></span><span style="display:flex;"><span>} </span></span><span style="display:flex;"><span><span style="color:#75715e">?&gt;</span><span style="color:#960050;background-color:#1e0010"> </span></span></span></code></pre></div><p>Unfortunately&hellip; that completely blows up the CSP. Because&hellip;</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ echo -n <span style="color:#e6db74">&#34;doSomething(1);&#34;</span> | sha256 </span></span><span style="display:flex;"><span>2ef899c15aae95711855a45a5bb93c55363162e0e75e295aad4f189f20323d7c </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>$ echo -n <span style="color:#e6db74">&#34;doSomething(5);&#34;</span> | sha256 </span></span><span style="display:flex;"><span>0e03bb385169b89c95eb62659f50604ffb8283154bd58ab8cc7e692c4b5c05a3 </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>$ echo -n <span style="color:#e6db74">&#34;doSomething(42);&#34;</span> | sha256 </span></span><span style="display:flex;"><span>4d9691449db6740ee19207c5bb52361eb97e18f06352ed400f83ae7caee270da </span></span></code></pre></div><p>Just hashes doing hash things there. So basically, you have to be able to dynamically generate your CSP on the fly, including all of the hashes of all of the functions <em>and with each of their arguments</em> that are either possible or (even better) actually used.</p> <p>And this isn&rsquo;t fun at all.</p> <p>Now, you might say: but you can do something like this:</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#f92672">&lt;?</span><span style="color:#a6e22e">php</span> </span></span><span style="display:flex;"><span><span style="color:#66d9ef">foreach</span> ($buttonIds <span style="color:#66d9ef">as</span> $buttonId) { </span></span><span style="display:flex;"><span> <span style="color:#66d9ef">echo</span> <span style="color:#e6db74">&#39;&lt;button data-id=&#34;$buttonId&#34; onclick=&#34;doSomething(this.dataset.id);&#34;&gt;&#39;</span> </span></span><span style="display:flex;"><span>} </span></span><span style="display:flex;"><span><span style="color:#75715e">?&gt;</span><span style="color:#960050;background-color:#1e0010"> </span></span></span></code></pre></div><p>After all</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ echo -n <span style="color:#e6db74">&#34;doSomething(this.dataset.id);&#34;</span> | sha256 </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>d2ecabb98b1bb7cc81cd75d43dcb7bac08ce31055339920976cb92aa2f5dd2f5 </span></span></code></pre></div><p>Only one hash!</p> <p>But if you have that much control&hellip; then why are you using inline JavaScript in the first place?</p> <h2 id="is-it-safe">Is it safe?</h2> <p>Is this safe?</p> <p>No. It&rsquo;s called <code>unsafe-*</code> for a reason. An attacker that controls input can theoretically take any of the hashed functions you&rsquo;re including (like <code>submitPayment</code>&hellip;) and inject them in places they shouldn&rsquo;t be. And heck, if you manage to find a SHA-256 hash collision? Well, then you have far more interesting things to do with <em>that</em> then attacking some site that found themselves force to used <code>unsafe-hashes</code>&hellip;</p> <p><em>But</em> it&rsquo;s better than <code>unsafe-inline</code> without <code>nonces</code> which allows arbitrary inline scripts. And unfortunately, there&rsquo;s no way to actually use <code>nonces</code> with inline scripts.</p> <p>And while a perfectly secure system would be the best case, it&rsquo;s absolutely better to do as much as you can to secure a system rather than doing nothing waiting for the perfect solution to become possible.</p> <p>Onward!</p>Building a virtual CPU from NAND gates uphttps://blog.jverkamp.com/2025/07/21/building-a-virtual-cpu-from-nand-gates-up/Mon, 21 Jul 2025 00:00:00 +0000https://blog.jverkamp.com/2025/07/21/building-a-virtual-cpu-from-nand-gates-up/<p>Over the past couple of weeks, I&rsquo;ve spent entirely longer than I probably should have falling down the rabbit hole that is the game <a href="https://store.steampowered.com/app/1444480/Turing_Complete/" target="_blank" rel="noopener">Turing Complete</a>.</p> <p>In a nutshell, you start with basically nothing, build up simple logic gates, create memory cells and 1-bit addition, build that into 8-bit math and logic, read instructions RAM, implement loops, and function calls (in hardware!), and eventually use your very own custom built CPU to solve a few programming challenges.</p>Million Dollar Babyhttps://blog.jverkamp.com/2025/07/17/million-dollar-baby/Thu, 17 Jul 2025 00:00:00 +0000https://blog.jverkamp.com/2025/07/17/million-dollar-baby/<p>Another novella from <a href="https://blog.jverkamp.com/2025/05/22/into-the-woods-tales-from-the-hollows-and-beyond/">Into the Woods</a>: The story of what Jenks and Trent were up to during <a href="https://blog.jverkamp.com/2025/07/13/pale-demon/">Pale Demon</a>.</p> <p><strong>ELF QUEST!</strong></p> <p>It&rsquo;s really quite spoilery (for Pale Demon) to really get into what that <em>actually</em> means, but the short version is that we get another major magical heist novel, which is all sorts of fun.</p> <p>Trent and Jenks are a surprisingly fun combo. It&rsquo;s nice every once in a while to have parts about Rachel without having her on screen.</p> <blockquote> <p>“No, not really.” One hand holding his wings tight to his body, Jenks turned to look behind him at their forward progress. “Rachel makes enough mistakes in one week to fill a twenty-yard dump truck.”</p></blockquote> <p>Exactly.</p> <p>Oh, and more elf politics:</p> <blockquote> <p>He trusted people. He trusted quite a few, and quite a few had “screwed him over” as Jenks put it. The difference was that when people betrayed him, sometimes other people died. And then other people thought it was his fault. He was tired of it. Everything he had was at risk for the next four hours. Quen said he was not his father, but he was doing the same damning things. &hellip; The Goddess help him, they had to come out of the closet if only so he could stop killing people.</p></blockquote> <p>A fun short story! And with even <em>more</em> implications to the broader Hollows universe than Pale Demon. It&rsquo;ll be interesting to see how that all shakes out.</p> <p>Onward!</p>Hacks: Season 1https://blog.jverkamp.com/2025/07/15/hacks-season-1/Tue, 15 Jul 2025 00:00:00 +0000https://blog.jverkamp.com/2025/07/15/hacks-season-1/<p>Well. That is most definitely a show.</p> <p>Ava is an entitled 25 year old with basically no filter. Deborah Vance is Las Vegas comedian that might just be at the end of her career (certainly not by choice).</p> <p>And now they have to work together.</p> <p>What could possibly go wrong?</p> <p>There are some hilarious moments in this show. And I do really love Jean Smart as Deborah Vance. Hannah Einbinder as Ava Daniels is <em>so</em> cringe at times (no filter!), but <em>that&rsquo;s the point</em>.</p> <p>And the dynamic between the two is <em>fascinating</em>.</p> <p>Carl Clemons-Hopkins as Marcus provides quite the B plot as very gay and very much running things for Deborah.</p> <p>And finally Paul W. Downs as Jimmy and Megan Stalter as Kayla&hellip; I could do with less of that. I guess you have to have someone keeping things moving?</p> <p>It&rsquo;s, I think, a show surprisingly worth watching. Onward to season 2!</p>Pale Demonhttps://blog.jverkamp.com/2025/07/13/pale-demon/Sun, 13 Jul 2025 00:00:00 +0000https://blog.jverkamp.com/2025/07/13/pale-demon/<p>So Rachel is sanctioned. She has one chance to travel (on purpose this time) to San Francisco to try to clear her name. Except&hellip; she can&rsquo;t fly, because politics&ndash;road trip! And has to take Trent, also because politics&ndash;road trip with Jenks, Ivy, Rachel, and Trent.</p> <p>What could possibly go wrong?</p> <blockquote> <p>Jenks: Relax cookie maker. They’ve been there since Terre Haute.</p></blockquote> <p>lol. <a href="https://en.wikipedia.org/wiki/Keebler%20elves">Keebler elves</a></p> <p>Also <a href="https://en.wikipedia.org/wiki/Terre%20Haute">Terre Haute</a>. I went to school there.</p> <p>And then they blew up a national monument.</p> <p>And freed a demon.</p> <p>And saved another demon.</p> <p>And learned what is actually <em>different</em> about the female demons.<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p> <blockquote> <p>But Al was shaking his head, looking ill. “I am not going to be the person who completes you,” he said, glancing at me and turning away. “You are one messed-up bitch.”</p></blockquote> <p>And suddenly&hellip; <em>baby</em>! (I&rsquo;ll leave you to guess if it&rsquo;s who you expect or not).</p> <p>Man that&rsquo;s a lot for a single book. And with what looks like might be permanent reprecussions across the Hollows universe (and Rachel especially) that we&rsquo;re only barely beginning to feel.</p> <p>Onward!</p> <p>Side note: This was a fun line:</p> <blockquote> <p>“So all those buttons are different restaurants?” I asked, looking at the jukebox, now totally out of place, like a British police call box on the deck of the Titanic.</p></blockquote> <p>I understood that reference. &#x1f604;</p> <p>Second side note: So&hellip; how many cross breeds are possible in this universe? We have some hints because of how species diverged from one another. And we also have elves with some human lineage. But what else is possible? And what if we include all sorts of genetic tampering that is seemingly possible in this world&hellip;</p>MoCA Upgrades and Coax woeshttps://blog.jverkamp.com/2025/06/30/moca-upgrades-and-coax-woes/Mon, 30 Jun 2025 00:00:00 +0000https://blog.jverkamp.com/2025/06/30/moca-upgrades-and-coax-woes/<p>So over the past week or so&hellip; I&rsquo;ve been having some serious issues with the internet at home. And since I work remotely with computers for a living&hellip; well, having a stable internet connection is kind of important.</p> <p>So I decided to finally bite the bullet and do an upgrade that I&rsquo;ve been meaning to do for a long time: Install <a href="https://en.wikipedia.org/wiki/MoCA%20Adaptors">MoCA Adaptors</a> to use the existing <a href="https://en.wikipedia.org/wiki/coaxial%20cables">coaxial cables</a> already in the walls to provide a wired connection between the mesh routers I&rsquo;m already using on the various floors of the house.</p> <p>Oh, this took <em>far</em> longer than I hoped it would&hellip;</p>Captain America: Brave New Worldhttps://blog.jverkamp.com/2025/06/21/captain-america-brave-new-world/Sat, 21 Jun 2025 00:00:00 +0000https://blog.jverkamp.com/2025/06/21/captain-america-brave-new-world/<blockquote> <p>President Thaddeus Ross: When a Celestial mass emerged in the Indian Ocean, we did what we often do. We squabbled over it. Countries rushed in to claim it as their own, setting up research facilities to exploit its resources. What was found inside that island is nothing short of the discovery of the millennium. Its potential applications in tech, in medicine, in defense are immeasurable. It&rsquo;s even more indestructible than vibranium. And it&rsquo;s not controlled by an isolationist nation. Ladies and gentlemen, I present to you adamantium.</p></blockquote> <p>So. We&rsquo;re going to not only finally deal with that mess from <a href="https://blog.jverkamp.com/2022/07/25/eternals/">Eternals</a>, but we&rsquo;re also going to finally get in universe adamantium? Interesting strategy.</p> <p>In any case, we have a new Captain America. I wasn&rsquo;t sure Anthony Mackie could head a movie in <a href="https://blog.jverkamp.com/2021/04/24/the-falcon-and-the-winter-soldier/">The Falcon and the Winter Soldier</a> (or S2 of <a href="https://blog.jverkamp.com/reviews/series/altered-carbon/">Altered Carbon</a> for that matter), but I actually quite enjoyed him this time around. I think Danny Ramirez / Joaquin Torres / the new Falcon really helped with that.</p> <p>Otherwise, we have Harrison Ford taking over for William Hurt as Ross. I&rsquo;m&hellip; still surprised when I see Harrison Ford still being quite as active an actor as he is. It was already slightly odd in Kindom of the Crystal Skull&hellip; and that was more than 15 years ago.</p> <p>Overall, a step up from the recent spate of Marvel movies/TV. Hnoestly, it&rsquo;s been probably since <a href="https://blog.jverkamp.com/2022/03/18/spider-man-no-way-home/">Spider-Man: No Way Home</a> or <a href="https://blog.jverkamp.com/2022/07/29/doctor-strange-in-the-multiverse-of-madness/">Doctor Strange in the Multiverse of Madness</a>&hellip; Still, a decent action flick?</p> <p>Onward!</p>Black Magic Sanctionhttps://blog.jverkamp.com/2025/06/19/black-magic-sanction/Thu, 19 Jun 2025 00:00:00 +0000https://blog.jverkamp.com/2025/06/19/black-magic-sanction/<p>So. Alcatraz is back in service. That&rsquo;s kind of brilliant.</p> <p>This time around, Rachel is dealing with her shunning&ndash;and far far worse. The witches of the world aren&rsquo;t on her side any more, but perhaps she can get some help from&hellip; Trent? Al? Nick?! (Why is Nick back around&hellip;)</p> <p>And the only way out is&hellip; suddenly, we have a heist novel now. It seems like this is <em>really</em> not the time. And double that, when Rachel randomly decides to use that Pandora charm that&rsquo;s been floating around. <em>now?!</em></p> <p>Man she has issues with long term thinking.</p> <blockquote> <p>&ldquo;How did you know we were in trouble?&rdquo;</p> <p>&ldquo;You&rsquo;re always in trouble, Rachel,&rdquo; he said, fixing his hat firmly back on his head.</p></blockquote> <p>And seems <em>so very</em> deadset on not killing anything ever. Which, I suppose if you&rsquo;re going to do black magic, you don&rsquo;t want to give anyone any other reasons to hate you. But sometimes, especially in a world like this, there are people you just can&rsquo;t hang on to. Oy. (Not to mention that she seems fine with those around her killing&hellip;)</p> <p>Especially after 8 books. And after what happened to Jenks<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p> <p>Overall, another good story.</p> <p>Onward!</p> <p>Random world building notes:</p> <blockquote> <p>His eyes were alight. I&rsquo;d seen that look on college students debating such ridiculous stuff as how the world would be today if Napoleon hadn&rsquo;t stirred that misaligned spell and won Waterloo, or if the Turn had never happened and we&rsquo;d gone to the moon instead. &ldquo;Okay, I got that,&rdquo; I said, and Pierce pushed from the table to take his plate to the sink.</p></blockquote> <p>I do love the subtle(ish) nods to our world / what might have been. Good times those.</p>Ley Line Drifterhttps://blog.jverkamp.com/2025/06/15/ley-line-drifter/Sun, 15 Jun 2025 00:00:00 +0000https://blog.jverkamp.com/2025/06/15/ley-line-drifter/<p>Another novella from <a href="https://blog.jverkamp.com/2025/05/22/into-the-woods-tales-from-the-hollows-and-beyond/">Into the Woods</a><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, this time with Jenks striking out on his own (more or less) to save the day!</p> <p>First thought: Jenks and Bis is a fun dynamic. Jenks is a lot when he&rsquo;s a side character, but somehow seeing into his head is so much better.</p> <p>In that reguard, have we actually seen on screen/page what Jenks wished for all the way back in the first book? Daw.</p> <p>And has Rachel figured out what I think Jenks already knows here about what the embeggining actually did to him?</p> <p>Second thought:</p> <blockquote> <p>“Jenks?” Bis said loudly, half hiding behind Sylvan’s statue. “Maybe we should leave the goddess alone.”</p></blockquote> <p>Huh. So thinking about it, have we really seen much in the way of &rsquo;tiers&rsquo; of creatures in <a href="https://blog.jverkamp.com/reviews/series/the-hollows/">The Hollows</a>? There are some that are difficult for others to fight, but nothing truly &lsquo;godly&rsquo;. Interesting that.</p> <blockquote> <p>And what about Daryl, anyway? A deluded nymph, Sylvan had said. A goddess, Daryl claimed. There were no gods or goddesses. Never had been, but there were documented histories of Inderlanders taking advantage of humans, posing as deities. He frowned. Her eyes were downright creepy, and he hadn’t liked demons being mentioned, either.</p></blockquote> <p>I wonder if that will stick.</p> <p>Otherwise&hellip; we learn in this book that apparently Pixies can <span class="spoiler">make explosives</span> . Delightful. And no one knows. Probably for the best.</p> <p>And finally, some last bits of world building around pixies and gargoyles. They eat pigeons (the latter) and their names get longer the further down the birth order they are (the former).</p> <p>Overall, a fun little story. Always neat to see the side characters get their chance to shine.</p> <p>I do bet that, just like banshees, this isn&rsquo;t the last we&rsquo;ll see of nymphs/dryads in this series. Or at least I hope it isn&rsquo;t!</p>Misty of Chincoteaguehttps://blog.jverkamp.com/2025/06/13/misty-of-chincoteague/Fri, 13 Jun 2025 00:00:00 +0000https://blog.jverkamp.com/2025/06/13/misty-of-chincoteague/<p>Well, that&rsquo;s a cute little story for what it is. And my daughter really enjoyed it.</p> <p>Basically, oldentimes life on an island. Yearly, all the people on the island go across to another one, round up wild horses, and drive them across the island to train and sell.</p> <p>And of course our young protagonists find the horse of their dreams and go through everything to find and bring her back.</p> <p>It&rsquo;s cute.</p> <p>Side note, it&rsquo;s fun finding out that Misty was a real horse! Although, perhaps don&rsquo;t read too far into all that <a href="https://en.wikipedia.org/wiki/Misty_of_Chincoteague_%28novel%29" target="_blank" rel="noopener">inspiration</a>&hellip;</p> <p>Onward!</p>White Witch, Black Cursehttps://blog.jverkamp.com/2025/06/11/white-witch-black-curse/Wed, 11 Jun 2025 00:00:00 +0000https://blog.jverkamp.com/2025/06/11/white-witch-black-curse/<p>So&hellip; banshee?</p> <p>Heh. Called it.</p> <p>So basically, we have Rachel dealing with the events/fallout of <em>Dirty Magic</em> (from <a href="https://blog.jverkamp.com/2025/05/22/into-the-woods-tales-from-the-hollows-and-beyond/">Into the Woods</a>): wherein we find out what banshees are in the world of <a href="https://blog.jverkamp.com/reviews/series/the-hollows/">The Hollows</a> and see Ivy dealing with one<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup><sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>.</p> <p>On top of that, I think this might be the first main book in which we see Robbie (also in <a href="https://blog.jverkamp.com/2025/05/22/two-ghosts-for-sister-rachel/">Two Ghosts for Sister Rachel</a>)&hellip; and he&rsquo;s not the only one.</p> <p>So anyways, we have Rachel still dealing with the fallout of Kistin&rsquo;s death, a new uber-predator on the loose (banshees are basically vampires on steroids it seems), a blast from the past (both in general and Rachel&rsquo;s specifically), Al, witch sex, auras, and SHUNNING (all caps).</p> <blockquote> <p>“Sweet mother of Tink,” Jenks whispered from the ladle. “What just happened?&quot;</p></blockquote> <p>Quite a book.</p> <blockquote> <p>Jenks flew two circles around me to stretch his wings, then landed on Ivy’s shoulder. She was staring at the city, mesmerized. “It looks peaceful from up here,” she said when her line of sight was broken by a member of the waitstaff.</p> <p>Jenks snorted. “It looks peaceful when you get up real close, too,” he said, and I thought of my garden. “It’s only the middle ground that’s ugly.”</p></blockquote> <p>But hey, (minor spoilers), we do get at least some forward progress on Kistin&rsquo;s murderer!</p> <p>Overall, another solid entry. Onward!</p>Timing Reddit and Enabling Grayness (iOS Shortcuts)https://blog.jverkamp.com/2025/06/04/timing-reddit-and-enabling-grayness-ios-shortcuts/Wed, 04 Jun 2025 00:00:00 +0000https://blog.jverkamp.com/2025/06/04/timing-reddit-and-enabling-grayness-ios-shortcuts/<p>I got back and forth with messing with iOS Shortcuts for automation. I have a nice one that let&rsquo;s me <a href="#automatically-opening-daily-observations-in-dropbox">automatically open a daily created file in Dropbox</a> that I&rsquo;ve had for a while, but now I have two more potentially interesting ones:</p> <ul> <li><a href="#enabling-grayness">Enabling Grayness</a> - Automatically reduce the saturation on my screen to slow down phone addition (hopefully?) with a timed temporary disable feature</li> <li><a href="#timing-reddit">Timing Reddit</a> - Every time I launch Reddit, set a 10 minute timer to stop using it so I don&rsquo;t just lose an hour (or more) <a href="https://en.wikipedia.org/wiki/doom%20scrolling">doom scrolling</a></li> </ul> <p>So how did I do it?</p> <nav id="TableOfContents"> <ul> <li><a href="#enabling-grayness">Enabling Grayness</a> <ul> <li><a href="#enabling-color-filters">Enabling Color Filters</a></li> <li><a href="#actions-to-switch-to-graycolor">Actions to switch to gray/color</a></li> <li><a href="#triggers-daily-and-alarm">Triggers: Daily and Alarm</a></li> <li><a href="#alarm-based-grayness-action">Alarm based grayness action</a></li> <li><a href="#thoughts">Thoughts</a></li> </ul> </li> <li><a href="#timing-reddit">Timing Reddit</a></li> <li><a href="#automatically-opening-daily-observations-in-dropbox">Automatically opening Daily Observations in Dropbox</a> <ul> <li><a href="#on-a-mac">On a Mac</a></li> <li><a href="#on-ios-iphone-or-ipad">On iOS (iPhone or iPad)</a></li> </ul> </li> </ul> </nav> <p>Side note: I do with Shortcuts had the ability to share a JSON (or whatever) file containing the shortcut rather than only allowing sharing through iCloud. It does appear that you can (used to?) be able to export them as plists, but it doesn&rsquo;t seem to work at the moment.</p> <p>But that&rsquo;s just the Apple way it seem :\ So it goes.</p>The Outlaw Demon Wailshttps://blog.jverkamp.com/2025/06/03/the-outlaw-demon-wails/Tue, 03 Jun 2025 00:00:00 +0000https://blog.jverkamp.com/2025/06/03/the-outlaw-demon-wails/<p>Okay, enough side stories (and <a href="https://blog.jverkamp.com/2025/05/19/the-turn-the-hollows-begins-with-death/">prequels</a>!). Back to the main story.</p> <p>So, Rachel can do demon things. And in doing so, she&rsquo;s managed to really piss off one demon: Algaliarept (Al). Now he&rsquo;s out every night on a technicality and coming for Rachel.</p> <blockquote> <p>“You can’t forget anything,” I said, watching the words vanish into nothing. “And even if you do, it always comes back to bitch-slap you in the morning.”</p></blockquote> <p>So how in the world is she going to solve this one? Well&hellip; perhaps not in <em>the world</em> after all.</p> <blockquote> <p>“Rache?” Jenks said warily, hovering as I hid my hands so he couldn’t see them shake. “What did you do?”</p></blockquote> <p>&#x1f604;</p> <p>On top of that, more elf shenanigans with Trent and Ceri (although not the two of them together :whew:).</p> <p>Relationship drama, both with Ivy and perhaps with Marshal (from <a href="https://blog.jverkamp.com/2025/04/19/a-fistful-of-charms/">A Fistful of Charms</a>). It&rsquo;s not quite Kistin, but it will be interesting to see. And uniting auras. What&rsquo;s up with that? A mystery for another book I suppose.</p> <p>Oh, and historical drama with Rachel&rsquo;s mom (now that was a bombshell&hellip;). I figured something was up with that, but man that was still a hit. It will be interesting to see where that goes&ndash;and if her mom will become a larger player going forward.</p> <p>Oh, and suddenly Ryn Cormel. Who I just met in <a href="https://blog.jverkamp.com/2025/05/19/the-turn-the-hollows-begins-with-death/">The Turn</a>. Interesting that. If I hadn&rsquo;t read the prequel, would I have missed out on anything? Probably not.</p> <p>Oh, and a Gargoyle. I expected more from that. But perhaps next book.</p> <p>I <em>really</em> enjoyed this one. This series has turned out to be primarily about demons, but&hellip; perhaps that makes sense given, well, everything. I&rsquo;m here for it though!</p> <hr> <p>Side note: I&rsquo;ve been listening to these on audiobok. Why&hellip; does this one have a different narrator? It&rsquo;s a bit jarring. Piss-ker-ee. Lee line. Jenks&rsquo; new voice. I think it&rsquo;d be perfectly fine (although lee line would probably still bother me), but I&rsquo;d just gotten so used to the other!</p> <p>It turns out <a href="https://www.goodreads.com/topic/show/21045927-a-change-in-narrator-for-this-book" target="_blank" rel="noopener">there is a discussion about this</a> on Goodreads.</p> <blockquote> <p>Ms. Gavin and I are both working to get her to read AMERICAN DEMON. Should happen!</p> <p>&ndash; Kim Harrison</p></blockquote> <p>Not a why, but at least it&rsquo;s known? And apparently we&rsquo;ll go back to Marguerite Gavin after this one!</p> <hr> <p>Second side note: The fact that they said &lsquo;Al went into human resources&rsquo; is certainly a choice. And they just skate <em>right on</em> by that one.</p>The Marvelshttps://blog.jverkamp.com/2025/05/31/the-marvels/Sat, 31 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/31/the-marvels/<p>You know, for the first half of the movie, that was actually a lot of fun.</p> <blockquote> <p>Then why did you touch it?<br> Because it was glowing and mysterious.<br> Okay new rule - No touching shit<br> I’m getting a lot of negative energy from you and I don’t need that right now.</p></blockquote> <p>Chaos ensues and bad decisions mean that the Marvels (<a href="https://blog.jverkamp.com/2022/07/23/ms.-marvel/">Ms. Marvel</a>, <a href="https://blog.jverkamp.com/2021/08/28/captain-marvel/">Captain Marvel</a>, and&hellip; the other one? (Monica Rambeau, most recently from <a href="https://blog.jverkamp.com/2021/03/19/wandavision/">WandaVision</a>)) are now suddenly swapping places across time and space. It doesn&rsquo;t <em>really</em> make any sense, but it&rsquo;s fun to watch!</p> <p>And then&hellip; the whole thing starts going off the rails.</p> <p>Why don&rsquo;t they have help? Why does Ms. Marvel even wear that bangle?</p> <p>And&hellip; seriously? A planet where they <em>sing</em> instead of speak and can&rsquo;t understand if you don&rsquo;t sing? That&rsquo;s a comics silly reason; it just feels weird on the big screen.</p> <p>And what in the <em>world</em> is with those Flerken scenes&hellip; It&rsquo;s already the shortest movie in the MCU. Did they just really not have enough content so they had to pad it with <em>something</em>?</p> <p>Overall, it was almost there, but like much of the MCU for&hellip; a while now. It could have been so much better.</p> <p>Onward.</p>Parsing PEM Certificates & ASN.1 in Javascripthttps://blog.jverkamp.com/2025/05/29/parsing-pem-certificates-asn.1-in-javascript/Thu, 29 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/29/parsing-pem-certificates-asn.1-in-javascript/<p>I recently had a conversation about parsing HTTPS/TLS/etc certificates client side (so that various values could be compared). There are, of course, <a href="https://asn1js.org/" target="_blank" rel="noopener">libraries</a> for that, but where&rsquo;s the fun in that? Let&rsquo;s dig in ourselves!</p> <p>I thought of course it would be a well specified format and it wouldn&rsquo;t take more than a few minutes to parse&hellip; right?</p> <p>Right?</p> <nav id="TableOfContents"> <ul> <li><a href="#parsing">Parsing</a></li> <li><a href="#decoding-some-datatypes">Decoding some datatypes</a> <ul> <li><a href="#object-identifiers--oids">Object Identifiers &ndash; OIDs</a></li> <li><a href="#numbers">Numbers</a></li> <li><a href="#dates">Dates</a></li> </ul> </li> <li><a href="#printing-results">Printing results</a></li> <li><a href="#an-example">An example</a></li> <li><a href="#constants">Constants</a></li> </ul> </nav>Severance: Season 2https://blog.jverkamp.com/2025/05/24/severance-season-2/Sat, 24 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/24/severance-season-2/<p>Whelp. They certainly turned <em>that</em> up a notch.</p> <p>Right at the end of Season 1, the innies get a chance to go out. This could not <em>possibly</em> go well&hellip;</p> <p>Except apparently all is well in the world?</p> <p>Until&hellip; it&rsquo;s not.</p> <p>We have drama, both innie and outie and mixed. We have goats. We have sex scenes. We have wives cheating with their own husbands. We have a trip into the woods.</p> <p>And we have a marching band.</p> <p>I quite enjoyed this show.</p> <p>And now I have to wait for season 3!!</p>Into the Woods: Tales from the Hollows and Beyondhttps://blog.jverkamp.com/2025/05/22/into-the-woods-tales-from-the-hollows-and-beyond/Thu, 22 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/22/into-the-woods-tales-from-the-hollows-and-beyond/<iframe src="https://open.spotify.com/embed/track/1mGnIAxWGb2DBnlqwCqOuO?utm_source=generator&theme=0" width="100%" height="80" frameBorder="0" allowfullscreen="" allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture"> </iframe> <p>Now that that is out of the way &#x1f604;</p> <p>Into the Woods is a collection of Hollows Shorts. Since I&rsquo;ve liked the series enough to go ahead and want todo everything about it, I decided to pick up all the shorts.</p> <p>Because I track my reading, I have to draw the line somewhere, so here it is: all of the short stories will be collected here (updating as I read them). Novellas (and novelettes?) will get their own posts.</p> <nav id="TableOfContents"> <ul> <li><a href="#the-bespelled">The Bespelled</a></li> <li><a href="#two-ghosts-for-sister-rachel">Two Ghosts for Sister Rachel</a></li> <li><a href="#undead-in-the-garden-of-good-and-evil">Undead in the Garden of Good and Evil</a></li> <li><a href="#dirty-magic">Dirty Magic</a></li> <li><a href="#the-bridges-of-eden-park">The Bridges of Eden Park</a></li> <li><a href="#ley-line-driver">Ley Line Driver</a></li> <li><a href="#million-dollar-baby">Million Dollar Baby</a></li> <li><a href="#pet-shop-boys-todo">Pet Shop Boys (<em>todo</em>)</a></li> <li><a href="#temson-estates-todo">Temson Estates (<em>todo</em>)</a></li> <li><a href="#spider-silk-todo">Spider Silk (<em>todo</em>)</a></li> <li><a href="#grace-todo">Grace (<em>todo</em>)</a></li> </ul> </nav>Two Ghosts for Sister Rachelhttps://blog.jverkamp.com/2025/05/22/two-ghosts-for-sister-rachel/Thu, 22 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/22/two-ghosts-for-sister-rachel/<p>So that&rsquo;s a story. Young Rachel (finishing school, desperately wanting to go to the IS), still living at home with her mother, when her brother comes to visit! Given that we&rsquo;ve barely seen them on page (<em>have</em> we see her brother?), it&rsquo;s some fun bit of backstory&hellip;</p> <p>And then the entire story revolves around trying to contact Rachel&rsquo;s dead father to win a bet (and to join the IS in his footsteps), well, of course things are going to get complicated.</p> <p>It&rsquo;s a fun story with just the right amount of gut punches and backstory. I do wonder what we&rsquo;ll see &lsquo;in between&rsquo;. How does Rachel end up strong enough to go on runs? She certainly isn&rsquo;t doing that well here. And will see see her time at that camp?</p> <p>Overall, worth the read!</p> <p>Side note: red eye flights being renamed to &lsquo;vamp flights&rsquo; is a fun detail.</p> <p>Also: &lsquo;Spell checker&rsquo;. &#x1f604;</p> <p>Also also: Man Rachel really will fall for anyone, won&rsquo;t she&hellip;</p>Undead in the Garden of Good and Evilhttps://blog.jverkamp.com/2025/05/20/undead-in-the-garden-of-good-and-evil/Tue, 20 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/20/undead-in-the-garden-of-good-and-evil/<blockquote> <p>Life was more than waiting for it to end so she could started living.</p></blockquote> <p>Man Ivy is a mess.</p> <p>So this is the/a story of how Ivy came to be, how screwy (heh) vampires can be, how she got to be working as a runner, and how she came to meet Rachel.</p> <p>That&rsquo;s a pretty fun way to set it up.</p> <p>Oh, and much like <a href="https://blog.jverkamp.com/2025/05/22/into-the-woods-tales-from-the-hollows-and-beyond/#the-bridges-of-eden-park">The Bridges of Eden Park</a> this (especially the Kisten parts) back to back with <a href="https://blog.jverkamp.com/2025/05/11/for-a-few-demons-more/">For a Few Demons More</a> is certainly a touch of whiplash.</p>The Turn: The Hollows Begins with Deathhttps://blog.jverkamp.com/2025/05/19/the-turn-the-hollows-begins-with-death/Mon, 19 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/19/the-turn-the-hollows-begins-with-death/<blockquote> <p>The only thing worse than starting a plague on purpose was being stupid enough to start it by accident.</p></blockquote> <p>Okay, I&rsquo;ve read (and quite enjoyed) enough of the Hollows that I want to go back and pick up the short stories and other supplementary stories.</p> <p>Enter: The Turn.</p> <p>The story of science, betrayal, tomatoes, and a whole bunch of deaths that changed the world.</p> <p>It&rsquo;s a fun story. While I really do appreciate that the Hollows is a world with without a &lsquo;masquerade&rsquo;, it&rsquo;s fascinating to see the world before (and <em>as</em>) all of the various Interlanders came out into the open. Especially seeing who was involved&ndash;and wondering just what they&rsquo;re all up to in the more modern time I&rsquo;ve been reading.</p> <blockquote> <p>“A person is okay,” he said, peering into the darkness and the open street. “But when you put a bunch of us together, something is switched on, something ugly.” He glanced at her apologetically. “All of us, humans and nonhumans alike, are genetically primed to attack what’s different from the collective.”</p></blockquote> <p>Overall, a fun story to set up. As far as I&rsquo;ve read, I don&rsquo;t think it&rsquo;s necessary to read for the main series, but I&rsquo;ms till glad to have read it.</p> <p>Onward!</p>Bastille vs. the Evil Librarianshttps://blog.jverkamp.com/2025/05/11/bastille-vs.-the-evil-librarians/Sun, 11 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/11/bastille-vs.-the-evil-librarians/<p>And so it ends. Again.</p> <p>After the events of <a href="https://blog.jverkamp.com/2025/03/23/the-dark-talent/">The Dark Talent</a>, Alcatraz isn&rsquo;t doing so well<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, the Talents are still gone, several Smedrys are dead<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup><sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>, and the world is about to end.</p> <p>So of course we have one last adventure. Chock full of impossible situations, anti-gravity sharks, a Gak, <em>so</em> many straw puns<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>, and an army of kittens<sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup>, romance<sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup>, and a big battle on top of a giant glass spire in the middle of the ocean!</p> <p>One thing that was kind of odd to me (having read <em>almost</em> all of <a href="https://blog.jverkamp.com/reviews/authors/brandon-sanderson/">Brandon Sanderson</a>&rsquo;s works at this point) is how the fine details of the magic system never quite came together&ndash;and now they probably never will. The talents are a lot of fun, magic glass is neat<sup id="fnref:7"><a href="#fn:7" class="footnote-ref" role="doc-noteref">7</a></sup><sup id="fnref:8"><a href="#fn:8" class="footnote-ref" role="doc-noteref">8</a></sup>, and somehow they are related&hellip; but how does it all work? Is Alcatraz right? Where did it come from?! I know it&rsquo;s not a <a href="https://blog.jverkamp.com/reviews/series/the-cosmere/">Cosmere</a> novel, so it gets a bit of a bye for that, but I wanted more. So it goes.</p> <p>In any case, compared to <a href="https://blog.jverkamp.com/2025/03/23/the-dark-talent/">The Dark Talent</a>, it&rsquo;s actually an ending, which I greatly appreciate. Other than that, I feel like it&rsquo;s a weaker entry into the series. Still a lot of fun to read and I&rsquo;m glad to have finally gotten to them.</p> <p>Onward!<sup id="fnref:9"><a href="#fn:9" class="footnote-ref" role="doc-noteref">9</a></sup></p>For a Few Demons Morehttps://blog.jverkamp.com/2025/05/11/for-a-few-demons-more/Sun, 11 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/11/for-a-few-demons-more/<blockquote> <p>There were no more choices, no more options, no more clever ways out of a tough situation. And the rush, I realized in a brutal wash of despair, is a false god I’ve chased my entire life. One that cost me everything in the blind search for sensation. My entire existence amounted to nothing.</p></blockquote> <p>That title is not a lie&hellip;</p> <p>Not just Algaliarept (Al &#x1f604;) this time around. We also are introduced to Newt&ndash;just sort of pops in and shows off some serious magical chops&hellip; and then reveals that she&rsquo;s not entirely sane any more. Mildly terrifying that. Plus Minias, her minder, who actually seems decent&ndash;for a demon. Rachel is getting in pretty hard with all of these different favors owed (both ways). Makes for quite the story.</p> <p>On top of that Trent&rsquo;s getting married. And Rachel&rsquo;s not only invited&hellip; but in the wedding party? Well, actually it&rsquo;s to provide security (hint: demons). But of course any time you put Trent and Rachel together there&rsquo;s going to be trouble.</p> <p>And if <em>that</em> wasn&rsquo;t enough&hellip; we have even more vampire trouble. Rachel and Ivy are such a mess&ndash;and that one really can&rsquo;t last too many more books. One step forward&ndash;and another two back. And Kisten. Oh Kisten. Still not a good person, but perhaps good for Rachel? <span class="spoiler">Oh Harrison, *that* was a low blow.</span> </p> <blockquote> <p>I’ve got your back. Nothing alive will ever hurt you if I have breath in me. And nothing dead will hurt you if I don’t.</p></blockquote> <p>Man that&rsquo;s a story. Probably the most intense so far. I fully expect (and hope) that this really shakes up the world of the Hollows and I&rsquo;m curious where in the <em>world</em> we can go from here.</p> <p>Onward!</p>Sorcery and Small Magicshttps://blog.jverkamp.com/2025/05/06/sorcery-and-small-magics/Tue, 06 May 2025 00:00:00 +0000https://blog.jverkamp.com/2025/05/06/sorcery-and-small-magics/<p>A world in which magic is split between those who can write spells and those who can cast them.</p> <p>A forbidden spell gone horribly wrong.</p> <p>And a quest to try to undo it.</p> <p>It&rsquo;s actually a really fun story. I enjoyed the magic school aspects of it and it had a nice whimsical <em>magical</em> feeling to the magic that you don&rsquo;t always see, even in fantasy novels. Once we get out of the school, we see more of the hidden, dangerous parts of the world, driving more to the fantastical&ndash;and deadly.</p> <p>On another tack, this book is tagged romance and LBGT. If anything, it&rsquo;s more of magical adventure story with the first hints of what could turn out to be romance&ndash;but not in this book. It&rsquo;s an interesting thread woven through the story&ndash;especially in how it&rsquo;s interacting with aforementioned forbidden spell.</p> <p>Characterwise, the interplay between our main characters&ndash;Leo (writer, POV) and Grimm (caster) is fascinating. Leo&rsquo;s family is rich, Grimm&rsquo;s is not. Leo is born talented and refuses to apply himself; Grimm has worked <em>hard</em> to get where he is and it shows.</p> <p>That dynamic drives the entire story and it, as much as anything, is why I&rsquo;d love to see where the story goes in the (hopefully coming soon?) sequel. It&rsquo;s a well enough wrapped up story, but oh, it&rsquo;s one of those where I want to see what happens next!</p> <p>Well worth a read.</p> <p>Onward!</p>The Once and Future Witcheshttps://blog.jverkamp.com/2025/04/29/the-once-and-future-witches/Tue, 29 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/29/the-once-and-future-witches/<blockquote> <p>One witch you can laugh at. Three you can burn. But what do you do with a hundred?</p></blockquote> <p>The Eastwood sisters grew up hard, with a mother dead in childbirth and an abusive father. The older lost as they could and the younger left in a somewhat more&hellip; <em>abrupt</em> manner. And then, somehow, they all ended up at the same suffrage rally.</p> <p>James Juniper. Maiden.</p> <p>Agnes Amaranth. Mother.</p> <p>Beatrice Belladonna. Crone.</p> <p>It&rsquo;s a fascinating tale, digging into women&rsquo;s right (suffrage and otherwise), race, homophobia, and sexuality told in an alternate history end of the 1800s, all wrapped a world where witches are <em>real</em>. Where magic lies waiting. And where women&rsquo;s tales have <em>power</em>.</p> <blockquote> <p>All of us grew up on stories of wicked witches. The villages they cursed, the plagues they brewed. We need to show people what else we have to offer, give them better stories.</p></blockquote> <p>I&rsquo;m by no means an expert on the time period, so I&rsquo;ve no idea how much of the characters and events of the stories have a basis in our world, but it has the feel of a world that could very well have been real&ndash;something in the world just down the road.</p> <blockquote> <p>Or perhaps for all of them: for the little girls thrown in cellars and the grown women sent to workhouses, the mothers who shouldn’t have died and the witches who shouldn’t have burned. For all the women punished merely for wanting what they shouldn’t.</p></blockquote> <p>I quite enjoyed this book!</p>Night at the Museumhttps://blog.jverkamp.com/2025/04/26/night-at-the-museum/Sat, 26 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/26/night-at-the-museum/<p>Another on that list of movies I&rsquo;m a little surprised I&rsquo;d never seen before&ndash;yet I&rsquo;ve seen enough random clips on YouTube shorts at this point that I feel like I have.</p> <p>(Side note: This also came back to mind since Ben Stiller wrote a good amount of <a href="https://blog.jverkamp.com/reviews/series/severance/">Severance</a> of all things.)</p> <p>In any case, it&rsquo;s a ridiculous and fun movie. The whole premise&ndash;that a magical artifact somehow animates all the exhibits at the museum every night&ndash;yet somehow no one has ever noticed this? Doesn&rsquo;t make the list bit of sense. But that doesn&rsquo;t make it any less fun!</p> <blockquote> <p>Easter Island Head: HEY!<br> [pauses]<br> Easter Island Head: Dum-dum.<br> Larry: Yes?<br> Easter Island Head: You give me gum-gum!<br> Larry: I give you gum-gum?<br> Easter Island Head: You new Dum-dum. You give me gum-gum.<br> Larry: Gee, okay, you know what? I have no gum-gum. Sorry. And my name isn&rsquo;t Dum-dum. My name&rsquo;s Larry.<br> Easter Island Head: No, your name Dum-dum.<br> [some people are running away]<br> Easter Island Head: Oh, you in trouble, Dum-dum. You better run-run. From Attila the Hun-hun.<br> [Attila yells and chases Larry]<br> Easter Island Head: See you later, Dum-dum!</p></blockquote> <p>There are a lot of fun action scenes in the movie. Just don&rsquo;t think about it all too hard and enjoy the ride. I especially loved the chaos of the dioramas of thousands of tiny men come to life and fighting one another. &#x1f604;</p> <blockquote> <p>Jedediah: No problemo, Gigantor.<br> Larry: Um, my name&rsquo;s Larry, first of all okay, Jed? See, I call you Jed, I don&rsquo;t call you tiny, right?<br> Jedediah: What&rsquo;s that supposed to mean?<br> Larry: Hey teeny, how does that sound?<br> Jedediah: I&hellip; I don&rsquo;t like it. It hurts my feelings.<br> Larry: Okay, well Gigantor makes me feel like some sort of freak.<br> Octavius: I don&rsquo;t. I just call you Larry.<br> Larry: Don&rsquo;t be a kiss-ass.</p></blockquote> <p>The casting in this movie is a big strength! Dick Van Dyke was a lot of fun as old former night watchman Cecil. Robin Williams (RIP :sad:) is always a delight and his Teddy Roosevelt was no exception. Rami Malek is certainly no <a href="https://blog.jverkamp.com/reviews/series/mr.-robot/">Mr. Robot</a>, but he&rsquo;s got a perfect presence as Ahkmenrah. And Steve Coogan as Octavius and Owen Wilson&rsquo;s Jedediah were hilarious (especially since the latter was originally a minor cameo).</p> <p>And you know? Apparently &lsquo;The real-life American Museum of Natural History had 20% more visitors during the holiday season following this movie&rsquo;s opening.&rsquo; So good on them!</p> <p>Now the sequels? No idea where they go from here, but you know what? Worth a try!</p>Indiana Jones and the Kingdom of the Crystal Skullhttps://blog.jverkamp.com/2025/04/25/indiana-jones-and-the-kingdom-of-the-crystal-skull/Fri, 25 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/25/indiana-jones-and-the-kingdom-of-the-crystal-skull/<p>Man <a href="https://blog.jverkamp.com/2025/04/19/indiana-jones-and-the-last-crusade/">Indiana Jones and the Last Crusade</a> was such a good movie.</p> <p>And then they made another one.</p> <p>Honestly, it&rsquo;s not as bad as I remembered.</p> <p>Harrison Jones isn&rsquo;t getting younger&hellip; but he still really makes Indiana Jones. Full stop.</p> <p>I bet they were expecting this film (and especially Shia LeBeouf&rsquo;s Mutt) to go better and possibly pass the torch. It was an echo of the same dynamic as Indy and his father in The Last Crusade. Just not quite done as well.</p> <p>It was kind of fun to see the Soviets be the bad guys this time around and it more or less fits this new, older Indy.</p> <blockquote> <p>Dean Charles Stanforth: I barely recognize this country anymore. The government&rsquo;s got us seeing Communists in our soup. When the hysteria reaches academia, I guess it&rsquo;s time to call it a career.</p></blockquote> <p>On top of that, seeing Karen Allen&rsquo;s Marion Ravenwood again after all these years? And with the obvious fallout of that? That was more fun than I expected.</p> <p>And man. Cate Blanchett act the heck out of that role. But still, she just wasn&rsquo;t as much a villain as previous films.</p> <p>And of course&ndash;the action scenes. A bit more over the top than previous movies? Do you even <em>remember</em> the roller coaster mine cart of <a href="https://blog.jverkamp.com/2025/03/04/indiana-jones-and-the-temple-of-doom/">Indiana Jones and the Temple of Doom</a>?</p> <p>I enjoyed the opening in the warehouse. The nuclear bomb-fridge scene has been talked about to death. The motorcycle chase (through the library!) was a lot of fun.</p> <blockquote> <p>Indiana Jones: You want to be a good archaeologist&hellip;<br> [Mutt drives them out of the building on his motorcycle]<br> Indiana Jones: &hellip; you&rsquo;ve got to get out of the library!</p></blockquote> <p>The jungle fight between the jeeps was pretty cool&ndash;but the Tarzan bits? a bit much&hellip; The temple was technically neat, even if it didn&rsquo;t make much sense. And the <span class="spoiler">alien</span> finale wasn&rsquo;t really that much weirder than centuries old knights and Nazi face melting artifacts.</p> <p>Overall, I think I&rsquo;d place it above Temple of Doom, but below Raiders and the Last Crusade. A fun action flick and&ndash;not as bad as I initially thought.</p>Severance: Season 1https://blog.jverkamp.com/2025/04/25/severance-season-1/Fri, 25 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/25/severance-season-1/<p>Well, that&rsquo;s quite a show.</p> <p>At first glance, the idea is appealing. You split your memories so that you can go to work, get paid, and essentially spend your entire life <em>not at work</em>.</p> <p>But then you start to think about this other you.</p> <p>They never leave.</p> <p>They never sleep.</p> <p>They never have a life outside of work.</p> <p>And that&ndash;is terrifying enough even before you start getting into the whole cult&rsquo;y aspects. And the hallways. And the goats.</p> <p>I have no idea where they&rsquo;re going&ndash;(I hope they know)&ndash;but I&rsquo;m looking forward to it. Onward!</p>Solving Woodwormhttps://blog.jverkamp.com/2025/04/21/solving-woodworm/Mon, 21 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/21/solving-woodworm/<p>Woodworm is a cute little <a href="https://www.lexaloffle.com/pico-8.php" target="_blank" rel="noopener">PICO-8</a> puzzle game about a cute little worm&hellip; that eats wood. You can play it for free right now <a href="https://spratt.itch.io/woodworm" target="_blank" rel="noopener">right here</a>!</p> <p>The goal is to turn this:</p> <p><img src="level-1.png" alt="Level 1, before solving"></p> <p>Into this:</p> <p><img src="level-1-solved.png" alt="Level 1, after solving"></p> <p>There are a few rules to keep in mind:</p> <ul> <li> <p>The block (and the worm) are affected by gravity</p> </li> <li> <p>The block can be split by into multiple pieces by eating it completely apart</p> <p><img src="gravity.png" alt="Demonstrating gravity"></p> </li> <li> <p>The worm can crawl up the side of blocks, so long as two (consecutive) segments of the worm are touching walls</p> <p><img src="climbing.png" alt="Demonstrating climbing"></p> </li> </ul> <p>And that&rsquo;s really it.</p> <p>So let&rsquo;s solve it!</p>A Fistful of Charmshttps://blog.jverkamp.com/2025/04/19/a-fistful-of-charms/Sat, 19 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/19/a-fistful-of-charms/<p>Okay, enough vampire/demon nonsense for a moment, let&rsquo;s talk about weres.</p> <blockquote> <p>As the joke goes, you don’t have to be faster than the wolf chasing you, just faster than everyone else running away.</p></blockquote> <p>Turns out that trying to get letter-of-the-law against multiple packs of werewolves has consequences. For everyone involved.</p> <p>Nick&hellip; is a real piece of work. I will grant him the one small saving grace that he (along with most of the world) thought Rachel dead as part of <a href="https://blog.jverkamp.com/2025/04/14/every-which-way-but-dead/">Every Which Way But Dead</a><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>&hellip; but that doesn&rsquo;t make him any better a person. At least Rachel eventually realizes it? Sort of. Mostly. Ish.</p> <p>Rachel and Ivy&hellip; come to a serious head in this book. Which went about as badly as I expected. I do wish the best for Ivy, but she certainly doesn&rsquo;t make that easy at times and Rachel is <em>not</em> helping matters here.</p> <p>It (among a number of other plotlines in these books) are yet a bit more of Rachel being so sure she&rsquo;s right and never quite taking responsibility for when that goes sidewise.</p> <p>Jenks? I am <em>so</em> glad to see him back again. The whole running off because of not being trusted last book, I get that. But Jenks is just so fun.</p> <blockquote> <p>&ldquo;Plan B?&rdquo; Ivy said. &ldquo;What is plan B?&rdquo;<br> Jenks reddened. &ldquo;Grab the fish and run like hell,&rdquo; he muttered, and I almost giggled.</p></blockquote> <p>And now there&rsquo;s a <em>whole lot more</em> Jenks. Which &hellip; kind of weird and I don&rsquo;t really get it. I do wonder if that&rsquo;s going to be a recurring theme or was a one off. Half-related, the entire premise that Pixies only live ~20 years and Jenks is just about there? I&rsquo;m not sure how to deal with this.</p> <p>Overall, a fun read and I appreciated a new set of problems. Onward!</p> <p>Side note: Trent&rsquo;s near complete absense was a bit strange. On one hand, it&rsquo;s not his flavor of nonsense going on this time around, so it makes sense. But on the other hand, we have crime and rare artifacts, I fully expected that to bring him in.</p>Indiana Jones and the Last Crusadehttps://blog.jverkamp.com/2025/04/19/indiana-jones-and-the-last-crusade/Sat, 19 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/19/indiana-jones-and-the-last-crusade/<p>Oh, that&rsquo;s my favorite of teh trilogy by a solid margin.</p> <p>It&rsquo;s great! All the way from the introduction with a young Indy. The introduction of the whip. The hat. His love of snakes.</p> <p>From there, we get a big world trotting mystery with some great action scenes&hellip;</p> <blockquote> <p>Are you crazy? Don&rsquo;t go between them.<br> Go between them, are you crazy?</p></blockquote> <p>&hellip;big archeological puzzles&hellip;</p> <blockquote> <p>But in the Latin alphabet, &ldquo;Jehovah&rdquo; begins with an &ldquo;I&rdquo;.</p></blockquote> <p>&hellip;the dynamic between Indy and his father&hellip;</p> <blockquote> <p>I suddenly remembered my Charlemagne. Let my armies be the rocks and the trees and the birds in the sky.</p></blockquote> <p>&hellip;Nazis&hellip;</p> <blockquote> <p>I hate these guys.</p></blockquote> <p>&hellip;and a big supernatural finale.</p> <blockquote> <p>He choose&hellip; poorly.</p></blockquote> <p>Oh it&rsquo;s a wonderful movie.</p> <p>Watch it!</p> <p>Which of course means <a href="https://blog.jverkamp.com/2025/04/25/indiana-jones-and-the-kingdom-of-the-crystal-skull/">Indiana Jones and the Kingdom of the Crystal Skull</a> is up next&hellip; hmm.</p>Every Which Way But Deadhttps://blog.jverkamp.com/2025/04/14/every-which-way-but-dead/Mon, 14 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/14/every-which-way-but-dead/<blockquote> <p>And oh, that climax. This is most certainly going to come back and bite Rachel. But honestly, what other choice did she even have?</p> <p>&ndash; me, re: <a href="https://blog.jverkamp.com/2025/04/08/the-good-the-bad-and-the-undead/">The Good, the Bad, and the Undead</a></p></blockquote> <p>Yup.</p> <p>All that vampire/demon business of the previous book? Causing all sorts of chaos this time around.</p> <p>Rachel, remaining entirely <em>absolutely sure she is right about everything to the detriment of everyone around her</em>? Also chaos-causing.</p> <p>Nick-trauma and Rachel not realizing that &rsquo;thing never done before&rsquo; was causing some serious issues? Chaos.</p> <p>Nick is out of town, so totally platonic date with Kristen<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>. Who apparently has murdered people, because&hellip; duh? Vampire?<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, but he promised not to do it anymore. Chaos.</p> <p>I do appreciate seeing Demon Al as an actual <em>demon</em>. Holding a prisoner for a thousand years. I&rsquo;m just waiting for an attempted redemption arc there, but as it is it <em>feels good</em> when Rachel gets one over on him. And Ceri has some interesting potential.</p> <p>Oh these books. Onwards!</p>The Good, the Bad, and the Undeadhttps://blog.jverkamp.com/2025/04/08/the-good-the-bad-and-the-undead/Tue, 08 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/08/the-good-the-bad-and-the-undead/<p>And away we go!</p> <p>Where <a href="https://blog.jverkamp.com/2025/04/02/dead-witch-walking/">Dead Witch Walking</a> set up the world, it&rsquo;s here where we really start setting up Rachel Morgan and go as investigators in their own right. And of course, they&rsquo;ve stumbled right into a serial killer targeting leyline witches. Good times that.</p> <p>There is quite the cast of characters this time around. Trent Kamalack is back and as morally &rsquo;totally morally gray, but maybe for good reasons&rsquo; kind of person&ndash;and we do get to learn the what/why he is, which is neat.</p> <blockquote> <p>“Come work for me, and I’ll tell you.”<br> My eyes went to his. “You are a thief, a cheat, a murderer, and a not-nice man,” I said calmly. “I don’t like you.”<br> He shrugged, the motion making him look utterly harmless. “I’m not a thief,” he said. “And I don’t mind manipulating you into working for me when I need it.” He smiled, showing me perfect teeth. “I enjoy it, actually.”</p></blockquote> <p>Head local vamp Piscary is scary and understated. Rachel&rsquo;s mother is wacky. Her father&hellip; had secrets. And Nick&hellip; well, I&rsquo;m happy if Rachel is happy, but that is so not going to go well.</p> <p>Worldbuildingwise, getting more into what exactly layline magic is, how demons work in this world (parallel reality that&rsquo;s not <em>really</em> Hell go!), how these vampires are different, and more &lsquo;humans are terrified of tomatoes&rsquo; than you can shake a stick at. It&rsquo;s a fun world and I always like seeing how many different ways you can turn common tropes.</p> <p>On another hand&hellip; man Rachel is kind of an idiot sometimes. She&rsquo;s so absolutely sure shre&rsquo;s right even when <em>everyone</em> around her is trying to get her see the truth. Oy that was frustrating. One would htink that trying to set out on her own would make her a little more risk averse&ndash;but I suppose that&rsquo;s not in the cards.</p> <p>And oh, that climax. This is most certainly going to come back and bite Rachel. But honestly, what other choice did she even have?</p> <p>Overall, it&rsquo;s a fun series and I&rsquo;m happy to keep going. Onward!</p>Lies Sleepinghttps://blog.jverkamp.com/2025/04/05/lies-sleeping/Sat, 05 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/05/lies-sleeping/<p>The Faceless Man on the run&ndash;and trying to ring in<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> some new form of chaos to bring London to its knees.</p> <p>Along the way, we&rsquo;ll bump into new characters and, even better, fill in a few more holes in the histories of others. Each step we get closer to Molly&rsquo;s tale is well appreciated.</p> <p>And man. Lesley has some trauma to work through. I love the fact that she&rsquo;s not completely evil and off the deep end, but trying desperately (in her own way) to do the right thing.</p>Dead Witch Walkinghttps://blog.jverkamp.com/2025/04/02/dead-witch-walking/Wed, 02 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/02/dead-witch-walking/<blockquote> <p>Making a spell is easy. It&rsquo;s trusting you did it right that&rsquo;s hard.</p></blockquote> <p>Another new (to me) urban fantasy in a &rsquo;the supernatural world has been made public&rsquo; world? Yes please!</p> <p>This time around, we have Rachel a witch and, as of the start of the story, bounty hunter. Frustrated with her job, she decides to quit.</p> <blockquote> <p>I sighed. I hated the maze of bureaucracy with a passion, but I&rsquo;ve found the best way to deal with it is to smile and act stupid. That way, no one gets confused.</p></blockquote> <p>And in this world, you just <em>don&rsquo;t do that</em>. So now she&rsquo;s gone from bounty hunter to having a price oh <em>her</em> head, backed only by her friend(ish) and former co-worker, living Vamp Ivy and Jenks<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, a four-inch tall pixie.</p> <p>If that wasn&rsquo;t enough, she&rsquo;s also stumbling into a super natural drug trade, a whole rat fighting ring (from impressively up close and personal), and summoned demons.</p> <p>Rachel is a lot of fun. Perfectly competent and willing to fight for it, even if things don&rsquo;t always go right. I enjoy Ivy, even if she&rsquo;s still mostly closed off through this book. Room to grow. And Jenks is hilarious. &ldquo;You think my kids just popped out of the ground?&rdquo; and all.</p> <p>The worldbuilding is a lot of fun. I always like trying to figure out what&rsquo;s diffrerent about this particular urban fntasty world and there is plenty of that here. Born vampires&ndash;<em>living</em> and only turning more traditional after death. Pixies and fairies, running their own smaller scale wars over garden space. Genetic engineering run amuck&ndash;leading to a perfectly reasonable fear of tomatoes.</p> <p>It&rsquo;s quite a a world.</p> <p>And it&rsquo;s fun to have the main character be a witch. I&rsquo;m not entirely certain how much of a witch&rsquo;s magic is natural versus learned just yet, but mostly human magic user is always a fun point of view.</p> <p>So far I&rsquo;m cautiously optimistic. I do love a good urban fantasy. It&rsquo;s a fun world (with openly acknowledged supernatural characters!) with fun characters and a lot of room to grow. And grow it did&ndash;with 18 out as of now<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>.</p> <p>Onward!</p>Taskmaster Australia: Series 2https://blog.jverkamp.com/2025/04/02/taskmaster-australia-series-2/Wed, 02 Apr 2025 00:00:00 +0000https://blog.jverkamp.com/2025/04/02/taskmaster-australia-series-2/<p>I have no idea how I ended up watching season 2 of Taskmaster Australia before Season 1, but go with it! It&rsquo;s not like there&rsquo;s <em>that</em> much of an overarching plot between seasons that you have to keep up with.</p> <p>And man, this is a fun bit. Another series, another Taskmaster! And another assistant!</p> <p>Tom (Gleeson). And lesser Tom (Cashman) are a lot of fun together. I love that lesser Tom can never keep a straight face when teh contestants screw up. It&rsquo;s delightful.</p> <p>And oh the cast was a lot of fun. Anne and Lloyd as a couple on the show together made for some great moments. Wil and Tom being old friends is a dynamic we&rsquo;ve seen before in the British version but it&rsquo;s always fun. Josh was quite a wildcard at times. And Jenny was one of the reasons I came to this version of the show&ndash;I&rsquo;ve seen her acts on YouTube before and she&rsquo;s a wonderfully weird mix and has a lot of those &lsquo;young enough to make the other contestants feel old&rsquo; moments.</p> <p>Overall, another great season of Taskmaster. I&rsquo;m going to have to catch more of the Australian version! LIke season 1 &#x1f604;.</p> <p>Love it.</p> <p>Onward!</p>