Posts

Showing posts with the label tools

Tickets - Two sides of the same coin

Image
Tickets! Some people love them others hate them. I for sure dont have much love, however, I can see both sides of the same coin. There are lots of tracking systems such as Bugzilla, Track, Jira, GitHub Issues, and many others. There are companies with complex workflows with lots of approvals and complicated steps.IMHO there is little value in complex workflows, I understand the reasons why companies might arrive there but still think is not the way. Tickets can be used for multiple reasons, some could be valid, and others could be actually bad practices, meaning hiding inefficiencies. Let's take a look at the 2 sides of the same coin.

Embedded Java in Bash

Image
Java is the backend solution for several companies, mainly for services and microservices. However, when you need to ship java for a CLI or DevOps solution java is a bit verbose. First, because you need to have a JDK, and second java by default is not self-contained. Meaning you will java multiple jars and if you are not running on a standalone server or using a framework like Spring Boot this could be a bit annoying. There are other solutions like you could be doing a Uber Jar or Fat Jar where you can bundle your app + dependencies in one and one jar. Today I want to share a bash trick where we can embed a Java jar into a single bash script. This trick is neat because with a single file we can combine bash and java. 

Podman in Linux

Image
Podman is the new cool kid on the block. Podman is a deamonless container(OCI) engine for Linux. It's the natural open-source Docker replacement. Docker recently changed the license and plans. Podman commands and flags are compatible with docker and the replacement is very smooth. OCI makes things much more simple and portable. So today I want to share how we can install and use podman. So let's get started. 

Jupyter Notebooks

Image
Jupyter Notebooks are very popular in the Big Data / Data Science field. Notebooks are a great tool for discovery it allows us to have interactive code and abstract the runtime environment. Notebooks are sharable and are cool not only on the Big Data / Data Science landscape but also for anyone who wants to write better documentation, have better code examples for your consumers, or even just to learn pretty much anything. Jupyter notebooks are written in Python however is possible to install other Kernels for other languages like Java, Kotlin, Scala, Groovy, Go, Rust, and many more. Github knows how to read Jupiter notebook files and provides great visualization for you.  So today I made a short video showing some Jupyter capabilities across multiples kernels. 

Linux Terminal Goods VI

Image
  It's time for another Linux Terminal Goods post. This is post #6 of the series of posts about cool, productive Linux terminal tools for Engineers and DevOps Engineers. If you did not read the previous posts(there is lots of cool and useful stuff there) I recommend you take a look now: I , II , III , IV , V .  So without further due let's get started and checkout 5 new cool commands/programs for you! 

Linux Terminal Goods V

Image
It's time for a new kick-ass console application to boost your productivity. The tools can be useful both for engineering productivity on your local workstation/laptop or doing some remote pair programming but also for the cloud as you profiling or debugging something. So if you did not check it out the other 4 posts please check it out here: I , II , III , IV . So like Bruce Buffer would say it Iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiit's time! Linux Terminal Goods V!

timetracking-rs: Tracking Hours in Rust

Image
I worked with Technology for a long time. I created a Python script 10 years ago to manage my working hours for control, observability, backpressure purposes. Last Friday night(What a nerd thing to do, I know), I re-wrote this script into a Rust program. I always like to build my own tools, for several reasons, like make my work more productive or just because I want an excuse to do something useful for me in a language that I liked. It took me about 4h to figure out how to do this in Rust. There were 2 basic challenges with was Strings(OH I hate Strings in Rust) and working effectively with Data/Time math operations. I would 2 hours figure it out and making this work and 2 other hours refactoring the code to make it better. Overall code with Rust is pretty productive and fun however Strings and pain in the ass. So I'm using this program every day (decommission my old python script) - so this might be useful for you too. Let's get started.

Linux Terminal Goods

Image
Some time ago I blogged about some cool terminal plugins I was using in my Linux notebook. Also some awesome retro- emulator terminals just for fun :D. Often folks asked me about some of the plugins I still use, so I decide to share some awesome, productive tools I use. Most of the tools I use are individual and isolated but the auto-suggestions, this is based on ZSH and if you are using bash won't work out, the others "binaries" will work just fine since they are not attached to ZSH. IMHO if you use bash you should give ZSH a shot because is amazing and has an active community with some many cool and productive add-ons.

github-fecther: Checking new Repos from Github with Go

Image
Go lang is a very interesting language. Github already is the central hub for the open source on the Internet. Companys have lots of repositories and it's very hard to catch up nowadays. So I build a simple silly tool in Go in order to fetch all repositories a company might have and they compare with the previous fetch and see if there are new repositories.  Thanks to GO elegance I was able to do that with less than 200 lines of code. In order to do what we need to do, we will use some basic functionality in Go such as IO, Http Calls, JSON support for Structs, Slices, Maps, Error Handling(Which is the sucking part) and a bit of logic. This program can fail since I'm not using a proper TOKEN for github so you will HIT the github Throttling limits pretty quickly if you keep running the program. You can create a proper DEV account and fix the code to use your token or you can schedule the program to run in different times in your crontab. This is not production ready, bu...

Running Ansible with Docker

Image
Ansible is a great provisioning tool. However, it can be painful to get some ansible scripts right. Especially if you need some stuff with bash and Ansible. Often baking time in AWS can be pretty high. So It's better you can run ansible locally. However, running ansible local could mess up with your OS. So the best thing is run ansible in Docker. Since the docker container will be ephemeral, once you finish running the container all changes will be lost. You also will benefit from running locally and being able to figure it out quickly whats wrong.  So today I want to share about some simple project I create in order to help to do that. This is called Ansible-Docker this is an ansible sandbox using Amazon Linux.

Mocking Terraform AWS using Docker

Image
Terraform is a good tool for infrastructure provisioning.  However to test terraform it could be pretty difficult. So you will create some terraform scripts and upload to the cloud a run some slow Jenkins job? and if your syntax is wrong? Well, this process can be very painful. So I want to share some simple sandbox I built in order to speed up terraform + aws development in your local machine. I might be wondering how is that possible─? Well, my secret sauce is Localstack . So we are limited to all endpoints that localstack mocks. As Localsttack adds more endpoints we benefit from that. The main idea behind this simple project is to show how easy is to docker-ize somDevOpsps tools and make engineering easy.  Currently is very often to spend 40mim or more doing baking and that's is wrong. So that's kind of mainframe era so the idea is to save time and run things local - as much as possible. Docker helps a lot with that. I run software in production using...