Tuesday April 12th, 2022 NCLUG Meeting
Bob Proulx
bob at proulx.com
Tue Apr 12 19:52:21 MDT 2022
j dewitt wrote:
> What: Tuesday April 12th, 2022 NCLUG Meeting
Tonight's meeting occurs on another day of endless, endless wind.
Endless wind. Will the wind never stop? The world may never know.
At the beginning people were discussing relative compile performance
of various compilers. C# on GNU/Linux. C++. Javascript. Some
determination was that C# compile was 3x faster than C++. Which seems
shocking to me that C++ wasn't slower! (Ignore my trolling.)
https://xkcd.com/303/
And various discussion of the VS Code IDE. And how sometimes things
are annoying when the IDE reacts immediately. For example the IDE
wants everything constructed correctly all of the time. If you try to
add code that calls a new function and haven't added the function yet
then it complains that that the function doesn't exist. Well not yet
as the construction is in progress and continuing. It's a different
mindset.
Drifted to talking about support of complex numbers in the various
languages. C++, C, Python, other languages. This actually picks up a
discussion that was left unfinished from a meeting several months
ago. This was rather extended.
Alex brought a most excellent show-n-tell. He has a Steam Deck. It's
an amd64 architecture gaming computer system in a portable hand held
game controller with an integrated display. It runs GNU/Linux. It
has a full KDE Plasma Desktop Environment. It has haptic feedback
with a spinner-vibrator that I found really cool. For example
depending upon what controls you use it tells you it is not active
with a little vibration making it super easy to learn. It runs Proton
which is like WINE with Vulcan/DirectX. Alex says it came very open
and for example out of the box he has root on the installed OS.
Really a very cool bit of kit.
https://www.steamdeck.com/en/
Aaron brought his mini-display port adaptor and therefore we could see
an actual demonstration. (Referring to a previous meeting where none
of us in the room had any way to connect a display to his mini-display
port on his machine.) Aaron gave us a demonstration of Salt for
system configuration. It starts with "pillars of salt" analogy for
defining a system configuration and then applying it.
The configuration language uses YAML. Which Aaron thought was nicer
than other systems that use JSON. We saw a demonstration of the
configuration files and Aaron walked us through how a network of
systems of different types might be configured digging deeper into how
a single system of a collection might be configured. He is using
Jinja2 templating. This sets this up using templates which are then
expanded and configured uniquely on each system.
Salt was described as supporting both push and pull distribution.
Clients can be configured to pull. Servers can be configured to push.
(I am a fan of pull systems.) Salt also supports distribute command
execution for arbitrary commands. (In a similar way to "dsh"
distributed shell.) Can run a command across the entire collection in
parallel.
Some diversion to talk about KernelCare which supports not needing to
reboot but can live patch Linux kernels in place resulting in the
equivalent of a kernel upgrade and reboot, without rebooting.
Keeping with the Salt theme there is the capability for "grains of
salt" to collect and categorize systems. Can then configure subsets
of the collection based upon various criteria. Can run commands
across any arbitrary subset. That's pretty cool. Can rate limit the
execution rollout of this across in batches. Also very cool.
Salt is agent based. There is an agent running on the client. By
contrast Ansible is not agent based and runs by running commands over
an ssh connection. Some things are easier in Ansible than Salt. Some
things are easier to do in Salt. Such as, keeping with the theme,
"Thorium Reactors."
Salt is a pretty heavy package of dependencies and pulls in some tens
of megabytes of python libraries.
Nate then next gave a demonstration of a Samsung Galaxy TAB S8 Ultra
as a possible thin laptop replacement. It's a large 14 inch tablet!
Wow. And then with the magnetically connected keyboard it really
looks like a thin laptop when connected. It's something I am
interested in because I am still using my decade old X220 which is
huge by comparison and am shopping for a new smaller laptop for a
replacement. The Samsung runs Android and the combination is an
Android system. Which means using Termux and other tools. Nate is
just getting going on this combination and says there will be an
updated report later when he has worked out some of the kinks of
moving into the new system.
Stephen talked about a different templating engine. A program he has
been working on. Stephen's Templating Engine! He has written his own
and gave a demonstration of how it was working. This was also in
Python. Which has an advantage that python has self reflection so can
reach into the data structures of the template engine and use it to
advantage. In this case he is writing a C/C++ code generator. Or
maybe more of a pre-processor. To which I can't remember who famously
said that it is more fun to write programs that write programs than
just to write programs.
More information about the NCLUG
mailing list