156 karma · joined November 22, 2016
The article closes with 'think big', but I think is incomplete in scope.
The Aeron chairs by Herman Miller are popular in some re-insurance companies. I have used the Mirra 2 chair, but prefer the Aeron.
The Aeron, unless purchased used, probably won't fit in your budget, but breaking the budget on such an important item as this will probably be of value.
There is System 7 with Linux native laptops.
https://developers.redhat.com/blog/2018/10/22/introduction-t...
"Many Canadians believe that Huawei stole the core technologies and business strategies from Nortel and used that knowledge to drive Nortel out of world markets and into bankruptcy. "
[0] https://www.assemblymag.com/blogs/14-assembly-blog/post/9063...
When you get into microservices, you get into additional layers of complexity.
The primary one being that you now need to get into inter-service communications, which means serializing/de-serializing messages across the wire, and building in structure to handle the associated failure modes.
What they should look into is trying to build eBPF and XDP in Rust. Then you get that compiled language speed and safety in the kernel.
A few quotes:
"I view OpenBMC as on its knees with tears streaming down its face begging for someone to please rewrite me in Rust, because if we're going to have a BMC that's going to hang out a socket over the internet, God forbid, or even over the network, I want that thing to be in Rust."
"That the beauty of Rust is its ability to interoperate, cooperate, with native systems or C-based systems; allow for vistas to open up."
Someone has a tutorial on using graphviz directly: https://mikegriffin.ie/blog/20110308-a-graphviz-tutorial
SaltStack files have state files (commands and general configs) controlled by a 'top' file which lists hosts and their configurations. SaltStack files have pillar files (configuration parameters and values unique to device being configured) controlled by a 'top' file which lists hosts and the parameters. These relationships could be mapped by dot as a visual path through relationships.
Making a giant leap into the realm of general documentation, in a similar vein, document various pieces of the work flow as separate entities, where the documented entities may be common to several different work flows. Workflows then become linked version of various entities. And dot can generate work flow diagrams.
This all requires organization and effort. In hindsight, I've suggested doing documentation as though you are writing a software program. I'm not sure if tooling exists to do such a thing.
Take it all with a grain of salt. So to speak.
I've found that running everything via SaltStatck scripts helps to keep things scripted and documented: as in, the scripts are the documentation (build and maintenance notes are inherently part of the 'process code').
Then apps like dot and similar can be used to build links from the code and attribute files.
That is, attempt to build 'single sources of truth'. And then use tools to 'view' the relationships from their original sources.
By testing the scripts and using the scripts, processes and docs are inherently kept up to date.
Rigorously use the scripts and don't do things manually.
The article, like most rust articles (in my perception), attacks the 'memory unsafety' issue, and therefore 'everything needs to be converted to rust'.
But ... does rust have the multi-paradigm programming mechanisms which are available in C++?
The article also ignores the issue that the recent releases of C++ are including programming methods for reducing/eliminating the memory issues: RAII, for instance, is a fundamental mechanism for ensuring memory is released at the correct time. Range operators work to eliminate the indexing issues.
'with great power comes great responsibility'. does rust offer the programming tools available in C++? templating, meta-programming, functional coding, procedural programming, object oriented constructs, ....
So, I think the title '.... and Developers Don't Want to Deal with It' is incorrect and click baity. C++ is in active development and evolution, and constructs are coming into place which help to alleviate the issues mentioned in the article.
Self taught may have fundamental skill sets, but there is benefit in having some sort of educational background which introduces one to some of the more complicated aspects of application design and implementation.
It is that, or being a voracious reader of technical books and being a conference goer, ... ie, basically somehow being able to keep track of and understand the goings-on of current paradigms.
What sort of 'seamless integration' issues are you having?
Also, what sort of bookkeeping/accounting system do you use for transaction management?
Depending upon which world you live, Cisco has their automation, Juniper theirs, and open source has things like Ansible, NAPALM, SaltStack/Proxy,...
Thinking logically and being able to write intent based rules is going to be important.
Do some research on SDN, SDWAN, NFV, ....
Lookup NetFlow as a management tool.
Security, networking, application delivery are all becoming inter-twined and Software Driven.
Adapt or Die.
On the other hand, take a look at your developer's postures: are they leaning/squinting into the screen? Are they using 1:1 pixels, or scaling?
What does the retina get you when one is a developer?
Coming back to what I said, I have large monitors so that I can make use of and see the pixels. Any thing smaller would probably be a waste of 4K unless I had really good eye-sight.