Web Building at UMW or, Why Shannon Hauser is #4life

It’s been a while since I blogged about the goings on at University of Mary Washington (UMW). This past September marked seven years since I last worked there, which is crazy to even think about. I very much thought I was UMW edtech #4life, but then I met Tim Owens and everything changed. This June Reclaim Hosting will host its 4th bi-annual conference, Reclaim Open, at UMW, which is just in time for our 10th birthday celebration. It’s a welcome return to where it all began, and where my roots still run very deep.

Image of Rebels with a Cause at UMW

UMW homepage during the heady days of ds106!

And those roots are deeply personal, the thing about the Division of Teaching and Learning Technologies (DTLT) at UMW was we were fortunate enough to have a core that stuck together for over a decade. And I miss their company almost daily. We were colleagues, of course, but we also liked each other a lot. And like any close relations cultivated over time, it wasn’t always easy and far from perfect, but DTLT was family to me and together we did things I’m still ridiculously proud of. There was a grittiness and idealism to that work that remains a gold standard for me. And the DTLT core not only had full-time employees like Jerry Slezak, Martha Burtis, Andy Rush, and Patrick Murray-John—assembled and inspired by Gardner Campbell—but there were student aides that had a big impact on the group’s work: Serena Epstein, Joe McMahon, Joe Calpin, Leigh Ellis (pictured above!), and, of course, Shannon Hauser.

20151129_083544

Shannon in Italy

Forgive me, I am tearing up over here, but Shannon came to DTLT still a teenager seemingly determined to think differently about teaching and learning. She was not there to party for 4 years, she was on an intellectual and personal journey that highlights the best side of a 4-year degree. I think she saw something in DTLT that we couldn’t fully see given how close we were to it: a tight, fun team using the available technology to irreverently push back against the prevailing assumptions around teaching and learning, and she was there for that! In fact, Shannon quickly became a fixture in our ramshackle outpost of a bullpen. She was there so much I never knew if she was on or off the clock as a student worker. One of the things I quickly learned about her is she is as reliable as they come—and her commitment to the work and the group was absolute. She brought us together in ways that are hard to fully articulate, but we all came to rely on her for different things in our own lives, and she was always there for us. She was a mensch in the truest sense of that word. Shannon—unlike self-congratulating jack-asses like myself—was not interested in promoting the crucial role she played, she just wanted to be a good colleague and teammate—and that she was and no doubt still is for those lucky enough to work with her at UMW.

Image of new UMW Domains homepage

A house or apartment? Each has their benefits and drawbacks 🙂

But 15 years later (at least 10 of those as a full-time employee at UMW between the library and more recently DTLT*), Shannon’s rise as an edtech in the tradition of the very best (cue self-congratulating jack-ass :)) hit me like a diamond through the forehead when Lauren showed me the work Shannon has done to integrate UMW’s Domain of One’s Own with a new WPMS instance UMW Sites. This new design gives folks a choice of where they create their online spaces, and brilliantly articulates the benefits and drawbacks in a clean, concise one-sheeter site. More over, this project allows her group to gracefully retire and archive UMW Blogs, a publishing platform she very much helped to build and promote since 2007. I am really excited about the work Shannon continues to do as an edtech at UMW, and it’s a beautiful thing to witness her stepping out of the shadows to claim her UMW Edtech #4life mantle! The real question for me now is, what would Shannon Hauser do? (WWSHD). I am a big fan, shauser, and there ain’t no love like the bava blog love!

_________________________________________________

*I know it has a different acronym now, but it’s always DTLT to me.

Posted in dtlt, UMW Blogs, umw domains | Tagged , , , | 11 Comments

Refurbishing Moon Patrol: the Photo Documentary!

Soon after the shipping container arrived delivering a variety of personal treasures from the USA, I realized Moon Patrol was not working. I wasn’t overly concerned given this was one of the cabinets to be refurbished due to extensive water damage during a prior life. That said, it was working when it went into the container, so what went wrong? That question has cost me more time then I care to admit….

bavacade Repair Log 10-24-2022

After a couple of weeks and having already disassembled the entire cabinet, I figured out why Moon Patrol wasn’t working. I got a wild hunch one Sunday in October that it wasn’t the game board that was causing the issues, but rather the power supply. To test this theory I had to put the cabinet back together, but thankfully I was right. It was playable for a few more weeks, but in late November Alberto took the cabinet and got to work on rebuilding the coin box housing, cleaning up the water damage, and generally reinforcing the supports around the back doors. He always documents his work, so those photos are part of the documentary series below.

The last piece of the work before re-assembling (for the second time!) was to paint the cabinet. In particular the side art, while it was in overall decent shape the colors had faded and there were several areas in rough shape. I decided against going the clean slate stencil route I took with Scramble given I would need to order it which could take months to arrive. Instead I opted for hand painting over the existing art. This was ridiculously time consuming, but also ridiculously therapeutic and rewarding. I took a bunch of photos and they were fodder for several Mastodon posts over the last month or so.

Hand painting the side art probably added a couple of weeks to the timeline, plus another couple of weeks thanks to a much-needed break over the holiday. But last week I finished it all up and re-assembled the machine and I’m thrilled with the result. Like Galaxian before it, it’s another mint machine in the collection, and having it now on wheels makes moving it around the basement that much easier. I spent much of today (another cold and rainy day) organizing all the photos of the work in a Flickr album. And I now remember why I’m not as organized in Flickr as I would like, it takes sooooo much time to edit, title, describe, tag, etc all those photos. But I put in the work today, and there are 90 photos in this album narrating the entire project. So enjoy the following photo documentary of Moon Patrol being brought back from a watery grave to near-on perfection!

Moon Patrol

And given I was already spending much of the day in Flickr, I created a second album for Moon Patrol to document the various connectors on the machine so I could re-assemble it cleanly without messing anything up.

Moon Patrol Assembly

Posted in bavacade, bavarcade, video games | Tagged , , , | Leave a comment

The Other Multiregion in My Life: Pioneer DVL-909

When I think about it I’m very much a multiregion kinda guy. I hail from humble NTSC Long Island roots (region 1) but find myself in the Italian Alps living a very PAL (region 2) existence. I mean even this beautiful bava.blog has servers in two regions thanks to Reclaim’s multiregion prowess. So, given my ability to contain multiple regions, it would only follow that I’d acquire a multiregion Pioneer DVD/Laserdisc player in October to take make sure I can enjoy my multiregion media collection that arrived via a multiregion container from the US of A. Multiregion Man!

Image of Pulp Fiuction Meme "Say Multiregion Again, I dare You"

So, I got a gold player (literally) from Pioneer that was the earliest dual DVD/LD player (it also plays CDs) that came out in 1998, and this review from Home Cinema Choice back in the day sets the context nicely:

Only those living on the MIR space station have an excuse for not knowing about the DVL-909. It’s unique in being the only DVD player that also handles laser discs. As such, it’s an aspirational machine for home cinema enthusiasts from Hong Kong to Hounslow – especially as it can now be made to easily play all Regional Codes. More on this later.

The livery (in champagne gold) and styling are superb. Up front we see large and small loading trays (for CDs/DVDs and LDs) plus basic transport controls and a key for switching off the display.

State-of-the-art media in 1998 and I do love the way it is a kind of hybrid media that captures the shift from LD to DVD that would be an after thought in just a few short years given laserdisc collectors were already a small niche given the expense. VHS was still king in 1998 given DVD was only introduced market-wide in 1996. DVDs would not overtake VHS for market dominance until 2003, so this player sits firmly at the beginning of the rise of DVDs. Now if only it had a VHS multiregion player built into the unit somehow as well 🙂

Image of the European champagne edition of the Pioneer DVL-909

The European champagne edition of the Pioneer DVL-909

Image of Inputs for the European champagne edition of the Pioneer DVL-909

Inputs for the European champagne edition of the Pioneer DVL-909

And while a unique unit, as the review above notes later on, there were some sacrifices to make the combo possible:

With so much on offer, surely this player is the best to grace our lab? Curiously not. In this comparison it measures second worst for inherent noise, worst for averaged colour quality and worst for video jitter. As for chroma crosstalk, it’s almost on an equally low footing as the same-brand DVD-only DV-505.

Clearly, compromises have been made in accommodating both laser disc and DVD formats. However, DVD delivers such a giant step in image quality, even a machine with poor technical traits, subjectively looks good. Considering its positive points (the crisp resolution cannot be ignored) we see a player that is much sought-after.

If you’re a laser disc fan looking to embrace DVD, the DVL- 909 is the business – even though technically, it’s not the last word in DVD performance.

Perfect for me given I’m a laserdisc fan ready to finally embrace DVDs 30 years later, not to mention my 27″ PAL Sony Trinitron TV hides all imperfections! So I got the European champagne gold player shipped by a German seller on ebay. But I’m learning the issue with shipping a laserdisc player is even if it was working when you bought it, that will probably not be the case by the time it’s delivered—or soon after. And sadly, dear reader, that was true for me with another Sony laserdisc player I bought in October, as well as this one. The Pioneer was a bit more resistant in this case, it did last long enough for me to test at least one laserdisc and DVD before the power supply went, whereas the Sony has yet to play anything, but that’s fodder for another post.

Bad power supply you say? Am I bold enough to actually open up a DVD/Laserdisc player for repair surgery to take out the power supply and start looking for issues? Well, I have to admit, I was not looking forward to the prospect. Tim and I had a couple of laserdiscs for Reclaim Arcade’s living room and Tim, who is far better at repair than I am, was having no luck. In fact, we brought a unit that needed repair to a recommended person who took it apart, did nothing for months, and then returned it with a “sorry” still in pieces. That incident still pisses me off, completely unreliable assholes!

What’s more, I have the Sony laserdisc player that never worked in with the only person who does repairs like this on old units in Trento, and my wait time has literally been 4 months, so I decided I would open up the unit and try to figure out what’s what. This is where the arcade repair work has not only emboldened me a bit, but it has also helped me understand there are some basic troubleshooting skills that begin to work across electronics. Like, for example, does it won’t power on? If not, that’s a power issue. Sounds stupid and basic, I know, but when you come from the black box consumerism mentality where it won’t turn on means it’s broken, which translates into all is lost, you inherent a sense of helplessness. The arcade repair community has changed that for me with physical media, and I have begun to break things down like what causes a DVL-909 not to power on, and then I search the Laserdisc Database community forums, and lo and behold I find this response by framal to a post on the thread by yaffle2345 who was having the same issue back in 2019:

Ic311 which supplies 5v and Ic411 which supplies 3.3v each have a CT pin which require a 2v switching signal to switch from STANDBY to ON. That signal is controlled from the remote and is only operational when the power supply board is installed in the laser disc player.

The darkening, on the pc board, around R105,R106 & R109 is not uncommon. These resistors, all 68k, form a voltage divider across the rectified mains DC. They, along with C116, provide the KICK START for the SMPS. Please check C116, 1mfd/400v, for both ESR and capacitance. The ESR reading should be a low value, approximately 7-8, and the capacitance should be approximately 1mfd. If in doubt change it.

I recommend that you also check the filtering capacitors, C211, C611, C311, C312, C511 & C512 on the power supply secondary. If any are faulty they can affect the supply’s operation. Q101, Q150 & Q151 are all N channel mosfets, Shin Dengen 2SK2333.

Two or three years ago this would have been Greek to me. And there is still a lot of Greek to be fair, but I have a better sense of how circuit boards work, in particular resistors and capacitors, which are denoted as C### for capacitor or R### for resistor, and often the board labels them so you can start to orientate. The next trick would be finding a schematic for the power supply, but I’m still a fish out of water with testing traces and values for resistors and capacitors, not to mention chips. But that is something I really want to work on this year given it is the gateway to more sophisticated arcade board repair, which remains an aspiration.

The key in the post above that helped me figure it out was framal’s ability to encourage yaffle2345 to think through the diagnosis logically. Ruling out integrated chips IC311 and IC411 given they will not function without adequate power regardless. Then rule out the assumption that the resistors blew given the darkness is normal for shielding resistors (I love how much experience plays into knowing what to look for), and finally the breakthrough for me was framal’s linking C116 to kick starting the power supply. That seemed logical to me, and I know how to replace a bad capacitor, so if this was it, then I was golden. I was further encouraged to try it when yaffle2345 came back and noted they did as much and it worked:

Just to follow up, I removed C116 and replaced it (not having the equipment to check it as indicated), and that fixed the problem – thanks, very happy :-)

That was enough to at least try, but turns out the hardest part of this repair was not replacing the capacitor with some basic soldering, but actually getting the power supply board out of the unit to do the work. This is when I had flashbacks of the laserdisc we brought in for repair coming back in pieces. There were some nerves, but documenting with images and being deliberate solves a lot of those issues, not to mention more forum posts and Youtube videos 🙂

Image of the laserdisc player without casing

Laserdisc with casing off, at the bottom of this image you can just make out the power supply board beneath the power arm shaft.

As a result of the power not working, the tray needed to be manually opened. There is a mechanism within the unit you can access after the cover is removed that allows for doing this pretty easily. The rub in this instance was that the last piece of media I had in the player before it powered down was a DVD and the player mechanically adjusts to open only the DVD door to unload media. This means the larger lasersdisc tray was blocking access to remove the power supply, annoying. So, back to the forums to figure how to make the unit open the entire tray, not just the DVD slot. Turns out my friend yaffle2345 had the same exact conundrum as me–their problems are my problems!—and not only articulated the issue better than me, but also found the solution which I used in this thread:

I’ve tried winding the laser (I think it’s the DVD one) both half way back, and right back into its ‘cage’, but this doesn’t seem to affect anything – turning the belt pulley at the front still only moves the DVD tray.

I’m wondering if it’s the position of the yellowy-white plastic piece in this picture (not my picture):

Image of Piece that controls which tray door opens in DVL-909

Piece that controls which tray door opens in DVL-909

Mine seems to be in the opposite position to this picture – ie to the left – but I cannot work out what else needs to be pushed, pulled, or turned in order to allow it to move to the right.

Any help would be gratefully received :)

That post got no responses, so Yaffle2345 took matters into their own hands:

For what it’s worth, I did find out how to slide out the big tray on a powerless machine, which I’ll share here for posterity…

Wind in the small tray using your finger on the white pulley with the belt around it, then keep on winding.

Very slowly this will start raising up the whole laser assembly. Keep going and when this is fully raised, the white plastic item pictured in my previous post is then free to move from side to side. Push it towards the centre of the player (actually the spring may pull it that way, I can’t recall now), then begin winding the pulley back in the other direction.

The laser assembly will drop, and after that keep on winding and the big tray will come sliding out.

Hey presto, I have access to the power supply board. I might be asking a question or two about that later once I’ve done some tests 🙂

Thank you Yaffle2345 for thinking of posterity, because in this case it was me and it bailed me out majorly.

Image of laserdisc with casing off and power supply removed

Image of the laserdisc with power supply, arm shaft and sundry other pieces out of the machine so work cna be done

People sharing how they figured out how something worked for others to benefit from is my favorite face of the web. I found pushing the white piece referenced a bit harder than suggested, and I was afraid I would break it, but thanks to the following video from Multiwizard I got a couple of additional tips for not only opening the tray but also removing the power supply:

That video was a break through, and I was able to get the board out, desolder the capacitor at C116 and replace it with a new 1mfd/400v capacitor I bought off ebay. One of the Youtubers I exchanged comments with recommended I change all the capacitors on the board while I had it out, and he was probably right, but I only had the one, so waiting for all the others to arrive was a non-starter. I finally did the work after the holidays because I didn’t want a failure to cast a cloud on the break (that’s how personally I take this work) and on Wednesday I re-assembled the unit and tested power and wouldn’t you know it, IT POWERS ON!!!

Narrating the fix in a short-ish video
I was fired up. My first successful laserdisc fix, and it was getting late so I waited until the next morning before slipping in the laserdisc Night Hawks (1981) to celebrate the victory. It played beautifully until the disc automatically  switched from side A -> B upon reaching the end of side A. It made the switch cleanly, but after about a minute the disc was consistently skipping. It was weird because after taking the disc out and cleaning it it still skipped, but in a different place just a few seconds later. That made me suspicious that it was a disc issue, so I put in the Warriors (1979) and the same thing happened after a minute into side B. You can see the issue in the video below:

That is more than a coincidence, looks like a bigger problem with the player, so back to the forums. And once again the Laserdisc Database forums giveth in this thread on “Issues with first minute of side b,” turns out this is a common issue with this series of Pioneer players. And while time consuming, fortunately the fix was pretty easy with minimal dismantling of the unit. There are two screws on the laser casing (one black and metal, the other white and plastic) and one (or both?) control the centering, and many folks suggested adjust these very finely (small turns that you test while running the disc and restarting side B again and again).

Image of the white and black screw used to adjust centering to avoid side B skipping

The white and black screw used to adjust centering to avoid side B skipping

I fiddled with both, and for me it was the slight adjustment to the metal screw that seemed to do the trick after an hour of trying various combinations. I started with the white screw that seemed to be moved in transit, but after nothing happened I tried the metal screw and got almost immediate results. After testing it worked on several discs I cemented the positions of both screws with some nail polish, a method several on the forum thread recommended. This issue will only effect laserdiscs given DVDs do not switch sides in the same way, so unless you watch a laserdisc through side A it might be a hard issue to detect.

And with that I have the DVL-909 multiregion player back up and running. It’s hard to fully communicate how good this fix made me feel. It’s super cool to be able to apply some of what I learned with the video game work over the last several years to other vintage technology, and it makes me want to do a lot more of this. Multiregion Man!

Posted in Console Living Room, films, Home Repair, movies | Tagged , , , , , | 6 Comments

A Campus Divided

For the 35th episode of Reclaim Today, I had the distinct pleasure to sit down with professor Riv-Ellen Prell and artist Livia Foldes to discuss their collaborative project A Campus Divided: Progressives, Anticommunists, Racism, and Antisemitism at the University of Minnesota, 1930-1942. This website was born alongside a physical exhibit highlighting a history of surveillance and segregation at the university that spanned more than a decade, which was un-earthed by the research of Sarah Atwood—then a Ph.D. candidate in American Studies. The physical exhibit was immensely popular, while at the same time underscoring ongoing struggles and tensions not only at UMN, but across the US political landscape more generally.

The exhibit coincided with the early days of the Trump presidency’s racist and anti-Semitic dog whistling, in particular the “Unite the Right” rally on the University of Virginia’s campus in August 2017. That is the context for this historical deep-dive into campus-specific racist, anti-semitic, and antifa anticommunist rhetoric in the 1930s, a powerful moment wherein the struggle between the university administration and student activists in the 1930s might provide one way of understanding the contemporary national political stage as the exhibit opened.

Given the broader national situation, Prell and Foldes did not want to stop at a limited-run physical exhibit, so they decided to digitize these documents and design a home for them online that would not only make this archive readily available, but through a powerful design highlight the urgency and importance of activism when faced with the abuse of power. Watch the entire interview to get a sense of this truly important academic and design work that these scholar/artist/activists have made openly available to not only understand the past, but help put our present moment into that much sharper focus.

Posted in reclaim, Reclaim Today, video, YouTube | Tagged , , , , , | 2 Comments

bava 3700

Every so often my blog hits a random milestone, and this one happened to come at the start of my 18th year of blogging, and the very end of 2022. Given that, I figured I would use it as an excuse to blog about blogging. This post is lucky number 3700, and if you divide that by the 204 months I have been blogging that is just over 18 blog posts a month since December 2005. That averages out to a new blog every other day. That’s amore! 

This year that pace was more along the lines of every 3 days with a total of 126 posts overall, but my streak of blogging at least once a month every month since 2005 is still going strong. The iron man of blogging, if nothing else! The topics I have blogged about this year are telling, with the biggest percentage of posts being Reclaim and/or Reclaim Cloud, coming in at 81. There were 18 posts about bavacade and 11 posts highlighting the bavaweekly, that I hope to resurrect next year. There were 6 posts syndicated in from bavaradio (I was not great at keeping that site updated with latest radio shows), and another random 10 posts about various topics.

This year has been all Reclaim Hosting all the time and my blog reflects as much. I’ve had a lot of fun with Reclaim Cloud, and we continue to imagine new horizons for the future which keeps it exciting. And while for many a year I felt I was the last of a dying tribe writing into the blog void or navel gazing with every new post, it seems like the idea of regularly attending to your online plot and cultivating the soil is entering a new day. I see that most clearly with the uptick of blogging by the folks I work with at Reclaim Hosting. It has been an absolute joy to see Lauren, Meredith, Taylor, Chris, Pilot, Amanda, and now Noah all blogging this year. As a collective we had well over 200 blog posts, and something tells me we’re just getting started!

In fact, the work Pilot has done with Reclaim Roundup is in many ways the company meta-blog/newsletter that brings together all the work we do as a team and shares it monthly. Rather than one voice, it captures the work of an emergent team that is finding its rhythm and coming together in some truly magical ways. This many Reclaimers blogging and sharing their work is a powerful portent for the great things to come in 2023. Reclaim Hosting was in many ways built on the back of the blog, so it only makes sense we carry that torch and share where we are, how we got there, and where we are going. #4life!

Posted in bavatuesdays, blogging, reclaim | Tagged , , , | 2 Comments

Costs in the Cloud Two Years On

Back in July of 2020, and again in September of 2020, I wrote about tracking costs in Reclaim Cloud.

Costs in the Cloud

A Follow-up on Costs in the Cloud

Two years later things have developed a fair amount with my personal use of Reclaim Cloud, and I think it’s worth sharing because as I move more and more of my web properties to the cloud, the costs have changed quite a bit from the $87.96 I was spending monthly in September of 2020. In fact, I’m now spending close to $400 per month for my Reclaim Cloud environments alone, not to mention my Cloudflare bill and my terrible domain habit 🙂 Anyway, below is the billing breakdown by environment for the first 30 days of December 2022:

Screenshot of Reclaim Cloud billing window

December 2022 costs by environment for my personal Reclaim Cloud

I went from 12 environments in 2020 to 21 environments in 2022. My monthly bill went from $87.96 in September of 2020 to $397.45 for the first 30 days of December. That is a significant jump, and it’s worth looking at how those costs break down. I have roughly two main groups of servers I manage. The first is the bava fleet of servers, which includes the bava.blog (in stereo), bava.tv (PeerTube), bavaghost (Ghost), bavacast (Owncast), bavameet (Jitsi), bavasocial (Mastodon), and two WordPress backup environments with three days of on-demand backups of the blog across two different regions. Let’s look at the numbers:

  • bavacast                $8.51 (Owncast instance I should probably keep off unless in use)
  • bavacast-clone    $0.02 (temp environment while moving bavacast to 1-click installer)
  • bavaghost             $19.61 (Instance of Ghost I am running alongside my blog)
  • bavameet             $2.93 (Jitsi instance I only turn on when needed)
  • bavamulti-1         $24.52 (WordPress Multiregion primary site for the bava.blog)
  • bavamulti-2         $24.49 (WordPress Multiregion secondary site for the bava.blog)
  • bavasocial            $25.18 (Test Mastodon instance for bava.blog I’m still playing with)
  • bavatube               $33.81 (PeerTube instance that hosts over 1000 videos)
  • bavatube-clone   $14.21 (Clone of PeerTube to test version 5 upgrade)
  • env-7614939       $5.21 (Regular nightly backups of bava.blog on UK environment)
  • env-9758267       $1.12 (Regular nightly backups of bava.blog on WC environment)

This comes to a subtotal of $159.61. If I was a bit more frugal I could probably eliminate $60-$70 by turning bavacast off more regularly, getting rid of the bavatube-clone, abandon the multiregion setup, and deciding not to run a separate mastodon instance for bavatuesdays. By eliminating those environments I can easily keep the personal hosting bill for the bava properties well below $100 per month. Not necessarily cheap by shared hosting standards, but the difference is what you can do. I’m running a pretty ridiculous multiregion setup that is overkill for my blog, but a testing ground for what is possible for sites that need to stay up no matter what. This is that space where my personal sites overlap with my professional research and development, so being able to spend the money to be able to run a lot of these next-generation apps that would never run in cPanel is crucial.

Also, I think the elephant in the room is owning your own media and managing it comes at a steep cost. Using YouTube or wordpress.com or Zoom or Twitch would be arguably cheaper, but not only would I feel dirty, but the cost is their terms and my data. Freedom ain’t free! So it is worth it for me to have the route around those options when possible to explore alternatives at a manageable cost.

The other properties I have been consolidating in Reclaim Cloud are the various ds106 sites. Namely ds106.us, the WordPress multisite that was a beast on shared hosting, but purrs like a kitten on Reclaim Cloud. Then there is the mighty ds106radio running on Azuracast in the cloud; the newly christened Mastodon server social.ds106.us; the old gold tilde space ds106.club; and finally the listen.ds106rad.io Apache server I just spun up last month to move it off cPanel. There is also the old ds106.tv environment running an Ant Media server I just shut down. That has been replaced with the ds106.tv server running on PeerTube, and I’m not deleting it until I know everything is synced to the new instance. So, let’s do the math on the monthly costs to host the ds106 empire:

  • ds106.us                    $34.82 (This is an active WordPress Multisite with years of archives, the daily create, assignment bank and much more)
  • ds106radio                $50.54 (Instance of Azuracast running ds106radio)
  • ds106social               $57.98 (Mastodon instance running social.ds106.us)
  • ds106.club                $5.72  (Fun old school tilde server that’s still running purely for the joy it brings me)
  • ds106.tv                    $34.68 (The old Ant Media server we are running, the new Peertube instance is running at $12 per month)
  • listen2ds106radio   $5.71 (an apache server I am testing to run archived HTML sites from)

And that’s the ds106 breakdown at a subtotal of $189.45 per month. You’ll notice that Mastodon and Azuracast are the most expensive environments, but once I retire the Ant Media Server, the cost could go down another $15-$20 monthly. But I might actually increase costs for ds106.us given I want to see if a multiregion setup works for that WordPress setup. Would love to get it running through Cloudflare and have failover, CDN action and DDoS protection, not to mention image compression on the fly. We’ll see, enough folks still use that server that I do not want to get cavalier with it, but it would be nice to treat ds106.us as mission critical infrastructure, even if it’s not in the eyes of many 🙂

So, with $159.61 for the bavaproperties and $189.45 per month for ds106, where is the unaccounted $50? That would be a couple of personal projects outside bavatuesdays I am playing with, namely No Copyright Intended which is a Peertube instance with all my archived VHS tapes, that runs $28.18 per month. Then there is Antonella’s Ghost blog that runs $14.34 per month, and finally a couple of sites I use to track my domains so I remember to renew the growing horde of online addresses I’m regularly accumulating (that’s another post). And with that you have just about $400 per month, sounds crazy, but then think about all the sites it is powering, and how damn well they work 🙂

The other cost, besides domains, is running the DNS for these sites through Cloudflare. I have the Cloudflare Pro Plan at $20 per month (mainly for bavatuesdays, the other domains are free) and I pay an additional $5.00 per month for the Argo smart routing of traffic for the bava. On top of that I pay another $8.80 for the 80 GB of accelerated traffic through Argo monthly (the first GB is free), which acts as a kind of speed boost. Finally, I pay another $15.50 for the load balancing feature through Cloudflare that I use to manage the bava multiregion setup. That breaks down to $5 for basic load balancing, another $10 for geo-routing traffic to the closest server, and $0.50 for DNS queries beyond the initial 500,000. Is it overkill? Definitely. Am I learning a ton about how amazing Cloudflare is and what it enables for sites that need to be constantly online? Absolutely.

So, at the end of the day, excluding domains, I am paying just about $450 for hosting my various bavatuesdays sites and all the ds106 instances. To be clear, I can be so extravagant with these resources cause I help run a hosting service—that fact is not lost on me. At the same time it is helping me put costs in the cloud in some perspective in an attempt to understand what the real costs of hosting your own data are, not to mention running larger community sites. I can afford to do this for ds106.us because it is Dr. Oblivion’s illegitimate love child, and bava is my bread and butter, but not everyone is in the same boat. But the more I put into the cloud the more I start to frame this exchange in terms of the cost of peace of mind and performance for the pain and suffering I went through when trying to run bavatuesdays and ds106.us on a shared server. Perhaps this whole post is more an argument for minimal computing to shed the weight of the past, but that is not how I roll. I’m a web hoarder and I’m just gonna need to move to Cloud City!

Posted in reclaim, Reclaim Cloud | Tagged , , | 5 Comments

WordPress Multiregion Database Replication Checks

I have to document some of what we have been working on for WordPress Multiregion (WPMR) given I’ll need to reference some of these commands and scripts in the future. One of the issues that can occur with our WPMR setups is that the database on the primary site can get out of sync with the secondary site, which means posts or comments to the primary database are not copied over cleanly to the secondary database. This is an issue for obvious reasons, but it can be hard to identify given both sites will still be running cleanly (the database does not break), it’s just that the secondary site will not have any of the latest content after the sync was broken.

This is an issue I have run into sporadically while playing with WPMR, and over the last month we have come up with a clean way to both identify when the databases aren’t replicating cleanly as well as a command to run that puts them back in sync.

Screenshot of the script to identify with WordPress Multiregion isntances are out of sync

Excerpt from script to identify with WordPress Multiregion instances are out of sync

The first bit I’ll share is a script Chris Blankenship wrote that is executed regularly using a cron job to ensure the JSON output from each WordPress instance of a WPMR setup match for latest posts or comments (and we may even want to add pages to that).

#!/usr/bin/ruby

require 'json'

# Constants
$jelastic_api_host = "https://app.my.reclaim.cloud"
$jelastic_api_command = "JElastic/marketplace/installation/rest/executeaction"
$jelastic_api_action = "diagnostic"
$jelastic_username = "username"
$jelastic_password = "password"

# Session token for Jelastic API
$jelastic_api_session = ""

# List of targets to check
$target_dictionary = {
"environment.url.reclaim.cloud" => "container_id",
}

# List of targets that report errors with DB replication
$list_to_email = []

$email_template = <<EOM
Subject: Multiregion DB Replication Issues
From: ansible.reclaimhosting.com <[email protected]>
To: monitoring-notice <[email protected]>

EOM

# Get a Jelastic API session token
def signin
# AUTHENTICATE AGAINST THE API
#$jelastic_api_session = "****************************"
$jelastic_api_session = JSON.load(`~/jelastic/users/authentication/signin --platformUrl #{$jelastic_api_host} --login #{$jelastic_username} --password #{$jelastic_password} --silent true`)['response']['session']
end

# Run diagnostic of DB replication
def run_diagnostic(target_application)
api_json_output = JSON.load(`curl '#{$jelastic_api_host}/#{$jelastic_api_command}' -X POST --data 'appUniqueName=#{target_application}&action=#{$jelastic_api_action}&session=#{$jelastic_api_session}'`)
return api_json_output
end

# Send notification email
def send_email
if $list_to_email.length() > 0
email_to_send = $email_template + $list_to_email.join("\n")
`/usr/bin/echo "#{email_to_send}" | /usr/sbin/sendmail [email protected] `
end
end

# Sign out of generated session
def signout
`~/jelastic/users/authentication/signout`
end

# Main/entry function
def main
signin
for this_host in $target_dictionary.keys
diagnostic_output = run_diagnostic($target_dictionary[this_host])
if (diagnostic_output['result'] != "0") and (diagnostic_output['result'] != 0)
$list_to_email.push(this_host)
end
end
send_email
signout
end

main

This lives on Reclaim’s Ansible server at /root/cron_scripts/multiregion_db_replication/multiregion_db_replication_check-bava.rb and if I add my Reclaim Cloud username and password as well as our Jelastic API key I will be notified both via email whenever the two databases are out of sync. You can also integrate with Slack notifications, but I changed those emails given they’re particular to Reclaim Hosting’s Slack, much like the Reclaim Cloud credentials, Jelastic API key, etc.

So, now that we know when the sync is not working we need to fix it. And do that you need to run the following command on the secondary WordPress instance as root for the environment. To switch to root you need this command:

sudo su -root

After that, run the database recovery command below in screen given it can take 15-20 minutes:

screen

Once in screen, make sure the donor-ip value is the IP address of the primary WordPress instance in the multiregion setup. and then run the database recovery script:

/tmp/db-recovery.sh --donor-ip 'primary.wpmr.ip.address' --scenario restore_primary_from_primary

For example, the command for my setup looks like this:

/tmp/db-recovery.sh --donor-ip '198.244.162.213' --scenario restore_primary_from_primary

After that, the script will re-sync the databases.

What follows might be considered a wishlist. What would make sense based on this workflow is that any time the sync breaks the following three things happen:

  1. The Cloudflare load balancer is immediately switched from dynamic or geo-targeted steering of traffic to failover mode. This means that the traffic for the secondary server will automatically redirect all traffic to the primary environment until the two databases are re-synced.
  2. The database recovery script is immediately run once the out-of-sync  notification is received.
  3. After the database recovery is finished and the script no longer shows the two databases out of sync the Cloudflare load balancer is told to resume dynamic or geo-targeted traffic steering

And with that the multi-region setup would not always need to route pools in failover order, this will happen only if there is an issue with database syncing, or any of the server instances goes down.

Posted in reclaim, Reclaim Cloud, WordPress | Tagged , , , | Leave a comment

1-Click Installer for Owncast in Reclaim Cloud

Following-up on yesterday’s post about our Owncast session for the Open Media Ecosystem series, I wanted to quickly highlight that we now have a 1-click installer for Owncast in Reclaim Cloud. I tried it out yesterday, and it is yet another slick installer from Taylor Jadin, he is en fuego!

Animated GIF of Elmo raising his arms triumphantly in front of raging flames

First things first, what is Owncast? It’s free and open source live streaming software that integrates cleanly with production tools like Open Broadcaster Software to stream video to the web. [NB: Reclaim Edtech will host a three session flex course on OBS in the second half of January.] Owncast frames itself as an open source alternative to tools like Twitch, and with more social integrations (including the fediverse) it may be a nice fit for announcing streams across your social spaces. Keep in mind it’s first and foremost a streaming tool, no recording video, no production suite, or anything like that—live streaming and live chat is all. Much of its strength lies in its laser focus on streaming and a simple, elegant interface.

In terms of the installation on Reclaim Cloud, it is really quite simple, as a 1-click installer should be. You search for Owncast in the Marketplace:

Screenshot of the Reclaim Cloud marketplace window with a variety of apps to install and the search box reads Woncast

Search for Owncast in the Reclaim Cloud Marketplace

After that you select to install Owncast and you will see a dialog box asking for the Environment name, display name, and region for installation:

Screenshot of Owncast installer dialog box

Owncast installer dialog box

Once you fill this out and click “Install” the app will start installing.

Screenshot of the Package is being installed please wait dialog box

The Package is being installed please wait dialog box

After about a minute Owncast will be installed and you will get an email with the environment IP address for pointing an A record to if you want a custom domain like cast.bava.tv. The email will also have the default username and password for Owncast, which is admin and abc123 respectively.

Screenshot of Owncast email you receive after installation

Owncast email you receive after installation

Needless to say you should change your password once you logic, and it just so happens it is the same as your secret stream key, which I find convenient. Also, you will notice the email says that if you what a custom domain domain and A record to the listed IP address, what’s more, there is an Add-on in the environment that allows you to add the custom domain and once you do it will automatically issue an SSL certificate, which is very slick!

Screenshot of Owncast domain configuration addon

Owncast domain configuration Add-on

And the next step is super clear, enter the domain name and click change:

Screenshot of Owncast Domain configuration window

Owncast Domain configuration Add-on for changing the domain

The other piece which is quite nice is an Add-on for updating the environment to the latest version, which saves folks a lot of futzing in Docker, which can be a bear if its new to you:

Screenshot of Update Owncast Addon

Update Owncast Add-on

And with that you have the entire installation, and it was so fast for me I almost thought I did something wrong 🙂

In terms of managing Owncast, that is quite simple, you login with admin and abc123 at yourowncastinstall.com/admin URL and the dashboard will have the RTMP and Stream key front and center.

Screenshot of Owncast dashboard with thr RTMP and Stream key front and center,

Owncast dashboard with the RTMP and Stream key front and center

The stream key is also your password for logging in, so I recommend changing that immediately at Configuration–>Server Setup:

Screenshot of Configuration-->Server Setup

Change your stream key/password in the Configuration–>Server Setup window

After that plug your streaming URL and stream key into your OBS software stream settings and you are ready to stream live to the web. There are other features like web hooks for integrating with social sites, live chat that just works, and streaming from S3 buckets, so get in there and play around.

What’s cool about this installer is now we have working 1-click installers for every application we are featuring in the Open Media Ecosystem series: Azuracast, Jitsi, Owncast, and PeerTube. That is pretty awesome, and I think I heard/saw something about a 1-click installer for Mastodon as well, WHAT?!

Screenshot of the marketplace 1-click installer for Mastodon

I spy with my little eye a 1-click Mastodon installer in Reclaim Cloud

Posted in open source, reclaim, Reclaim Cloud, Reclaim Edtech | Tagged , , , , , | 3 Comments

Open Media Ecosystem: Owncast

In another installation of the Open Media Ecosystem series run through Reclaim Edtech, Pilot Irwin and I did a stream last week highlighting the virtues of Owncast, a free, open source application for live streaming video. We used the Who, What, When, Where, How and Why approach to providing an overview of Owncast, just like Azuracast, and the verdict was there’s much to love about a small, open tool with a singleness of purpose. Owncast aims to provide a free alternative to Twitch for streaming, and that it does very well. And with momentum around the fediverse growing it may provide a good alternative for live streaming to a distributed community, potentially making monolithic tools like Twitch with restrictive copyright that much less appealing. What’s I love about Owncast is it’s simple interface and straightforward approach to live streaming, but if you watch the short overview session below you’ll hear Pilot and I say as much a lot.

The other cool thing worth noting here is that during this stream Pilot and I mention the possibility of a 1-click installer for Owncast in Reclaim Cloud, and soon after that Taylor Jadin went ahead and created it. So good!

I’ll have a separate post about the Owncast installer on Reclaim Cloud here shortly given I just tested it out, but if you are looking for an elegant and easy tool for live streaming to the web—no recordings, no media production, just streaming—then look no further, Owncast fits the bill quite nicely.

Posted in reclaim, Reclaim Cloud, Reclaim Edtech | Tagged , , , , , | 1 Comment

bavachromatosis

We’ll see how much I can reflect on 2022 in the next few days, I still feel like I have to blog about what’s happening now so thinking about 12 months of time might have to happen after the new year, which may save me from publicly committing to resolutions that will become quickly marooned on the bava island of hopes and dreams.

But 2022 was a good year on several fronts, and one I don’t blog about too much here is health. Sometime in early 2019 I got a scare after some routine blood tests showed crazy levels of iron proteins in my blood along with high readings for liver enzymes. I was still going to the doctor in the US when this happened, and driving back from the visit with a prescription for an abdominal scan as well as gastroenterologist visit I remember thinking this this may be the beginning of something else. The levels were high enough that it was impossible for the physician’s assistant to hide their concern, and that concern was contagious. I got to thinking, “Really? The kids are still young. Never been happier at home. Reclaim is getting to a really good place. WTF?!” You can just imagine the mental dramatics of someone caught in traffic on the I95 trying to process what turned out to be a not-so-routine visit. I even started imagining I could feel my liver revolting within me like a grotesque scene from some crazy Cronenberg film. I could swear I felt something above my stomach, which was probably just the expected dread of a moment like this.

Turns out the liver scan was normal and their was no immediate cause for alarm there, so I could hang-up my Walter White plans for a bit. Nonetheless there was something behind these ridiculously high iron levels, but I’m pretty good at burying these concerns if not immediately in danger. In fact, on a visit back to the US a few months later I was telling my sister Kissy, who happens to be a nurse, and after hearing my blood levels she immediately said, “It’s probably hemochromatosis.” I had no idea what she was talking about, but damn if she wasn’t right on the mark. She even told me exactly how it would be treated (phlebotomy) and that if my heart hadn’t been damaged and/or my liver wasn’t shot already, I should be alright. In that short 10 minute conversation in her living room on Long Island I had a blueprint for what was to come—I am still quite impressed by her for that. She was better than any doctor I had seen—and funnier!

And while Kissy’s diagnosis was not yet confirmed, I was still between two health care systems, and had yet to make an appointment with a gastroenterolgist in the remaining six months of 2019. As life took over that never happened and by the time I returned to dealing with it in 2020 the pandemic hit—and I was not going back to the US any time soon. I did finally return in October 2020, but that was a Reclaim Arcade trip and I never did make the time for a doctor’s visit (maybe I was in denial?), but it was still in the back of my head and would occasionally fill me with thoughts of biological dread. 2020 was also the time Antonella and I decided not to return to the US anytime soon, so it would mean I was officially switching to the Italian healthcare system in 2021, and boy was that an awesome choice.

So, at this point it is early 2021, the pandemic was still raging with the Omega strain and things were not opening up on the medical front. I did manage to get my iron and liver enzyme levels tested again in mid 2021, and by this time the iron protein ferritin had doubled to over 2000, so I was now almost 7x over normal limits, which meant the biological dread returned more frequently in 2021. And while the pandemic was still overloading the healthcare system, by the end of that year I managed to get an appointment at a local blood bank to start giving blood given I was still feeling absolutely no symptoms of any kind (sometimes it is linked to fatigue, discolored skin, impotence, etc.). In fact, hemochromatosis can often be asymptomatic, which means if I didn’t get a comprehensive blood test in 2019 that looked at my liver enzymes and ferritin levels I might still be in the dark on this condition.

Once they saw my levels at the blood bank they referred me to a specialist in Verona, and it was at that point in January of 2022 that my sister’s diagnosis was corroborated. They prescribed a test to see if I had the gene given hemochromatosis is often genetic passed on by the parents, and once the gene’s presence was confirmed all my treatment thereafter was 100% free. Socialized healthcare means paying far less than in the barbaric US system, but full blown, idealized communist health care is when you have a rare blood disease and you don’t even pay the 10 euro visit fees. There are some in Trento who bemoan their healthcare system, but I try and assure them that if they had the US model it would only get 1000x more expensive, and as a result that much worse. Civilized health care is reason enough not to go back home. The horror the average American experiences as a result of health care costs and the uncertainty of insurance coverage is evidence of how deeply deleterious the revered practice of profits before people can be to a nation’s soul.

So, for all of 2022 I have given anywhere from 350-500 ml of blood a grand total of 21 times. That averages out to once every 2 and a half weeks for an entire year. My ferritin levels have dropped from 2000 in December of 2021 to 540 in early December 2022. Here’s to hoping by mid-January my ferritin and liver enzyme levels will be normal for the first time in at least 3 years.

One of the fun facts about hemochromatosis is it usually occurs in Northern European men, and based on some internet research Antonella did there is a hypothesis that this genetic mutation was common amongst Celtic warriors anywhere from 1000 to 3000 years ago.* This condition might have developed over many generations to help deal with the large amounts of blood loss suffered in battle. I’m sure there are some finer points to this genetic history I’m missing here, but this does kinda mean I’m a Highlander, and I can lose a lot of blood. For example, I gave blood on average every 2.6 weeks and never got dizzy once. I am a super hero—the true heir apparent to Iron Man! So 2022 was pretty good in that regard, the whole confirming my superhero status and getting carte blanche access to the Italian health system #4life!

_________________________________________

*The scandanavians are arguing it is actually a Viking gene, but given I am of Irish origins I hold with the Celts

Posted in family, health | Tagged , , | 5 Comments