Category Archives: DevOps

Mac Devs – Pro Tip: Add Real Colors to bash.

If you have a new mac, and you are used to linux like me you probably are annoyed that all the colors in the shell are the same.

Of course, mac does have colors in the shell… However, they do not reflect if what you are looking at.

For Example, can you tell me from looking at the following which if a file, directory, and which is executable?

Where as once the script given below is ran it will look like the following:

Clearly you can see the file is white, the script is red because its executable, and the directories are a light blue. This can all be customized of course, but I find the defaults pretty good.

To Install these changes is quite easy, and I even made a script that can be ran without downloading. Simply run the following to make the changes and restart your terminal.

bash < <(curl -sSl https://gist.githubusercontent.com/MattCurryCom/6348692ffd9903d249907fb5212056d5/raw/080810de0caa9e0bdf70741104ab6bec1b2a8929/mac-linux-colors.sh)

Please don’t take my word for what the script does, I highly recommend that you look at the script before if you don’t trust it. Just use the URL in the curl for reference. Its very simple.

ChatGPT and DevOps

Integrating ChatGPT within DevOps automation can streamline and enhance various aspects of your development and operations processes. Here are some ideas for utilizing ChatGPT in your DevOps workflows:

  1. Automated Troubleshooting and Diagnostics:
  • Create a chatbot interface that developers and operations teams can use to diagnose and troubleshoot issues in real-time. ChatGPT can provide suggestions and solutions based on the symptoms and error messages provided.
  1. Incident Management and Response:
  • Integrate ChatGPT into your incident management system to help with initial incident triage and resolution. It can provide relevant documentation, runbooks, and even suggest actions to take based on historical incident data.
  1. Release Notes Generation:
  • Automatically generate release notes by summarizing the changes made in code commits and providing a human-readable format for communication between development and operations teams.
  1. Infrastructure Provisioning and Scaling:
  • Use ChatGPT to create a conversational interface for provisioning and scaling infrastructure. Developers and operations teams can describe their requirements, and ChatGPT can generate the necessary infrastructure-as-code (IaC) scripts.
  1. ChatOps for Continuous Integration/Continuous Deployment (CI/CD):
  • Enable ChatGPT to interact with your CI/CD pipeline. Developers can trigger builds and deployments, monitor progress, and receive notifications through a chat interface.
  1. Code Review Assistance:
  • Improve the code review process by having ChatGPT provide automated code analysis and suggestions for improvements. It can assist in identifying potential issues, coding standards violations, and security vulnerabilities.
  1. Documentation Generation:
  • Automatically generate documentation for new features, APIs, or infrastructure changes based on code comments, commit messages, and chat interactions with developers.
  1. ChatOps for ChatOps:
  • Use ChatGPT to enhance your existing ChatOps workflows. It can help automate tasks within your ChatOps platform, making it easier to manage other aspects of your DevOps automation.
  1. Security and Compliance Checks:
  • Integrate ChatGPT into your security and compliance automation processes. It can assist in scanning code for vulnerabilities, checking configurations for compliance, and recommending fixes.
  1. Natural Language Alerts and Notifications:
    • Enable ChatGPT to provide natural language alerts and notifications for system events and monitoring data. This can make it easier for team members to understand and respond to critical incidents.
  2. Capacity Planning and Forecasting:
    • Utilize ChatGPT to analyze historical data and make predictions for capacity planning, resource allocation, and scaling decisions.
  3. Onboarding and Training:
    • Develop a chatbot-driven onboarding process for new team members, helping them get up to speed with your DevOps practices and tools.
  4. Chat-Based Reporting and Analytics:
    • Allow team members to request reports and analytics on various aspects of your DevOps processes through a chat interface, making data-driven decisions more accessible.

Remember to carefully plan and secure the integration of ChatGPT into your DevOps automation, considering access controls, data privacy, and the potential impact of automation on your workflows. Additionally, continuously monitor and update the system to ensure it remains effective and aligned with your evolving DevOps needs.

Got an Idea? Need Help? Raspberry PI prototyping!

Just another thing that I helping with lately.  If anyone need help with a new idea for a Raspberry PI, or IoT device message me.  I have been  through several POC’s (proof of concepts).

Keep in mind, if you are working on a new product; or sensitive information I keep all client info secret, and have no issues with an NDA.

  • Home Automation
  • Voice Recognition
  • Several TTS/STT Options
  • Custom Hardware
    • Integration with existing hardware
  • Custom Software
    • Custom Plugins/Adjustments
    • Coding
  • R&D on Subject Matter
    • Build
    • Test
    • Design
  • … and whatever else is needed …

Happy to just answer questions; or see what I can do to help.  Just contact me.

Don’t forget! Linux Learning Resources

This is kept under the Linux Learning Project and Learning Resources section of the site, and is updated occasionally with new links.  Feel free to suggest one by contacting me directly.


LEARNING RESOURCES

Help/Chat:

Resources:

Need DevOps Help?

  • Had issues with your DevOps pipeline?
  • Need help streamlining automation or configuration management?
  • Need to green field or “lift and shift” applications into the cloud?

If you are trying to do any of these, and running into issues please contact me.  I am now open to consulting directly.  Fixing even a few small inefficiencies can have a huge impact on the bottom line.  Not only that, if the DevOps philosophies are really taken up, its likely that the employee base will also be happier, and proud of their accomplishments as a team.

As far as technologies I support, please take a look at my Technologies page.  (Updated often)  I am also happy to take on new ones for a project if needed.

Creating an efficient pipeline is what I do; and a fully functional system that is working well can be an amazing thing.

 

Matthew Curry
MattCurry.Com

 

Thank you to all… Jasper v1.6 Image News!

First, I would like to say thank you to the community members for helping out. I have gotten a lot of input on the new image.  This has also given me better feel for what the community wanted in an image. Which leads me to the next bit of news.


Some of you are undoubtedly wondering why I have not released my Jasper v1.6 image as of yet.  Well, I can assure you there are very good reasons.

Firstly,  I have had some severe family/health issues come up as of late which take priority.  I am also in the middle of moving a family of 5.  Combine that with the other reasons below, and I feel that most will feel the wait to be worth it.

This leads me to the next bit of news, however shocking it may be.

  1.  There will be no version 1.6 image.
    1. There will be no image at all…
  2.  Instead, there will be a full installer.
    1. This is one of the reasons for the delay.
  3.   The installer will work with a full GUI, and on the desktop.
    1. Examples:
      1. Full ubuntu Install.
      2. Fresh RPI install with GUI.
  4. The installer will be iterated on by feature going forward.
    1. We can add community approved features one at a time.
      1. Example:
        1. Change Jaspers Name
        2. Change STT after setup
        3. Etc.

FAQ (COMING SOON)

  • So whats that mean for me?
  • What do I do if I am running Jasper v.15?
  • Where do I get the installer?
  • Do I need to upgrade?

 

What is Revision Control? (GIT/SVN)

A component of software configuration management (aka SCM), version control, also known as revision control or source control, is the management of changes to files and source. Changes are usually identified by a number or letter code, termed the “revision number”, “revision level”, or simply “revision”. For example, an initial set of files is “revision 1”. When the first change is made, the resulting set is “revision 2”, and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.

Revision control can be very confusing to someone new, as you can see there are many ways to say the exact same thing.  This can make it difficult to pick up the concepts.  There are also many different kinds as you can see here.  However, the major one I would hope everyone would be familiar with is GIT, and SVN for the older folks. JJ… 😛

Git, invented by Linus Torvalds as mentioned here is the most prolific and widely used one out currently.  I also have a links under my Learning Resources page that are great for learning GIT.  Please keep in mind that GIT, and GitHub or two differnt things.  One is the software/method, and the other is a service that simply sells said software as a service.

What is Continuous Devlivery? (CD)

Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time.  It aims at building, testing, and releasing software faster and more frequently. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.

What is Continuous Integration? (CI)

Continuous Integration is a software development practice where members of a team integrate their work frequently; usually they integrate at least daily – leading to multiple per day. Each integration is verified by an automated build/test to detect integration errors as quickly as possible. This usually leads to significantly reduced integration problems and allows a team to develop software more rapidly.