Wednesday, October 16, 2024

RMVOD r0.9.3 is here!

 Hi folks!  

A view of RMVOD's List/Search tab with new updates and TV Series Playlists expanded



Well, TV Series Playlists are here, as well as some fixes to Recommendations.  Here are the release notes:


RIBBBITmedia Video On Demand - Tag 0.9.3 (Get it here)

Introduces TV Series Playlists, consolidates Playlists and Recent Episodes to List/Search tab, some bug fixes.

TV Series Playlists

This is a new feature which provides the ability to create (and edit) playlists of TV Series, such that the user's watch history is scanned to find the most-recently watched episode of each series, and plays the next (one) episode for each series listed in the Playlist, in the order listed.  Playlists can be set to repeat a series when the end is reached, and continue playing the Playlist over and over until the user stops it.  If a Series is set to not repeat once the end is reached, it will be skipped and no longer appear in the sequence of played episodes, unless the user manually initiates playback of an earlier episode in the series.  In that case the next time the Playlist is invoked, it will resume playing the previously-ended Series from the episode following the one manually played. Also, a playlist can be associated with a single user or set to be "sitewide", meaning all users on the Server have access to it.  Users can create and edit playlists, and the editing takes place in the Edit tab.  Any information in the Edit tab at the time the user opts to create or edit a Playlist will be wiped out.  Note that the behavior of the Playist edit function is different in that the "Update" button must be pushed for the changes to be posted to the server.


Rework of left-side of List/Search tab

The left side of the List/Search tab used to have the "Search Factors" and "Recommendations Quick Lists", which spilled off the bottom of the tab, requiring a scroll bar.  The "TV Series Playlist" and "Recent Episodes" lists have been integrated into the left side of the List/Search tab, using a collapsible tree view widget.  By default, the "Search Factors" section is exposed, but the caret-in-square-braces at the left of the section label can be clicked to expand or collapse each section, and if it does spill off the bottom of the tab, a scroll bar will automatically appear just for the left side of the tab, meaning that the list area on the  right of the tab no longer "double-scrolls".  The  "Recent Episodes" section has been refactored to make more efficient use of screen space, and displays the relevant information in three columns, rather than 5.  The name of the Series, the Episode last played (which is a button to replay that Episode), and the word "Next" (which is a link to play the next Episode in the Series.


Significant bug fixes

For internal Javascript links/buttons, added  "cursor: pointer" to style for the functional spans.
"Artifact Play Progress" functionality begun, but not finished.  No sharp edges exposed to user.
Fixed some session cookie persistence issues

Saturday, September 21, 2024

Remember Watching Reruns On Local TV?

 I know it's been a while since I've updated on anything here regarding any of my ongoing projects...

Well...

Binge-watching a TV series has become a pretty popular thing, and I've certainly done it myself.  The sense of the "episodic" nature of a lot of (especially older) TV shows is kind of lost, though, when I binge them.  I started really noticing it, strangely enough, watching Star Trek: Strange New Worlds.  I found I enjoyed it more watching one episode, going away and doing something else, then coming back and watching another episode, maybe a few days or weeks later.

RMVOD has finally made some progress.  One new feature that I've been ruminating about for a while was doing something akin to what you might see on a broadcast TV station in the 80s or 90s... a scheduling block of syndicated TV shows.  Typically a TV station would buy the rights to a TV show, and just play one episode a day, or one day a week, rifling through the episodes in whatever order the distributor provided them in.  Granted, some gave it more thought than that, but... They would have a block of shows for mid-morning, early afternoon, late afternoon, evening, and so on.  Weekday and and weekend schedules. 

A screenshot of RMVOD showing the TV Series Play List content.
 TV Series Play Lists in RMVOD

So, what I'm working on is something similar for RMVOD.  It's a playlist of TV Series, not individual movies or episodes.  When you initiate playback of a "Syndication Play List", the UI calls the API to request a list of the episodes to play.  The server looks through you watch history to see the most recently watched episode in each series, and picks the next one.  Of course, not all series have the same number of episodes.  There's an option in the Play List to specify whether a Series should loop back around to the beginning when it runs out of episodes.  If a Series runs out of episodes, and the Series restart flag is not set, then the series is skipped.  There is another option on the Play List which permits the programming block to keep looping until you manually stop it.

Right now, the only thing that's working is the basic Play List interpretation and episode selection on the server, and playback in the web client.  The storage of Play Lists in the database is solved, however, currently the Play Lists offered to the user are hard-coded in the web client.  Display and selection of a playlist in the web client is minimally solved, but creation, editing and deletion/deactivation of Play Lists is still to be developed.  

So, it's a baby feature, but just testing it out, I've really enjoyed the "one episode at a time for each series" thing... and as I get used to the patterns of the playlists (show A, then show B, then show C) I suspect it will be more enjoyable and relaxing.  Maybe this is just a me thing, but I find it more enjoyable than binging for a lot of shows... maybe most of them.

One thing I've also been thinking of as a stretch goal for this playlist feature is a "movie of the week" sort of function.  Basically, create a special kind of artifact (an new "Major Type", maybe) which picks out a movie that meets certain user-definable criteria, and hasn't been watched in some period of time (90 days, maybe), and inserts that into the artifact list.

Anyway, that's what's been going on at RIBBBITn3rding.  If you're curious, you can check out the code for RMVOD here: https://github.com/taobear68/rmvod  (it's Open Source)

Saturday, April 13, 2024

...and you thought MS Windows was inexcuably bad before....

 This article tells us that Microsoft will be including ads in the file browser of Windows 11.

So let's see if I have this straight.  Microsoft gets money from the computer OEM for the pre-installed version of Windows.  Microsoft collects "usage data" and possibly other personal data which it can use to tailor future versions of software to be more profitable, and also sell on to third parties making more revenue.  Microsoft gets to show you ads when you use their search platform which is defaulted in the pre-installed web browser ("Edge"), and now Microsoft is going to show you ads in your file browser.

I can't help but wonder how many steps there are between this and Microsoft just showing up at your house in a windowless van, pulling a black fabric bag over your head, dosing you with a paralytic, and take you off to some undisclosed site where they harvest all your black-market saleable organs and tissues, and dump what's left in the Berkeley Pit.

OK, maybe that's hyperbole.  Maybe.

The article says that this won't affect commercial users.  Goodie.

So-called "insiders" will get the ads in the "Beta Channel".  The article suggests that negative feedback from these "insiders" could influence Microsoft to not promote this "feature" to general release.  I have my doubts.  

If Microsoft was giving away (free as in beer) full-fat Windows Professional (or, better still, "Windows Server") with no restrictions, and wasn't doing the "telemetry" thing... maybe I wouldn't mind ads in the file browser.  ...maybe.  Windows is already generating revenue, and provides them an "in" to sell more products and services.  I suspect Microsoft could afford to distribute Windows for free as a "loss leader" and only charge for the add-ons (MS Office and so on) and it wouldn't really hurt their money position.  According to this, Windows 11 amounts to just over 10% of the company's revenue.  The overwhelming majority of their revenue comes from cloud services (Azure and Microsoft 365) -- more than five times what Windows 11 brings in.  That's also where most of their growth is.  Some Internet stats show MS Windows declining in market share to Mac and Linux, to as low as the mid 70% range.  

 Ironically, Linux is crushing it on Microsoft's cloud platform.

Tuesday, February 20, 2024

Proxmox Migration - Progress Report #3

The dead speak!

OK, it's not quite that cartoonish.  Jerome is up and running Proxmox.  It is in the cluster with joanna.  Migrating running VMs between the hosts is a piece of cake.

Networking appears to be doing networking properly, so that's good.

I've created new PFSense and TrueNAS VMs on jerome and am currently migrating the data from the TrueNAS VM I created on joanna over to the one on jerome.  I chose to rsync the data over rather than try to move the running VM because the way I have the storage set up on jerome is different - I have one big ZFS drive on the host, and mutiple virtual disks shared up to the TrueNAS VM on jerome, whereas I just did one big ZFS on jaonna and gave the whole thing to TrueNAS -- in retrospect, that appears to have been an error.  The way I'm doing it on jerome allows me more control over the shares and the ability to regulate provisioning of storage add storage if needed, which was not really available the way I did it on joanna.

...well, that was yesterday.  As of today, jerome is completely stood-up, and all my "expected to be up all the time" VMs are there.  Storage has been built out and migrated.  The PFsense VM is doing its thing.  My DNSMasq host - an olde Raspberry Pi 2 - has been repointed (hopefully for the last time) to the PFSense firewall on jerome.

Storage share clients have all been pointed to the new trueNAS VM on jerome.

The only things that didn't go as I'd initially planned were:  

  1. I was unable to use a larger NVMe SSD on jerome because old motherboard
  2. SO's MS Windows VM had to be recreated with the storage from the original VM mounted as a bag on the side.

All things considered, I'm very happy with the way the migration to Proxmox has gone.  

Joanna now houses lab/testing VMs, and will be off unless access to those VMs is needed.  Jerome is the primary VM host again, and the manageability and robustness has never been better.

Next, I'll have to work out how backups are going to be done.  That shouldn't be too bad, tho.

So, this is me, calling the Proxmox migration a success, and signing off for now.

Tuesday, February 13, 2024

Proxmox Migration - Progress Report #2

Joanna - the new Proxmox host - is up and running, and all but two VMs have been migrated, and demonstrated to work properly.  I've created a new PFsense VM on joanna, and configured and tested it.  This will operate in place of the one still running on Jerome - the old VM host based on VirtualBox.  The "old" PFsense VM will not be preseved.  A new one will be created once jerome has been setup to run Proxmox.

The other VM still running on Jerome is my SO's desktop VM (running - shudder - MS Windows).  The one dificulty I expect may happen when migrating is the whole "you've replaced too much hardware" alarm going off and having to re-register MS Windows 10.  On the plus side, it's retail Win 10 Pro.  As such, my understanding is that you can re-home the license, unlike OEM versions.  The possible downside is Win10 is approaching EOL (October of next year) and MS would really rather you use Win11 because telemetry.  We'll see.  I'm confident in my process for migrating VMs from VirtualBox to Proxmox.  I'm less confident in Microsoft.

Floyd - the old storage host - is still plugging along.  All shares have been moved off the storage on jerome, and all clients are re-pointed to floyd.  That's good.

I'm planning to migrate routing from the PFsense VM on jerome to the one on joanna today, and shutting down the one on jerome.  This coming Saturday, I'm planning to migrate the last VM - the Win10 one - off jerome, and lights-out the box for the last time as an Ubuntu-based VM host running VirtualBox.  Then, hopefully, I can take my time getting jerome stood up as a properly-configured Proxmox host.


Saturday, February 3, 2024

Proxmox Migration - Progress Report #1

I have procured parts to build a "modern" Proxmox host, including an ATX MoBo, 12C/24T AMD Ryzen 7900X, 128GB RAM, a 2TB SSD, and 4 x 1GB NIC.  I've pre-built the new host (Joanna, named after Roz mother from Frasier ...and, yes, I've set up that many machines that I'm going that deep into the bench of Frasier characters) on a "test bench" frame I bought.

The parts... minus the NIC and SSD.  Also ended up
using the cooler that came with the CPU.

I have done some storage experiments, and arrived at the conclusion that using the existing 18TB disks in a XFS RAID5 will be the way to go.  That means I will need to wipe the disks and re-format them when I do the OS Reinstall on Jerome.  For continuity of service, that means I need to port those files off to somewhere else.  I have decided to light up Floyd, my old 20-bay storage server, which has been cold iron for a little over a year (that's when I migrated storage to the disks onboard Jerome).  Floyd is up and operating as expected.  I have migrated my video library back over there, and now I have to migrate my other file shares over there.  Then I need to repoint all my share mounts.  That'll be fun.  This is in preparation for the OS install on Jerome.

Of course, I'll also need to migrate all the VMs currently running on Jerome off to Joanna.  In previous migration attempts, I have not forced the MAC address of the copy to match the MAC of the original.  For these remaining VMs, I really want to make sure the copies on Joanna look just like the originals did on Jerome.  Hopefully I can coordinate everything and set the MACs, and they just come up.

I've done some networking experiments with the new NIC, and managed to get 2 of the 4 interfaces set up, which is the minimum I need to set-up my replacement PFsense VM.  I plan on the other two being "room for expansion".  I've decided to go with a replacement rather than a migration, as I want to be able to "flip the switch" on my other machines -- from VirtualBox-based VM to Proxmox-based VM -- without any down time.  Once Jerome is back up running Proxmox, I'll just set up another PFsense VM there.  ...but I'll be able to take my time and make sure all the network interfaces are set up and working as I expect.

I had hoped that I could setup a "storage" VM on Joanna, and mount the shares from Floyd there, and re-share them via NFS, which, I'd hoped, would eliminate the need to re-write all the /etc/fstab files on all the machines on the network that use the shares twice.  It looks like that's not going to work.  However, I did figure out how I'm going to do the big disk array once Jerome is running Proxmox, and I will be using a storage VM to share those filesystems... I may even try out TrueNAS.  Who knows.  At a minimum, I can just use Debian, as my needs are pretty contained.

Ultimately, my plan is for Jerome to be the "prime" VM host, where all my "full time" VMs (storage, firewall, desktop, streaming servers) will run, and Joanna will be my "secondary" VM host, where "lab machines" and other non-full time VMs will live.  Each VM host will have its own local storage, but the "Big Store" will live on Jerome for the foreseeable future.  Floyd (named, incidentally, for Mayberry's favorite barber -- I used to name my machines after Andy Griffith Show characters) will go back to cold iron once the migration on Jerome is complete.

Today, I plan to move the guts of Joanna into the case I'd originally bought for Zora.  Then, I'll migrate some (all?) the non-PFsense VMs to Joanna.  Maybe I can also set up a PFsense VM on Joanna.  We'll see.  It looks like it'll be a full, rich day.

Tuesday, January 30, 2024

Migrating from VirtualBox to Proxmox - A beginning

A long time ago, now (2019, as it turns out), I set up a super-duper AMD Threadripper machine with 16 cores and 32 threads, and 128GB of RAM to be a Virtual Machine host for my home lab. Since then, it has evolved into the host for my PFsense router, my "desktop" machine, and a bunch of other VMs, as well as my storage server. At the time, I set it up with a regular Ubuntu install with VirtualBox running on it. All these VMs are being run on VirtualBox. 

I know. 

Well, time-and-a-half went by, and I became aware of Proxmox. I never really had spare hardware with enough grunt to really try it out, so I kinda let it go. Then, my employment relationship with that online furniture retailer (as well as those of about 500 other folks) suddenly ended. The machine I'd put together as a "BYO" desktop for work was suddenly out of a job as well. That was a pretty beefy machine... AMD Ryzen 7, 8C16T with 32GB of RAM... but it had a sort of narcolepsy problem. it would just... for no apparent cause... stop. It didn't seem to be thermally-related... not the power supply. I have no explanation... it just farts out... but I can usually get a good 6-8 hours out of it, sometimes a lot more. ...so it finally dawned on me that this old beast might be a good Proxmox test mule.   That was a couple months ago.  I decided to give it a go, and I like it. I like it enough that I want to migrate my "production" VM host to Proxmox. 

Well. 

I'd hoped to migrate the VMs, one by one, to Proxmox on a different host, and then do an OS re-install on Jerome (the Threadripper box - named after the "good family man" to whom, Frasier and Niles owed a "favor") with Proxmox, and migrate some or all of the VMs back over. 

The old BYO machine (named Zora, after Fraiser's "excitable" Greek aunt... I have a lot of machines named after characters from Frasier) is based on a Mini-ITX motherboard, so it has only one PCIe slot, and that's taken up by a video card. I need more Ethernet ports to run my PFsense router... and, of course, there's the "oops I forgot how to computer" problem. So, I decided to build a new machine, with a full ATX motherboard, and slots... and I managed to find an AMD Ryzen 7 CPU with 12 cores and 24 threads AND a built-in GPU... so that's exciting. Not QUITE as heavy as Jerome, but pretty good... and 128GB of RAM. So, I can put a 4 x 1GB Ethernet board in there, and run my PFsense router, and the board has 4 SATA ports, so I can figure out how to do my storage. 

Ah, yes, storage. Jerome has three 18TB drives in a RAID5 array, and those are run by the host OS. I'm thinking that under Proxmox, I will have the raw drives forwarded up to one of the VMs that will serve as the storage server... but I'm not entirely sure how that will work. I haven't really dug into the docs yet. I know it's been done in other KVM environments, so... I'm confident it should be doable. When I get the new machine up and running I can try it out. It would be lovely to just be able to take the disks as they are, and plug them in on a fresh Proxmox install, build a fileshare VM and just... ta-da! We'll see. 

So, the parts for the new Proxmox host are supposed to show up today. Hopefully, everything goes together without a hitch, and I can begin properly experimenting. 

Updates when they're warranted.

RMVOD r0.9.3 is here!

 Hi folks!   Well, TV Series Playlists are here, as well as some fixes to Recommendations.  Here are the release notes: RIBBBITmedia Video O...