My sister got me a Logitech K480 Bluetooth keyboard for Christmas! What makes me truly excited about this gift is the mental exercise of using my Android phone as a content creation device. It’s a bit of a stretch, but with this kind of powerful technology in our pockets, we should be able to leverage these devices more productively.
My writing workflow is focused around markdown stored in git (backed by Gitlab or Github), rendered using Hugo, and leveraging Netlify’s platform for integration and deployment.
Use Ansible http://http://ansible.github.com/ [[http://infrastructure.fedoraproject.org/cgit/ansible.git/|Fedora Ansible GIT Repository]]: Good example of GIT usage. Roles are not heavily used, as that is a 1.2 feature. Fedora Reasoning for Ansible: https://fedoraproject.org/wiki/User:Skvidal/Ansible http://www.stavros.io/posts/example-provisioning-and-deployment-ansible/ Method of having multiple distro variable: http://blog.trifork.com/2013/04/02/ansible-example-playbook-to-setup-jenkins-slave/ Ansible Configuration Basic Security Lockdown (minimum services, sudo configuration, etc) Useful scripts (automatic update, or maybe a nice “motd” generator with number of packages to update, system load, etc.) Customization for site (local users, sudo config, sshd config, webmin configuration) Ansible Roles ansiblemaster (bootstrap an environment) ansiblepull deployment (pxe/tftp/dhcp for PXE config) pkgcache (apt-cacher) pkgcache-feeder (for yum primarily…makes sure RPMs never removed) authmaster (https://help.
‘‘when you don’t create things, you become defined by your tastes rather than ability. your tastes only narrow & exclude people. so create.’’ - Why the Lucky Stiff Source ‘‘Fashion is a form of ugliness so intolerable that we have to alter it every six months.’’ - Oscar Wilde ‘‘Those who don’t understand UNIX are doomed to reinvent it, poorly’’ - Henry Spencer ‘‘Luck is what happens when preparation meets opportunity.
JAM Stack JamStack Examples Six tools for a Static E-commerce Site Walkthrough For a Subscription Email Site Authentication Auth0: Provide JWT authentication based SaaS Netlify Identity: Netlify’s Authentication…basically a hosted version of their Open-source GoTrue library. GoTrue: Open soruce JWT authentication backend) SuperTokens: Open source authentication solution, similar to Auth0 Captcha hCaptcha: More privacy focused Captcha CMS NetlifyCMS: SPA that allows for committing markdown changes to version control Communication Disqus: Emable comments on any webpage Twilio: Interact with customer via web UI, SMS, What’s App, etc Utterances: Leverage Github issues for blog comments Dashboards Vizzlo Databases FaunaDB E-commerce Trolley Snipcart Image/Database Hosting Cloudinary: Does on-the-fly image manipulation Monitoring PagerDuty: The big Saas monitoring solution, a ton of options and well used.
Recently have discovered a diverse community of individuals rejecting the current Web2 (social media) and Web3 (Blockchain/NFT/metaverse/whatever else is bucketed in Web3) and back to the non-commercial, unique roots of the Internet that existed before the widespread centralization of the Internet. A time when site’s goals were not to get you addicted to the dopamine hits of likes and aggravation, but to simply express the creativity and interest of their creators.
Tools to verify for development.
Testing Toolsets - Documentation RunMe.dev: Run code from README.md files Testing Toolsets - Kubernetes Kink - Run KinD clusters as a Pod on an existing Kubernetes cluster Testing Toolsets - Infra/Ops TerraTest and Terratest, even without Terraform ServerSpec: Perhaps start for TDD for entire stack.
A collection of links that useful for introducing children to technology.
MicroBlocks - Child development also focused around easy to use electronics. Scratch - Children’s coding environment, focused on more graphic/game like development
Captures ad-hoc scripting and process needs. Also includes resources making these ad-hoc scripts more robust and part of an automation framework.
Shell Minimally Safe Bash Shell Script Template Bash Style Guidelines Gum - Pretty Shellscript Addon Bash - Using Loops - Nice example of several looping and conditional structures. Testing Shell Scripts/CLI leveraging Go’s Testing Framework Higher Level Python Shell-like Scripting In Go - Might be a nice bridge when a shell script gets complex enough that you want to use a more robust langauge, but maintain a lot of “shell-like” features Cheatsheet Passing variables to curl bash (Example from coder)
CookieCutter - PoetryA cookiecutter recipe to setup a Modern Python project: Poetry for depenency management Github actions for CI/CD Pre-commit hooks Code quality with black, ruff, etc Pytest and Codecov Mkdocs documentation Docker containerization Hypermodern Python Python Fire: Quick way to add a CLI interface to any Python object Cheatsheets Python Cheatsheet (Source) Compiling/Distributing Python PyOxidizer: Method for “compiling” Python Cordon: A true Python “Compiler”, results in a fast executable.
Planning for a DevOps Cycle
Architecture Platform Engineering: Home for Platform Engineers. Includes a comprehensive tech library of stacks/solutions. Redhat Demo Central - Architectures for a wide range of cloud infrastructures and problems. Who Cares If It Scales - Avoiding pre-mature optimization. Statistics Github Release Download Stats: For public projects, perhaps useful to gauge how popular certain packages are - espcially if one is NOT collecting telemetry data directly from users.
OpenSCAD is a 3D CAM/CAD environment. Instead of GUI design utilities, a coding environment is used to describe objects. Parametrized designs allow for easy customization.
Overall Goals Parameters in the design should be minimal. Individual statements should be clear in what they do…calculations should be done with separate variable assignments. Follow procedural as best as possible. Each module should be given ALL variables as input fields (clear separation of global and local variables).
Development A tour of Go Go by example Katacoda Golang Playground Makefiles for Golang Go For Ops: A bit older, but might be useful. Errors are values: Great discussion on good error handing in Go Libraries Script: Framework for development shell/pipe link constructs in Go. Useful for moving shell scripts/small programs over to Go. Articles 5 keys to create a killer CLI in Go bpcli: Great example of a Go CLI utility leveraging a RESTful API Free Courses On Go Why Go and Not Rust?
To save myself searching for common it commands
Git Ignores gitignore.io: Quick was to generate gitignore files. Source code
Git FF only git config --global pull.ff only Good discussion: Why use should use git pull –ff-only
Git Ignore keeps tracking files! This Stackoverflow answer explains it, but need to remove any previously tracked files now in .gitignore with the command below:
git rm --cached <file> Remove file permanently from git history Add the file to .
Concentrating on embedded systems that can run Linux or other “full” OSes.
Inveotory of non-Linux embedded systems Device Arch Use Arduino - (many) avr Many Arduino Mega x 2 avr MooMachine BBC Microbit arm (Cortex M0 on a nRF51822 SoC) Inventory of “Linux” Based Embedded Systems Device Arch Use Rasp Pi 3 with 7” LCD and 8GB SD arm Mini “computer”, but no battery… Rasp Pi 3 arm Pi-TopCEED (desktop form factor) Rasp Pi 2 (2011.
Electronics is an interesting hobby that tends to intersect with my interest in sysadmin and programming. Most of that interest is centered around Arduino, but I have been branching out to Raspberry Pi/Beaglebone styled systems as well.
Electronics Electronics Club Unbrick an AVR Microprocessor AVR Based Parental Countdown Timer, Capacitive Touch Buttons AVR RFID Tag Five ways to communicate via wireless Embedded Hardware Laser Cutter ECheapo Laser cutter design for attaching to existing 3D printer.
Architecture/Engineering The Platform Engineer Example Applications Open Telemetry Demo: A modification of Google’s Online Boutique, but with more integrations with Open Telementry RealWorld - The ultimate demo app, with multiple frontend and backend frameworks Google’s Online Boutique - True Microservice e-commerce app, written as a pologot style service covering most modern development languages today (Node, Go, Python, C#, Java) Google’s Bank of Anthos - A lighter microservice example app - only Python and Java.
With the Hype around ChatGPT, good to gather some resources
Github Copilot Copilot Quickstart Alternative Models FauxPilot: Attempt for locally-hosted Copilot (nVidia GPUs required) Hello Dolly: Democratizing the magic of ChatGPT with open models
Getting Started Starting with a new 3D printer can be exciting, but also scary! Here are some incredibly helpful links.
Fixes/Calibration My prints look like this, let’s fix them! 3D Calibration Guide: Excellent guide to calibrating your printer How to Calibrate Your Extruder: A little focused around Matter Controls, but show be helpful for most printers Layer Shifting Guide Unclog a 3D Print Nozzle Ultimaker Visual Troubleshooting Guide Delta Printer Guides Generic Delta Printer Calibration or Rostock Calibration Guide Dimensional Accuracy for Delta Printers GCode The 10 Most Common Commands in 3D Printing OpenSCAD OpenSCAD Coding Guidelines Forum Post to Fix STLs using Meshlab 3D Rendering The objective is to render STL into more realistic images.