Can you believe we're halfway through the year already?
I'm in one of those dry spells with the journal right now where I'm not particularly into updating it. I should get back into it; lots has been going on. I guess it's the pileup that makes it overwhelming. Let's do a roundup quick with the last two hours of the month.
nofi
nofi is complete! I just need to draw a bunch more Alexis for it and it'll be finished. As of right now, though, all the pages are in place and they work great on Netscape 3.0. Your favorite retro browser will love it too. Perhaps I can convince Oliver to let it and cammy.somnol on Protoweb as passthrough sites in the future.
On the topic of art, I'm a bit out of it with that as well. I keep seeing a much sketchier, pointier, proportionally strange, and maybe edgier version of my art style in my head. I really should experiment and branch out. I've done my time with making sure everything is nice and neat and cute. I have the confidence for more range now--plus when I get back to marfGH and GH modding in general, I'd like to be able to reillustrate all the menus, and something weirder is basically required for that game.
After months of searching
I finally have a job and training days lined up! I went back to selling beer and wine because it was easy, and this one paid better than the previous supermarket. I just had my first beers of the year too (Wales trip notwithstanding)—I stocked up on some I wanted to try yesterday while I was in doing some online learning and getting my RAMP certification redone. I passed it in 40 minutes, natch.
By the third one or so, applying for jobs and doing the interview circuit becomes a lot less nerve-wracking. You know what to expect. A bad start seriously set me up for failure at Staples, and I was eager not to repeat it here. Plus, I've just gotten a lot better at talking to strangers and about myself thanks to all the traveling. Hopefully, I keep this one a little longer than six months, use it to finance some certs, some CDs, and another trip to Wales in 2025. Mostly I miss the momentum. Money appearing in your bank account makes a man feel mighty accomplished.
The big loss
Six months of seeing how much weight I could lose is finally over! I was never huge or anything, but ten pounds overweight towards the start of this year, and after finding myself devouring an entire chocolate bar in one go over Christmas, I figured that wasn't healthy. Weight loss is a lot like marriage to me, in that I didn't think either was particularly possible in real life. Not that I thought they were impossible—just that I didn't know anyone who'd pulled off either one. Still, I was curious how much I could lose, so I cut out all snacks and drinks other than water, and when it got warm enough, I started walking more regularly. You know Dry January? Same concept. Call it Junkless January.
Six months later, I end off the experiment at 155lbs. I started at 180, so call it 25lbs lost. I'm endlessly pleased. I dropped an entire clothing size, basically. My work clothes and shorts are both so much bigger on me now. The shirts I used to squish into, much less so now. Looking back, I'm not surprised I got that big. The aforementioned way I'd devour candy, the way I'd pair alcohol with chips, the way I'd have chips, candy, and booze in the same night—like yeah, you'll gain a little like that.
The good news is that you don't really have to quit anything, just take it slower. Only have one unhealthy thing a day and don't make it the entire bag of chips, and it's pretty easy not to gain it all back. In the past week, I've had milkshakes, cookies, and beer, and I haven't gained anything, so I think the next six months of maintaining this weight will be pretty simple stuff. If I do get above 165 or so again, I'll just start cutting back again—and I might do Junkless January every year as a respite from all the Christmas sweets.
Turning 25 and shifting priorities
Earlier this year, I posted a journal entry about people's reaction to the spy.pet stuff and how alienated I felt from the reactions of the Internet at large. I thought it was about that, but as that fades from memory and yet some of those feelings of detachment still linger, I'm beginning to think I just don't care about making things for other people to see anymore.
Well into my 20s, I joined Discords and forums partially with the intent of finding community and a place to chat, but admittedly, also partially to get people to gawk at my stuff. It used to be, way way long ago now, that I wanted the attention and the validation, being a teenager starved of that stuff by Brianna mostly, and even when I stopped needing that and started growing into myself as a person, it just became habit—and also that it's nice to hear other people like your stuff.
I'm starting to see people I know who are getting older like me and still clinging to this thing of "Internet people need to love me", wanting to have a known name, wanting to be popular, wanting to make money on their stuff despite having literally no actual wares of value to anybody. It just looks weird and desperate as you get older, and it's totally turned me off doing that. Having people appreciate my stuff is still nice, obviously, but they do that anyway, even though I'm a nobody. I get the nice emails, I get the compliments, and my tutorials for GH2 are still being linked out by MiloHax, even though marf bad.
I just want to make things for me, and if people find it and like it, that's great. If not, why should I chase them down? Why should I concern myself with seeking that out when I can just make stuff I find cool and people will come to me over the many many years I and Somnolescent will be around? I'll still have a bit of a public presence just because I like being social, but I'm there because I want to be there for what's going on, not because I need anyone to pay attention to me specifically.
Part of this is also that working on nofi has reminded me that I've done a lot. I think it's super cool to be up to so much, but I also don't need to build Rome every year. Again, it used to be insecurity, that I had to show just how much I'm capable of, but I think I've shown that now. Why can't I take things slower? Now that I've traveled and now that I've been with Caby in person, I want more of that. I want to shore up my real life, keep the five year plan to Wales moving, take more day trips, work a job, stop worrying so much about creating a lot of pretty good things and more about making a few really fucking good things my heart is super into instead. And I have some ideas. I sure do.
Anyway, so I'm turning 25 soon. I should draw a Cammy for the occasion. He's a good dweeb.
Remember to close your tables right
Lots more work on nofi.mari.somnol has occurred since my last blog post! We're getting fairly close to having everything moved over from the old site—only the modding section really remains. Even better is that, with the stories and, in a bit, music sections implemented, this is actually not just more fully featured than mari@macintosh.garden was, it's actually everything I wanted on mari.somnol implemented. Like, that's it. I was pondering some kind of Web design gallery, showing off some of my favorite website designs I've done and acknowledging all these skills I've acquired in the past six years of being a webmaster, but that can be added later. Art would be nice to have on the site, but I'll leave that for when I can decide how I want to build that section. I just need the Alexi drawings after that (thinking little chibis would be best with the limited viewport space) and it's complete. Not basically—complete. Cammy has a portfolio site again, and one-third of the move is done.
PHP continues to be a curious mistress that treats me well for the most part. I spent today cleaning up the internals of the music recommendations page, better integrating PHP into the HTML (no more echo spam!) and adding logic to add the artist and album name to the title and page heading, depending on what you're looking at. I'm really happy with the language still. Basically everything I want to do with it, there's a really clean way to do it, even if that thing happens to be slightly esoteric. Great example: two-dimensional arrays (which are arrays inside arrays, if you're not a programmer—but if you aren't, you don't know what an array is anyway, so just hold tight). I figured, if I wanted to access the data in the inner array, I'd need to split it out into a separate array first and do my logic on that. Nope! You just add on a second key to the array variable address, like so:
$rows[0]["year"]
This accesses the year key inside the first array that's in the $rows array, which in my case, is the data being returned from the database. So in practice, that gives you the release year of the first album in the search results. It's that easy.
The only time I really get confused with PHP is when tables get involved. Browsers get really weird if you don't close your tables correctly. I had a bug early on where the table for the last artist in the list of artists and albums (currently, that's Wrong Way Driver, a side project of one of my favorite bands Pine Marten) was missing, but only in Netscape 4. Turns out, it was in the page source; Netscape was just not rendering it because it wasn't closed correctly. Yesterday, I had an issue with the game reviews page (no link yet because it's not working yet) where there was no table under the Game Boy Advance heading, and then the GBA table was appearing under the PlayStation heading, and everything else was moved down a console as well. After an hour of thlamming my penith in the car door, I discovered—yep, another table unclosed. (I had messed up my logic for building the tables programmatically. Happens.) I don't know why or how not closing a table right can make it appear somewhere else on the page, but thankfully, it's solved.
There's still a whole world of other stuff I'd like to do with PHP even after all this is done as well. The ACNES compatibility list page is currently being manually updated as I also update a Works database alongside it, and it probably takes me an extra ten minutes that I could absolutely automate. Export out a CSV, and then when you view that page, it reads the CSV and turns it into a page. I could take that CSV and put it into a MySQL database when I'm done and let you search games, or view games by their year (if I put that data in) or their working status. I'd like to finally get sleeby.art built at some point too! I have experience with all the base components, making database queries, displaying data, making thumbnails with ImageMagick—I'd just need to put it together with a login system. Like, I already own the domain, and Caby's been wanting this for years now. Years! I'll be at this coding thing for a while.
But yeah, I keep telling folks in Somnol how big of a relief it'll be to have a main site again. It's now been about three years since I last had mari.somnol in a usable state. For some of that time, it redirected to archives. For the rest, it's been parked. I don't like to make myself ever anything more than another member of Somnol generally, but mari.somnol kinda is and always has been the subdomain the entire site gravitates around, thanks to it being my group. It's weird not having that center there. It's weird not having a home base to catalog all my work at. cammy.somnol is adorable and I'd like to give that the care it deserves as well (and finally get Cammy on cammy.somnol), but it's not mari.somnol. It's not the site that's been here since the beginning.
Having it again, and seeing it come together again, and seeing it come together more powerful and using all these new technologies I learned just for this? Seeing how much less work I'll have to do to maintain it in the future because of all the database work I'm doing now? It really has reinvigorated my love of site building. I've been making websites since I was 6 years old. From the age I was old enough to comprehend what a computer was, the coolest thing in the world to me was having a website—and now I'm enjoying working on them again. Once it's all in place, I can go back to my writing and music and art full-time, with the ideal platform for it all right on my own domain. I can't think of much that'd make me happier.
Only took a year
So as I move further into getting nofi.mari.somnol filled out, I realize that I've been putting off a story section. Stories used to be a huge part of the mari.somnol stew, but it's been so long since I've written anything now that bringing stuff that old back feels a bit unflattering. I was still growing as a person and also just plain gaining confidence in my work. When you're scared of failing, you don't do things to the greatest extent you could have. You don't sing loud, you don't draw dynamic poses, you don't write eccentric, animated characters. I've had to learn that—and now I have! But I'm happy to leave the old stuff on archives. Like the mtlx EP for my music, I really oughta get some properly new writing that shows off what I'm capable of.
That leads me to a little thing you might remember if you're a longtime journal reader—Kevin and Theo's Multiverse Misadventure. For as long as Pennyverse has been around, it's funny that the first thing that got truly published from it was a post-main plot story after Kevin's left the trio. True to that post, I did rewrite the story and it did come out a hell of a lot better, and Caby is a machine as always, so she came up with about two dozen illustrations in four different art styles, across digital and traditional. Despite some bumps in the road with the printed hardcover copy (which is in a weird mix of American and British spellings due to oversight) and the promotional poster (which got printed at the wrong size and fucked with by one of Caby's tutors, the period was not optional, thank you), it all came out killer. We were super proud of it.
And then it just kinda sat next to us, unfortunately. I always had plans to make a Web version, but Caby never sent over the images. We wanted to refine the printing and do an on-demand thing for family, friends, and Internet folks who'd like to own some physical Caby art, but those plans never materialized.

So, this year, I'm making it official. I grabbed everything from her art files when I was over there in February and I've now got it up as the first story you see on nofi.mari.somnol. For those who remember reading stories on my old sites with the color-coded dialogue, that's all back. The images will be small on modern displays, but it's super comfortable at 800x600. This is basically as good as reading one of my stories on a website gets:

So, since none of you got to read it a year ago, if you want some new Cammy writing and a ton of unreleased Caby art, go check it out! I'm absolutely gonna be working with Caby, now that we're both fresh from having read all this again and being proud of it, to get an on-demand printing going of it in case you'd like to throw her some extra money for all the hard work. And, of course, lofi and hifi mari.somnol will have higher-quality art assets, custom fonts (I will bring Los Altos back as my dialogue font, don't you worry), and maybe even a printer-specific stylesheet because those sound fun. Lots of options!
Oh, and uh, new stories. I have a couple ideas for 'em, I just have to get to writing. And then illustrating, because it's hard to convince Internet people to stare at plain text.
What the hell? I like programming now?
Hello, journal people! I haven't really been updating this because there's kinda been a dearth of coherent Cammy updates. I can say I'm definitely doing better than my low point last month. No buts! Definitely feeling a lot better. It just hasn't resulted in a ton of stuff rolling off the line that I feel the urge to talk about.
Now, though, I have some. I return to my kingdom of webshit to discuss the thing that has reinvigorated my interest in making websites, and that's PHP. I fuckin' love PHP.
PHP was always one of those things I'd say I'd eventually get to learning, but I just never had a reason to actually go through with it. I was happy with my static HTML pages and using AutoSite if I needed any kind of automation. But then Protoweb came into the picture, and after seeing a Web page get put together in front of me, from HTML I wrote as a template and data from another file stuffed into it, I was suddenly awash with ideas for my own usage. Of course, Dreamhost Shared gives us the latest-and-greatest on both PHP and MySQL, which is basically all you need to write any sort of Web app.
PHP has been a lot of fun to work with. Stuff comes together with it really quickly. You can mix it with HTML in any form you'd like or need, PHP-in-HTML or HTML-in-PHP. It's got all the things you'd need to read from files, databases, and URLs built-in. Dreamhost installs the ImageMagick PHP extension for you, so you're covered for literally any kind of image manipulation, all done on the server. My favorite bit is undoubtedly the fact that everything is done on the server. JavaScript is a pain in the ass because old versions of it are supremely limited, and new versions obviously don't work on my target browsers most of the time. PHP? Functions introduced in the current version of it, 8.2 as I write this, work the same on Vivaldi and fuckin Netscape 3.0.
For a couple days, I was working on an art gallery. I wanted to be able to drop images into a folder and have them formatted nicely on a page on my site. That worked! I even got it generating thumbnails for me. I quickly realized that I was gonna need to rely on a database of some kind to have anything fancier and more involved, though, and I wasn't sure how well that all would scale if you were someone like Caby with tons of art to throw at the script. Instead, I'm gonna put the knowledge I gained from that into working on a RetroZilla-targeted Somnolescent art portal we can all post to. Caby's been wanting us to have our own Yerf for a couple years now, and dreams should really come true at least some of the time.

Today, I took the plunge into MySQL queries, building them, passing them along parameterized to a database server, and getting back usable information. I put all my old album reviews into a database table, and from just one script, I can list them out and read my reviews, in identical form to how they were as static HTML. Just as fast too. It's actually frankly more featureful than the static reviews were, because I can retrieve one review, an entire artist, an entire year, or every single album I've given a certain rating to. I can generate an RSS feed of new reviews. I still have to code in the easier way to add new reviews, since at the moment I'd have to poke them into the table on the backend to have them appear, but words cannot describe how excited I was seeing it all come together.

I've realized the import PHP could have on my rather insane goal to have three different mari.somnols for three different groups of browsers. Instead of having three different changelog pages I'd have to maintain individually, I just have my changelog in a CSV and then three PHP scripts. Update the CSV, and magically, the changes appear on all three sites. I did the same thing for my essay list. This isn't theoretical, I've implemented all this! I'm sure none of it's impressive to anyone who's worked on dynamic sites for a while now, but y'know, it's impressive to me. I'm used to maintaining static HTML pages, and now, I'm writing frontend and backend stuff. It's making perfect sense. It's coming together so quick! Admittedly, I forget semicolons about as often as I forgot to change all my tabs to spaces when I was working with Python, but having a reason, good reason, to flex my coding muscles has gotten me totally reinvigorated to work on my sites, especially since I find myself in a slight lull with art.
I'm gonna be sunsetting mari@macintosh.garden over the coming days. All the pages will remain there, but my new path forwards with mari.somnol has effectively necessitated my return. It was never meant to be permanent anyway, and some of the stuff I still have to add to mari@macintosh.garden, like my stories with Caby's illustrations, will probably fill up the remaining 20MB or so of my 100MB disk quota there. I think it's just time to come back home, and it's been a long time coming.
As I said, mari.somnol will be available in three flavors, nofi.mari.somnol, lofi.mari.somnol, and the normal "hifi" mari.somnol. nofi is aimed at ancient 90s browsers who can't reliably handle CSS; they get a zero-layout HTML 3.2 experience that's zippy and looks great at 800x600. lofi is aimed at slightly newer browsers (RetroZilla is my target, thereabouts) who work well with HTML4 Strict, probably two-column like mari_v3, but still no multimedia or client-side scripting outside of just linking to MP3s, and hifi will be where I go nuts, make it super modern, responsive, CSS grid, with a theme switcher to let you view the site in the garb of any website I've ever built. Each will have a different one of my sonas as the mascot to give each one an extra sprinkle of uniqueness, Alexi on nofi, Setter on lofi, and Cammy and mari on hifi. nofi is already partially built, as linked above. The other two will be completed sequentially once all nofi content is in place.
This is the solution to making one site work on all browsers. I'm pretty sure I am the only person crazy enough to put this together. If you know of anyone else, do let me know so I can make immediate friends with them.
I haven't been this excited to work on Web stuff in a while. I'm in the class of programmer that enjoys it, but needs a particularly good reason to write code, and a whole slew of reasons have fallen into my lap as of late. I'll keep you updated! Well, ideally. I always have the best intentions.
Cammy returns with a new Quake level out of nowhere!
Ah, it feels good to be busy again. I said I'd do this journal post two days ago, but then I got working on starting up the ACNES compatibility list project again, I'm streaming again tonight, I've been chatting with people and actually enjoying it again (protip, mute and hide all the channels you're not interested in in any public Discord you're a part of and your life will instantly feel less cluttered) and I've been going on walks again. Every period of being antisocial comes with a burst of being social afterwards. Swings and roundabouts.
Nevertheless, we have a Quake map to discuss! I've been itching to do some Quake mapping for a long time now. I used to be very active at it back when the place to be was Terrafusion instead of the Quake Mapping Discord (no, I am not in that), but life took me other places and I was still recovering from being a little shitflinger who got shit flung back at him. Honestly, it feels silly to even let it continue to be a topic of discussion. Looking at the names on the Quaddicted submissions now, I don't even recognize most of them. Everyone's moved on, I'm an adult now, I'm sure I could shoot the shit with the people who had issues with me now if we did cross paths and there'd be no problem, and most importantly, I don't get into fights anymore and I suck less at mapping.
I don't recall if I talked about this back when I started working on it (no mention of it on the journal from around then, so I suppose not), but back in Spring 2023, a month or two before the first Wales trip, I was playing a lot of Half-Life 2: Deathmatch and found myself drawn to what I've since learned is still a fairly popular custom map in that game's cult following, dm_lostvillage. It's a simple and fun two-level layout with some center hallways, but it's pretty apparent the person who built it wasn't much of a level designer. The texture work is one step above hideous, there's a lot of line-of-sight issues (I'm not sure it was even vis'ed), it doesn't make much sense as a place—but it's fun. The layout is good.
I wanted to take that layout and rebuild it in Quake as an idbase deathmatch level, making it make at least a little more sense as a place and also tailoring it to a game with a more fluid feel to combat. As much as I like Half-Life 2: Deathmatch, the Source engine was starting to tip heavily towards realism, the gunplay wasn't as fast and furious, and the thin catwalks and chunky, undetailed building facades that were the bread and butter of hardcore clan level design for Quake and GoldSrc were no longer cutting it visually. It's probably why the game has only had cult success despite my enjoyment of it—people who like fast and fluid gunplay a la arena shooters have no use for its limited sprint and weapon cooldown, and it's very classicist and limited as far as its modes go (basically entirely deathmatch, no CTF, no control points, no last man standing, no vehicles, etc).
I got roughly 30% into the level before the first trip to Wales knocked me out of it, and despite all the castles we visited on both trips inspiringly me great to map for Quake as soon as I got home, I just never returned to it. (In all honesty, I had to refactor one of the center hallways to make the layout work, and that was just, like, so much effort. That's why I dropped it for so long. When I got over it, it took about a half hour.) I guess during this recent bit of moping, going back to what I was doing as an angsty teenager felt comforting, so I finished it up in about a week. Have some screenshots at long last:
While I kept true to the overall layout, I did make a few changes in connecting some areas to others where they originally weren't, and I expanded out the dinky little combine metal hallway in the far east of the map into an additional little sewer bit with a lift. One thing I'm always hungry for in my levels is making them feel like believable places, places that sprawl beyond where you're actually able to go. I did that a little bit with this level, decorative doors, a slipgate area, catwalks high above the playable level area, and I think it looks terrific. idbase also feels like putting together Lego after a fashion—layering wall textures separated by chunky metal supports that occasionally act as key light sources, it all just makes sense to me.
As far as lighting goes, this is very ericw, all bounce, automatic skylights, basically no fill lights, colored lights to separate various areas (warmer in rooms, colder in the hallways, and pale blue from the sky, and red to mark special areas). Fog is so huge for atmosphere in both drawings and levels; a slight bit in the distance makes any level feel instantly colder (or stickier!). Especially with the software simulation in Ironwail cranked, I think it's gorgeous. Dimension of the Past is a perennial inspiration for me as far as base stuff goes, and I don't think I've fully mastered that episode's design language, but I think this is closer than I've ever gotten.
With regards to how it plays? I don't know yet. I gotta set up a little QuakeWorld server and get some tests going. It's nice having access to both seasoned deathmatch players and Somnolians who don't play these games as much as I do, because it means I can see how people from all skill levels handle it. I'll probably do a couple rounds with both, some with me playing and some with me just watching to see how it pans out. As an aside, while I didn't intend for this to be a singleplayer level, once I sent NewHouse the level to run around in, he immediately wanted to do a singleplayer remix of it. He's apparently very close to being done with it, and I asked him to not send me any screenshots so I could see what he did with my work blind.
Glad everyone's liked how it looks! I can only hope it plays nice as well—and either way, it's just nice to still have it, and really have it better than ever, with my level design abilities. Many games I'd like to map for in the future, some more complex, some less. (And I will return to the Source engine someday. Parts of it are a disaster, but it's a disaster that feels uniquely like home.)
 | Page 14 of 35 |
 |
Previous months