RocketChat server not running. Cancelling

As you might know, I’ve set up a RocketChat server recently on Digital Ocean. So far it’s been working great. An update every once and a while is all it needs.

However, yesterday, I attempted an update that failed. From then on every attempted update resulted in “RocketChat server not running. Cancelling”. This was very frutrating.

First, a few commands to try that might help:

  1. systemctl restart rocketchat.service – This will start your RocketChat server in case it is stopped.
  2. systemctl status rocketchat.service – Use this command to check the results of the previous command. Typically this will report that the service is “Active” if the previous command was successful.

In my case, the second command resulted in a “failed” state. The command itself gave me some information as to what the failure was, but not a lot of context as to what caused the failure. However, it did show me the process that it attempted to run. It said, ExecStart=/opt/nvm/versions/node/v14.19.3/bin/node /opt/Rocket.Chat/main.js (code=exited, status=1/FAILURE).

Alright! We’re getting somewhere. With that I was able to figure out what command failed and where that command was run. I navigated directly to the /opt/Rocket.Chat directory which was where the failure was occurring. From here I ran node main.js. The results of this command were much more helpful. They told me this, Error: Cannot find module '@meteorjs/reify/lib/runtime'. That looks like an issue with npm dependencies.

So, I poked around the Rocket.Chat directory structure and looked for dependencies for the Rocket.Chat server. I found what I was looking for in the /opt/Rocket.Chat/programs/server directory.

From this directory I ran two commands

  1. npm install
  2. npm ci

Afterwards I attempted to start the RocketChat server again using the systemctl restart rocketchat.service command. I checked it with systemctl status rocketchat.service and found that it was working now! RocketChat was back to running normally. The problem with “RocketChat server not running. Cancelling” was gone!

SmileKeepers Medford Childrens Dentist Office

Yesterday I took my son to SmileKeepers Medford Childrens dentist office.

I had to fight with the dental staff just to be allowed in the room where the work would be done. They suggested I wait in the car. I pushed to the point where I actually met with the dentist before the appointment. The dentist said to me that he’d been doing this for 40 years and he didn’t need my help “back there”. However, I was prepared to leave if my request was not met. So, after much pushing on my part they allowed me back in the room with my son. They said, that if I was going to come back they would just have to do less work on his mouth than they had planned. Note: This has never been a problem with any other dentist. I’ve been in the room with my kids numerous times and my kids draw comfort and courage from knowing that I’m in the room.

I sat in the corner of the room, as I normally do at the dentist, and the staff worked with my boy. My boy was great, he let the assistants work on his mouth, easily took the laughing gas, and was following directions well. Then the dentist came in and began to work. It wasn’t long before my son was silently writhing in pain, trying to tough it out. My son then began to tell the dentist that what he was doing hurt. The dentist would stop working on my sons mouth and ask “does it hurt?”, my son would answer “Yes”, then dentist would say, “I’m not doing anything right now, so it can’t be hurting” and then would continue working. My son was telling the dentist continually that it was hurting. However, the dentist was not listening to my boys concerns when my son said he was hurting. Instead the dentist was arguing with my son about whether he hurt or not. He was demeaning and was not treating my son with respect, he wasn’t treating my boy the way I would expect a person to be treated. He exasperated my son. There was nothing I could do, I wasn’t just going to leave the office with my boy bleeding from his mouth and try to rush him to another dentist. I also wasn’t going to risk telling this man who’d been doing this for 40 years how to do his job. Who knows if he’s the kind of person to take “revenge”. I had to let the man finish what he was doing as quickly as possible.

Now, anyone who knows him knows my son is tough. When my son says something hurts, he is telling the truth and I believe him. That said, I have never seen any one of my six kids like I saw my boy yesterday. I listened as my son yelled “No, no, no!” and the dentist ignored him to continue “working”. I sat there in silent rage as my boy screamed and writhed in pain, and instead of validating my sons concerns, the dentist argued with him and tried to prove him wrong.

What’s more is that when the appointment was over the dentist turned to me and said “this is why we don’t allow parents back in the room” as if it was my fault.

Now, I’ve taken the day to let my feelings subside and to think about this logically…

I am livid. There is a word that describes what happened to my son yesterday, abuse. I don’t even want to think of the additional “work” they would have done had I elected to wait in the car as they’d suggested. Anyone who knows us knows that we will push our kids through their tears when necessary. This was not one of those times.

Dr. Zirkle from SmileKeepers Children in Medford Oregon is the dentists name. He is not a safe dentist. I strongly recommend keeping your distance from him. We’ve pulled all 5 of our kids who are patients out of that office and we won’t be using another “SmileKeepers” or affiliated brand of Interdent dentist office (Gentle Dental) ever again. The fact that Dr. Zirkle is allowed to continue to represent Interdent is indicative of the bad decisions Interdent makes. A representative like Dr. Zirkle reflects very poorly on the Interdent company as a whole.

Other Parents Experiences

Other reviews are just as horrific. Apparently this has been happening for YEARS.

Outside link:
https://www.doctor-oogle.com/108058-redding-pediatric-dentist-dr-ronald-zirkle#read_review

Getting Started with Rocket Chat Using Digital Ocean Backing

RocketChat (https://rocket.chat) is a chatting tool similar to MatterMost and Slack. It offers a self-managed community edition as well as some paid plans and is in active development. I’m just learning how to use it, so I’m planning on documenting my journey here.

I installed and set up RocketChat installed in a matter of minutes. The QuickStart guide, though short, includes most of what you need to get up and running.

To get started with your RocketChat instance on DigitalOcean you need to:

  1. Create a DigitalOcean account
  2. Install RocketChat
  3. Create an A Record that points to your Digital Ocean Droplet. *
  4. Setup your Let’s Encrypt certificate.
    rocketchatctl configure --lets-encrypt --root-url=YOUR_DOMAIN --letsencrypt-email=YOUR_EMAIL
  5. Update your RocketChat installation. Run the following commands from your droplet command line interface.
    1. Run sudo rocketchatctl upgrade-rocketchatctl
    2. Run sudo rocketchatctl update

* I use Cloudflare to host my DNS. In this case I had to disable the proxying on the A Record in order to allow RocketChat to work correctly.

Now visit your site (you should not run into any problems) and create your administration account.

One Note

From time to time the Rocket Chat server responds with “Bad Gateway”. I’m not sure exactly why. However, a DigitalOcean droplet can be restarted by using the reboot command from the command line interface.

Google Fi Auto Connect Issues

Ok, so I use Google Fi (formerly known as Project Fi) as my phone provider. I have a Pixel 2 and haven’t felt the need to upgrade. Recently I’ve noticed issues with my service. Specifically, my Pixel 2 will connect to an H+ network or an Edge network in an area I know has reliable 4G LTE. So, what gives?

First a quick and dirty explanation of the Google Fi network based on my limited understanding 😁. Google Fi utilizes the TMobile (which I believe includes Sprint now) and US Cellular networks as well as WI-Fi to provide cellular service to their customers. Phones on the Google Fi network smartly switch to whatever provider has the best signal. At least that’s the idea.

Knowing that Fi uses multiple cell networks to provide service I wondered what network my phone was using. Using SignalCheck Lite I was able to determine that my phone was connecting to the TMobile network by default. In my area US Cellular beats TMobile coverage hands down. There is no competition. So what is the deal with my phone auto connecting to Edge and H+ networks?

Honestly, I don’t know yet. I strongly suspect a recent update to the Google Fi app or services set my phone to prefer TMobile regardless of network speed. Whether this was an intentional change or a bug in the auto-connect code, I don’t know. I’ve been able to temporarily fix this issue by forcing a connection to US Cellular using Google Fi dialer code: *#*#34872#*#*

Google Fi Dialer Codes

I pulled these codes come from this post on ArkieNet. I’m including them here just in case the post poofs from the internet in the future.

Note this paragraph from the original article:

The following options are only available for “Designed for Fi” phones. They will not work on the iPhone or “Compatible with Fi” phones because they are T-Mobile only.  See which class of phone you have here.

ArkieNet
ALPHA CODEDIALER CODEDESCRIPTION
FI AUTO*#*#342886#*#*Set carrier selection to automatic.
FI NEXT*#*#346398#*#*Select Next Carrier
FI SPR*#*#34777#*#*Select Sprint for 2 hours
FI TMO*#*#34866#*#*Select T-Mobile 2 hours
FI USC*#*#34872#*#*Select US Cellular 2 hours
FI SIMON*#*#3474666#*#*Select Three (UK only)
ALPHA CODE
DIALER CODE
DESCRIPTION
FIXME*#*#34963#*#*Force reactivation
FI INFO*#*#344636#*#*Get information about the current network.
INFO*#*#4636#*#*Get general phone information.
DEBUG*#*#33284#*#*Phone Debug Options
PRL*#*#775#*#*Force download of Preferred Roaming List (Sprint)
PRL*228Force download of Preferred Roaming List (US Cellular)
FI ROAM*#*#347626#*#*Turn on International Roaming
SWITCH
SIM
*#*#794824746#*#*Switch to / from eSim.

Why I no longer contribute to StackOverflow – Michael T. Richter

I ran into this post by Michael T. Richter a while ago and found it to be an interesting read. I certainly recall the regex question he’s talking about and I remember stumbling upon that question myself back in the day. In the past StackOverflow did seem more like a community of developers who wanted to have fun and help eachother out. The dude makes some good points in his (now old and deleted) post.

However it has been archived and so I link to the archive here, mainly for my own future reference.

Why I no longer contribute to StackOverflow – Michael T. Richter

Google Music Canceled, Panic and Resolution

I love Google Music. I’ve been using it since the day (or the month) it came out and I will most likely be using it until it goes away (or I die, one of the two). I’ve built up a large number of playlists and a library. I have go to playlists for when I’m down or when I need to get into that “Work” mode. I have never canceled the service and I still get the promotional price.

And then Google Music was canceled

Imagine my surprised panic this morning when I found the following in my inbox:

Google Music Subscription has been canceled.
WHAT?!!!! NOOOOOOOOOOoooooooo!!!!

Egagh! Wha? Panic panic panic panic… what? Why has this happened to me?! WHY?!!!!

If they canceled my order, did they kill my promotional price?

Still panicking I went and searched through my emails from the last several days. I found the following email regarding my payment method not working (those credit cards, always expiring).

Google Music Order is on Hold Email
My order is on hold and will be canceled. Thank goodness for this Fix button.

They gave me a whole day to update my payment method. Why hadn’t I done it? Oh, yeah, the day that they gave me was Thanksgiving. Thanksgiving is quite possibly one of the busiest days of the year (besides Christmas).

Excellent! The email that Google sent me includes a “Fix or Retry now” button. This should be able to “Fix” the issue! Unfortunately, no. There was no information on the resulting page that indicated or alluded to how to fix the issue.

So I did what any other normal extremely panicked person would do. I started up a support chat with Googles Customer Service.

The Customer Service Representative was very nice. They told me that I should be able to “Resubscribe” to Google Music and that I should be able to maintain my promotional price.

So that’s what I did. I visited https://music.google.com. There was a friendly banner right at the top asking me if I wanted to resubscribe. So I resubscribed and everything is great – panic subsided.

That said I do have a couple of suggestions based on this experience.

  1. If you are going to provide a “Fix” button… then at the very least it should point the user to how to fix the problem. A simple “Order Canceled by mistake?” would’ve done wonders in my situation.
  2. Maybe give the user more than a day to fix the issue? Especially if the day you give them just happens to be a national holiday.