Peregrine Lake – A Weekly Webcomic Written by Trae Dorn and Drawn by Ethan Flanagan

A Northwoods Gothic
  • Home
  • About
  • Characters
  • Archives
  • UnCONventional
  • Merch
  • Pre-Order Book 1!
  • RSS

Pre-order Book One!

Pre-Order Peregrine Lake Book 1

Convention Schedule!

Trae @ Cons:

  • Evercon
    Mar 6-8, 2026
    Wausau, WI
     
  • UWEC-Barron County GEEKCon
    Apr 25, 2026
    Rice Lake, WI
     
  • No Brand Con
    May 1-3, 2026
    Eau Claire, WI
     
  • Big Minneapolis Anime
    Aug 8-9, 2026
    Minneapolis, MN
     
  • Eau Claire Comic Con
    Sep 12, 2026
    Eau Claire, WI
     
  • Booked Eau Claire
    Sep 18-19, 2026
    Eau Claire, WI

Ethan @ Cons:

  • Evercon
    Mar 6-8, 2026
    Wausau, WI
     
  • No Brand Con
    May 1-3, 2026
    Eau Claire, WI
     
  • Big Minneapolis Anime
    Aug 8-9, 2026
    Minneapolis, MN
Buy Trae's Books

A New Book Trailer for the Mia Graves Saga

by Trae Dorn on January 5, 2026 at 11:36 am
Posted In: Blog



It’s been a while since I put out a series-wide book trailer for my contemporary/urban fantasy series the Mia Graves Saga, so it seemed about time I do an updated one.

As you may have noticed, I say book 5, The Perfect Host, should be out later this year. I’m deep into writing it, and I am determined to have this finished, edited, and ready this year. After book five, I’m probably going to take a break from the series to write some other stuff. It’s going to mark kind of a good breaking point — a satisfying place for the series to end, but I do have ideas for more books in the series if I want to pick the ball back up again.

And anyone who knows me knows I’m not going to leave characters I like this much alone for long.

Honestly, I genuinely love writing these books. I know it took me longer than normal to get Buried Memories out the door, but overall it’s fun getting into the heads of these characters. I don’t know how many I’ll write in the end, but as long as there are more stories to tell in Parrish Mills, I’m going to keep doing them.

I just want to write some other stuff too.

View Comments

Modifying zFeeder 1.6 to Run on PHP8

by Trae Dorn on January 2, 2026 at 12:52 pm
Posted In: Blog

So I don’t make a lot of code nerd posts on this blog, but it’s mostly because I am, frankly, not that great a programmer. I like to describe myself as “experienced enough to only break things in weird ways no one expected.” But a lot of my website is run on stupid code that’s just me mucking about until I stumble on a solution, and sometimes I’m looking for a resource online which doesn’t seem to exist.

One of the random scripts I still use is called zFeeder 1.6. It’s an RSS reader, and it’s how I include the most recent Peregrine Lake comic on the front page of TraeDorn.com/TRHOnline.com and a few other things. Now, it’s not a perfect script since it was literally abandoned by its creator like 20 years ago (and there’s an exploit in the admin page — where my solution was to just delete the admin scripts and manage the thing through direct backend file modifications). Importantly though, as written, it doesn’t run on anything more recent than PHP5. And in 2026, you shouldn’t still be running PHP5.

So I needed to fix it.

And let me be clear: I’m not writing this because I think you should use it zFeeder. It’s old as hell, and there are modern solutions to building a script that reads RSS feeds. I’m writing this because someone might already be using it, and might want to keep using it.

And fixing the script so it runs on PHP8 is so fucking easy it would be insane not to document it. There are literally only two code changes you need to make to get the script to run. Just two.

First off, open “zfeeder.php” and just delete this line:

set_magic_quotes_runtime(0);

Magic quotes hasn’t been really a needed thing since PHP4, and starting with PHP7 it’s been removed entirely — so it will literally break any script.

Next, open “includes/zfuncs.php” and find the following function:

function url2file($url)

{

return(ereg_replace(“[^[:alnum:]]”, “_”, $url) . ‘.xml’);

}

In newer versions of PHP, ereg has been replaced with preg, and you just need to replace the function with this:

function url2file($url)

{

return(preg_replace(“/[^[:alnum:]]/”, “_”, $url) . ‘.xml’);

}

That’s it. That’s literally the whole thing. With those two modifications, zFeeder 1.6 should run fine on PHP7 and PHP8.

And also, remove your admin scripts if you haven’t already, okay?

View Comments

Reflections on the Past

by Trae Dorn on December 30, 2025 at 10:46 am
Posted In: Blog

As the year comes to an end yet again, I’ve ended up reflecting a lot not just on the last twelve months, but my past in general. Who I am, where I’ve been, and who I’ve brought with me.

When we were down in Milwaukee for Christmas, Crysta and I got dinner with Chris and his partner Sarah. I haven’t seen Chris in years, and it was the first time meeting someone that important in his life. It was nice — and frankly it’s been too long since we got together. Chris is arguably my oldest friend, he was the best man at my wedding, and even though it had been ages since we got together, talking to him always feels like no time has passed. We’re both awful at keeping in touch, so it’s nice to be reminded that the connection we have is still there and easily rekindled.

And we’re both going to try to be better about, like, actually talking to each other.

Coincidentally, I separately ended up in a conversation with another good friend about a person we used to both be close to the other night. I could have sworn that I wrote a blog post about this at some point, but for the life of me I can’t find it. Maybe it was on a social media platform, but it doesn’t matter really. The friend I was talking to the other day was talking about how she wanted to reconnect with this person who is now far removed from both of our lives.

She in part removed him by choice, but me not so much.

This person had been a close creative collaborator with me, and how he chose to make his exit from my life has always been something of a sore spot. My friend wanted to reconnect with him because she missed him though, but apparently he doesn’t want to talk to her.

For like the dumbest, most childish fucking reason I’ve ever heard.

So finally, after learning some more details about what happened between those two, with over fifteen years in the rear view, I’m finally at peace with what happened. Frankly I think I might significantly better off to not have had this person in my life, and maybe I should count my blessings that things ended when they did. Who knows what passive aggressive landmines I narrowly avoided.

There’s also a lesson here I think. If someone is important to you, and they reach out, you’ll answer. Distance and time don’t matter when people decide they want to reconnect, and when both people value a relationship it’s as easy as sitting down together again and sharing a meal.

We have limited time on this planet. My grandmother died earlier this year, and my cousin just a few weeks ago. There is a finite amount of moments we’ll spend with the people we care about, and we should value each one we get to share. If someone doesn’t value making a connection with you, then maybe they weren’t worthy of your time to begin with. I don’t know. It made sense to me at the time.

Oh, and you can go fuck yourself, Matt.

View Comments

Peregrine Lake is Doing Another Holiday Bonus Event!

by Trae Dorn on December 21, 2025 at 4:05 am
Posted In: Blog

Just a little announcement today regarding Peregrine Lake and the update schedule for the next two weeks. Last year, we did a flashback story called The Move where we saw a brief little tale of how Lynn and Megan moved from Eau De Puanteur, WI to Peregrine Lake, WI drawn by me instead of Ethan. It was just a fun little bridging tale between the new comic and UnCONventional. The idea was that The Move was a bonus story for the forthcoming print collection (which will be out early 2026), and it was quietly removed from the website in November.

Well, we decided to do that again this year.

For the next two weeks, Peregrine Lake will update on Tuesday and Thursday with a little story called The Interview. This time we’re seeing how Megan got hired at the diner. Like The Move this will be ephemeral — staying on the website through November 2026. This one will be destined for the second print collection eventually.

So enjoy the tale! Put up with my art! And the comic will resume as normal on January 6th.

View Comments

Our Cyberpunk Present.

by Trae Dorn on December 17, 2025 at 9:36 am
Posted In: Blog

Fifteen years ago today I wrote a blog post title “We’re Living in a Cyberpunk Novel,” and it was when I had the dawning realization that so much of our world felt like it was ripped straight out of a William Gibson novel. At the time I was looking at the current headlines and the state of technology, and it was really clear the way the world was going.

Well, uh, it got worse?

Like as we bring 2025 to a close, we see less corporate regulation, the attempted dismantlement of our democracy in favor of oligarchy, the weird, broken state of social networking, and the complete digital chaos of the future of the free and open web. Like elections are affected by social manipulation through digital platforms, and billionaires harvest our data through the control of online spaces. Massive amounts of money are being spent on data centers that poison the environment so you can do “research” (and sext) with a supposed “AI” that makes shit up constantly.

And we all use Amazon Prime.

It’s not great. And while when I wrote that original post fifteen years ago these observations felt novel, today they seem obvious and mundane. Like as we are fully immersed in late stage capitalism, it’s hard not to notice how bad things have gotten. And to be fair, since speculative fiction is far more often an observation of the present than a prediction of the future, it’s pretty obvious we didn’t have to go that far to get here. It doesn’t mean I have to like it.

Now obviously we need to fix the structural issues in our society and fight back against the pending environmental apocalypse, but, like, you probably already knew that if you’re reading this. The problem I’m having right now is that we’re stuck in a cyberpunk dystopia and some of y’all are still wearing khakis.

Like if I’m going to be stuck living in a pulp story, we should at least get the cool ass aesthetics to go with it. Like I know I’ve clearly embraced this world in my workspace, but we should be going for it in our homes, our fashion, just everything. Like everyone should be going full weirdo, regardless of what age you are. If we’re all carrying devices that let corporations track our location and listen in on our conversations everywhere, we should at the very least be dressing like it.

I don’t know where I’m going with this. I wanted a space opera future, not a cyberpunk one, but this is the one we’re living in.

Now where’s my god damn flying car.

Also maybe buy my new book Buried Memories, book four in the Mia Graves Saga. It’s queer urban fantasy and not cyberpunk, but you’ll probably still like it.

View Comments

  • Page 3 of 23
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • Last »

About the Comic:

Peregrine Lake is a weekly webcomic written by Trae Dorn and drawn by Ethan Flanagan. Updates every Tuesday.

March 2026
S M T W T F S
« Feb    
1234567
891011121314
15161718192021
22232425262728
293031  

Follow Peregrine Lake:

facebook
RSS

Follow Trae Dorn:

twitter
tumblr
TikTok
Threads
Patreon
Trae's website

Follow Ethan Flanagan:

twitter
tumblr
Kofi
twitter
Nerd & Tie
Nerd & Tie[dot]Social Forums
Trae Dorn Productions

©2019-2026 Trae Dorn and Ethan Flanagan | Powered by WordPress with ComicPress | Subscribe: RSS | Back to Top ↑