Community Support

Like most mornings, I started today by reading through the Crestron Groups.io daily digest. It’s the spiritual successor to the old Yahoo message group. Reading through those posts really helped me out when I first started programming Crestron in SIMPL. I was already familiar with control systems (I’d been immersed in AMX for a couple years by that point), but coming to SIMPL from any other imperative programming language requires some different thinking. Lucky for me, there was a thriving community of professionals who were willing to share their knowledge and experience.

Continue reading “Community Support”

VC-4: Websocket-Sharp

The first version of my web console bastardized the Control Concepts module. Since we’re targeting the VC-4, we have unrestricted access to standard libraries that fall outside the Crestron sandbox. In this part, I’ll swap out WebsocketServer.dll for a NuGet package containing a WebsocketServer class instead.

Continue reading “VC-4: Websocket-Sharp”

VC-4: RHEL 8

The last time I wrote about VC-4, it was still based on Ubuntu 16.04. Crestron released an update around December 2020 that switched to Red Hat Enterprise Linux (RHEL) 8. I cut my teeth on Red Hat Linux 5, and once we had faster DSL Internet at home, I tried out a number of other Linux distros like Slackware, Debian, Gentoo, and finally Ubuntu. CentOS is a freely available version of RHEL, and the VC-4 installer claims to support either. So, in late December I decided I would create a new CentOS VM and try out the new version of VC-4.

Continue reading “VC-4: RHEL 8”

Merging .pacnew Files

I have a couple Linodes running. My mail server is powered by Arch Linux, and I always forget to check if new configuration updates need to be applied. I’m not a professional IT admin, so when things are working, I tend to leave well enough alone.

A quick way to locate configuration updates that were never applied is:

$ sudo find /etc -name '*.pacnew'

I throw a sudo on there because some folders in /etc are protected from prying eyes. This tells me I have several updates to Postfix I missed:

/etc/postfix/main.cf.pacnew
/etc/postfix/master.cf.pacnew
/etc/postfix/access.pacnew

Once I’ve found a file I want to inspect further, I can use vimdiff to interactively merge them:

$ sudo vimdiff /etc/postfix/main.cf{,pacnew}

This shell expansion will open up vim and compare the original (on the left) and the update (on the right). You can quickly move between differences using ]c (for next) or [c (for previous). To quickly copy the current change over, use do (diff obtain). I prefer to manually type in the updates if I spot any I need.

Now maintain those servers!

Does CH5 Need Webpack?

In the last post, I messed around with Webpack a little. Webpack is a tool that solves an inherent problem in JavaScript: modularity. Web developers have had to deal with finding ways to create large, complex applications using a language designed for quick, simple scripting.

In this post, I want to look at what Webpack does for CH5 development and do we actually need it.

Continue reading “Does CH5 Need Webpack?”