Staff Books

Light-hearted, friendly guides and talks on various subjects.

Rix's Browser Extensions

The Issue

So you probably have heard the words "Manifest v3" being thrown around in regards to an upcoming version of Google Chrome. This has raised a number of concerns among internet watchdogs, with a number of valid complaints being raised about the implementation, which according to the Electronic Frontier Foundation (EFF) will hurt Privacy, Security, and Innovation on the internet. But one more widely talked-about impact is that Manifest v3's implementation by Google will render adblocking extensions inoperable.

Many people utlilze and rely on adblocking software for a number of purposes. Some websites are in fact impossible to navigate without these extensions and tools. While yes, there is an argument to be made about the morality of adblocking software, with various schools of thought of when you should "whitelist" sites or channels, that is a decision that should be left with the user of the software, not the world's largest ad conglomorate. So, what can you do? Public outcry has not been enough to sway Google from their path. Thankfully, there are other options for web browsing that do not have this issue.

Enter FireFox. Yes, good old trusty FireFox. Sure, the software has had its ups and downs, but the current version of FireFox is fast, private, and my personal choice for daily driving. Why should you care about privacy? There isn't one "true" answer, but there are plenty readily available good ones. (Here, Let Me Google That For You) Simply speaking, in my opinion your data is your data and it's not Google's business or anyone else's. The world spent 521.02 billion USD on advertisments in 2021, and incredibly smart people have dedicated their lives to collecting data about you to serve you more topical ads - tracking every click, keystroke, and preference you have on the internet. Sophisticated algorithms can even know more things about you than your best friend or significant other, and all of that data is sold to the highest bidder. Among various technologies that can be used to identify users is Browser Fingerprinting, using various programs and techniques. Want to test how much personal data your browser is leaking and how identifiable it is? You might be surprised. Check here:

Firefox bills itself as privacy, speed, and security focused. What's nice is that I can also add a number of extensions and heavily customize it for my purposes. I am a fan of online privacy, but that is not to say I am perfect. I still use GMail, Google Search, and sometimes filter pages through Google Translate. But, I have taken steps to limit the amount of data I leak, and honestly, that's a good place to start. Completely De-Googling is often something that online privacy communities fixate on, and shun anyone who isn't willing to make that jump and sacrifice. I'll be the first to admit that Google, the largest ad company on the planet, is so incredibly convenient - but that's not to say that I like all the things their company does. Even taking little steps can help you lead a more secure, faster, cleaner life.

My Extensions

Online Privacy

Some of these products can break some webpages, meaning that they must be manually disabled on occasion for some sites. In my mind, it's a hassle worth paying. YMMV.

Website Enhancements

A number of these probably leak some amount of personal data, but I still use them because they're convenient

A lot of the extension I use are either niche, overkill, require some tweaking of settings, or all three. Howver, some are simple drop-in tools that I use every day. Combined with neat features like Firefox's DNS over HTTPS, strict inbuilt tracking protection, and HTTPS-Only mode (seriously, if your website doesn't support HTTPS in 2022 what's wrong with you), and other settings you can find in Firefox's simple, easy-to-navigate menus, Firefox has become my favorite browser and has resulted in a much cleaner, ad-free experience on the net. In fact, I donate money to Mozilla every month for the work they do, to help keep Firefox relevant and secure and to avoid giving Google a total monopoly on how you browse the internet.

I hope this has been informative, and if you have any questions, please feel free to reach out! Here's to a faster, more secure future together.

Notification Methods

Hello, Seals! 

A few weeks ago, I asked you to fill out a survey about how we currently provide notifications for cases. While we’re still investigating possibilities, I wanted to just provide a few points of comment on what the early results say. I wanted to thank the 18 of you who filled out the survey, as it is only through your feedback that we can chart the best path forward.  

The majority of you rely on Discord’s own notification system in order to know when cases come in. This was a truth that we were already aware of, but it is good to have solid data on this. We’ll continue to support Discord pings in the future.  

A number of you had expressed interest in a dedicated Hull Seals app for various platforms, or integration with an existing notification service, or even sending SMS notifications. Unfortunately, we do not have the budget to offer a SMS-message based notification signup service. However, we are taking your feedback into account and seeing if we can integrate a push-based notification framework into the next iterations of HalpyBOT and services. We are also beginning preliminary investigations into potentially developing a Hull Seals API which could allow further expansion and integration with other services in Elite. 

A few of you expressed frustration with case pings being moved to Trained Seals instead of Case Notify, or the lack of specific breakdown by platform for cases. I wanted to spend a moment and expand upon why these decisions were made.

The lack of segregation between platforms for pings is because the ping serves not only for Seals for the specific case but also for Dispatchers. Any seal can (and should!) Welcome a client. Dispatching doesn’t *require* specialized training, and while we offer Dispatch training it is not mandatory to take the course in order to take the hat.  

The migration of Case Notify to Trained Seal pings came about after a number of cases in short order across all platforms failed because no seals responded - or sometimes, not even welcoming or dispatching the client. In a few of these instances, multiple seals were active in chat and seemingly ignored the case! This wasn’t an acceptable situation, and unfortunately the only recourse we had was to widen the net of who was pinged. Without responding to cases, the Seals don’t exist. It has long been our policy that if we get back to a state where cases are responded to reliably and our numbers grow to a level that the staff are comfortable with, we will revert back to using the Case Notify system. Unfortunately, we are not there and cannot afford to cast this smaller net. 

Thanks for reading, and as always, please let me know if there are any questions!


HalpyBOT Dev Update #1

This update was originally posted on 02/13/2023

Heya folks, time to don my Cyber hat for a bit. 

It's been a little bit since the last update to HalpyBOT, and we wanted to give you an update on what we've been up to over in the Cyber world. 

Over the last little bit, we've been focusing on cleaning up and improving a number of aspects of the core bot, some of which haven't received any polish since version 1.0 of the bot! We've just finished what we think is the last of the core improvements to existing code, and are hard at work starting development of the new Case Manager system (the long awaited case management tool suite!) 

Here's a short list of most of the major improvements we've made to the bot - with thousands of changed lines so far:

- Established a new Config mechanism for increased stability and cleaner usage.
- Added a number of automated reviews to our code process to help prevent bugs.
- Updated some of the CLIs to use the updated database mechanisms.
- Refactored the CLIs to be more easily understood and maintained.
- Updated some of the CLIs to use the HalpyBOT Coordinate System.
- Simplified some CLI methods.
- Migrated HalpyBOT to use the Poetry package manager for easier maintainability.
- Removed the Delayed Case mechanism to be replaced by the upcoming Case Board mechanism.
- Added a Dice Roller command (And another command, Sorcerers and Wizards be careful!).
- Migrated HalpyBOT's global entry point to inside the HalpyBOT directory.
- Added a number of missing Docstrings for code documentation. 
- Integrates the BotClient and TCP Server into a single thread for memory stability.
- Migrates a number of module-level independent globals to the HalpyBOT main class for easier maintainability.
- Improves the Help command logic to be more responsive.
- Simplifies the Drill module logic to remove duplicated code fragments.
- Completely refactors the EDSM commands system from the ground up.
- Refactors the Staff Notification module to fix a number of potential bugs.
- Updated the performance of the Manual Case system.
- General logic and performance enhancements.
- Updated the offline mode system to fix a few possible issues.
- Completely refactors the case announcement system.
- Removes the Twitter module.
- Improves the logic of the CommandHandler system. 
- Improves error output when problems occur for better tracking by Staff and Users.
- Reworks the database check system to better maintain database connections.
- Updates the Coordinate system logic.
- Adds new Language Code, Database Connection, and Command file handlers to the HalpyBOT Class.
- Completely reworks the Client Configuration system for the botclient.
- Improved the message-sending system to avoid sending blank new lines. 
- Updated additional database linkups to use improved logic.
- Adds a timed, repeating task system to help automate some tasks. 
- Fixes a possible race condition on cross-thread reads and writes.

We're super proud of our work, and hope that you will like it too once version 2.0 is ready. If you want, you can even track our progress at

HalpyBOT Dev Update #2

Hey there folks!

With the ongoing process of HalpyBOT 2.0, I wanted to start developing a series of small dev blogs which I am hoping to be able to publish on an approximate monthly basis as to the developments that the Cyber team are cooking up in relation to SACM and HalpyBOT. Last month, I provided a small list of changes and features that we'd added, but wasn't very descriptive as to what some of these changes entailed. So, before we can take steps forward, let's step back for a moment and look at some of the more important chagnes in greater detail.

The Help Command

One of the things we've improved in HalpyBOT 2.0 is the contextual help system. Now, not only will the help system provide you with a greater understanding of some of the different commands, you can query for help strings in a broader context - and sometimes even query multiple commands at once.

image.pngThis even allows you to query Help commands based on their aliases!

Error Handling

We've also put great investment into helping the error diagnostics process. Previously, if an error occurred, HalpyBOT would simply emit that an error happened, but wouldn't tell you, the user, what went wrong. In 2.0, we've revamped the error handling system to give you an easy-to-remember, descriptive code to give to our Cybers to not only give us an idea of what has gone wrong, but also something that is easier to search in our logs. 


Error types you might see include Harbor, Walrus, Bearded, Leopard, or Ringed. No prizes for guessing what these are types of ;)

Most of the other 2.0 changes we've made so far aren't going to change what you see, and are all behind-the-hood types of changes, which you can read about briefly in The Previous Update. But for now, let's jump into what's been cooking recently!

Case Shouts

One of the most common aspect of HalpyBOT that Seals will see is the "shout" mechanic - where HalpyBOT informs us all of a new settlement which needs our help CMDR in need of rescue. This is one of the aspects of 2.0 which the Cybers were keen to improve. Currently, the Shout function is very basic, and includes a lot of hard-to-parse information. We've tried to improve the mechanic in several ways, including the reintroduction of Platform Short Codes, and clearer definitions as to what each thing means.

What are Short Codes?

Short codes are two to three-letter abbreviations we've used to try and improve quick, at-a-glance understanding of what a case's platform is. Some of you may remember this from the early days of HalpyBOT before the PC Split, or others might recognize a similar mechanic in other organizations. When short codes are combined with the keyword CASE, they become easy-to-understand word highlights which can be set up in almost all IRC clients.

So, instead of PC - OdysseyCASE, HalpyBOT will shout out something like PCOCASE - So much easier to parse! Common abbreviations will include:

In addition, we're improving the Platform printouts in the main case tracking section to be more succinct and clear as to what they are referring to. Here's an example of some of the new case ping blurbs.