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”Month: April 2021
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: Websockets
This post picks up right where the last one left off. I got VC-4 running on an RHEL instance, but now we’re back to some of the challenges that VC-4 brings… like printing to a console window.
Continue reading “VC-4: Websockets”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?”