RSSAmplifier

Blog

Cesar's Bitacora

Recent content on Cesar's Bitacora

cesarvr.ioRSS feed ↗22 posts

Latest posts

About The S In Solid and Commenting Code

Some times I surprise about having to discuss the same subject over and over, but as consultant thats one of the advantage and disadvantage. The advantage you get out of your own bubble and meet other devs as part of your work and the disadvantage is that sometimes you need to sometimes discuss same subjects that you take for granted. I will publish a couple of post around good coding practices in…

Performance Showdown: Rust vs Javascript Round 2

A while ago I wrote a blog post post about my learning adventure with Rust, to make thing interesting I was trying to use Rust to solve some programming puzzle and by curiosity I decided to use this puzzle as a benchmark to measure what language was faster Rust or Javascript. On paper the Rust implementation should win by a mile, surprisingly I found out that I was wrong so I started to profile…

Jenkins Tricks On Openshift

How to Quickly Serve Statics Files On Openshift

We can start by creating a folder to store the static files: mkdir mystatic

Creating A SSH Tunnel To Connect Via RDP

I'm working at the moment for a company that use an OS (and spyware) Windows 10 and because of some world wide events I started like everybody else to work remotely and connect to my desk machine remotely via VPN. To achieve this the IT department recommended the use of something of a VPN client. The problem is that because I use a flavour of BSD at home I've to think on how to use that VPN thing…

Decoupling Jenkins Stages On Multiple Containers

Part of my day-to-day work consist in helping teams transition from monolithic architectures to a build-and-own your service using Openshift. As a gentle introduction into that world, I wrote some guides to provide a starting point to this transition. Recently I distribute this minimalistic “Hello World” Jenkins Pipeline which looks like this:

Performance Showdown: Rust vs Javascript

After spending some weeks playing with Rust, I felt ready to test my skills and try some programming challenges in the Advent Of Code. My approach to tackle some of those challenges was to solve them using Javascript (I use it in my day to day) first and then port the code to Rust. While writing the port I just focus on getting the Rust code as elegant as possible to achieve that I research the…

Self Deploying Node.JS Applications

Few days ago I was watching in Youtube a talk given by Kelsey Hightower titled “Self Deploying Kubernetes Applications”. In this talk which is a bit old now (over a year) he was demoing a Golang application capable of running locally but also capable of magically deploy itself into a Kubernetes cluster.

Creating Your Own Istio (Part 3) - Dashboard

In the previous post we where able to collect information about pods running in our cluster thanks to the deployment of our Ambassador container , but having this information is of little value if we don't have a way to make sense of it. In this post we are going to develop a new functionality in our Ambassador so we can publish this information into a service.

Creating Your Own Istio (Part 2.5)

In the last post we create our first container decorator , a container that when included into an arbitrary pod enhance the main container. In our particular case we created a container that override the HTTP 404 responses as an introduction, in this post we are going to build upon and develop some functionalities to monitor the performance of a running service.

Creating Your Own Istio (Part 2)

Let's talk about container oriented programming…

Creating Your Own Istio (Part 1)

Let say we have a micro-service exposing some business API and we want to gather some data about its usage, such as how many calls, payload size, errors, response time, etc. Adding this feature would usually involve writing some code, testing and the re-deployment of a new version. But when you have multiple micro-services, this solution can be difficult to reuse.

Finding Performance Bottlenecks in JavaScript.

One of my hobbies is to write (and sometimes re-write) graphic libraries and do some nice animations. One side effect of this is that when your code is not performant the animation on the screen will let you know, as simple as that.

4 Ways to Build Applications in OpenShift

We are going to discuss the different strategies for building our software in OpenShift. These strategies are useful if you need to solve any of the following problems:

Chaining Builds In Openshift

New application Creating a Node.js application in Openshift is simple: oc login -u user oc new-project hello # Assuming you are logged and you have a project you can start here. oc new-app --name node-app nodejs~https://github.com/cesarvr/hello-world-nodejs #new app using nodejs:latest (Node.js 8) This command will create the backbone (BuildConfig, DeploymentConfig and Service) to orchestrate the…

About

My name is César Valdez nice to meet you… When I was a kid I like to watch a tv show called Mission Impossible my favourite character was the “hacker” this guy was able throw some buzzwords like “compiling, algorithm” then he will expertly hit some keystrokes and was able to open doors, shutdown helicopters, etc. That show with the bad/good movie “Hackers” where my introduction to the world of…

Creating Your Own Containers

What is this post about This post is basically about how to create your own container program using C. In this article we are going to review the technology and principles that make the isolation of processes a reality in Linux, the steps are based on this excellent talk by Liz Rice. Why C Because I love the simplicity of the language (maybe I'm just a romantic) and also it is the lingua franca of…

Containers For Beginners

What is a container ? A container is just a way to achieve process isolation. Unlike virtual machines, they don’t achieve isolation by simulating hardware, but by using existing Linux kernel features. In a typical Unix/Linux OS all processes share the same user space, but with the introduction of new features in Linux 2.6+, you can create a process that has its own particular set of isolated…

How to generate a PDF Documents using Cordova, for Android and IOS

Why Some of my work at Red Hat is to design and develop end-to-end mobile/desktop application using Apache Cordova and using Node.JS, One of the typical challenges I face, when working with some costumer, is how to generate reports in PDF format, the usual way to solve this was to use a server side API render the document there and send it to the phone, this is not nice, the first reason, you need…

Exporting external images to Openshift

Getting Started First you need to have an Openshift installation on the cloud or in your machine, the second option is the easiest one thanks to the oc cluster up command, this will create a small local installation of openshift in your machine, if your are not familiar take a quick look at the documentation. Creating a project Once oc cluster up finish you should have an Openshift installation up…

Embedding Javascript v8

Building V8 Javascript Engine. Introduction I was thinking sometime ago about starting hacking with V8, aside from the fact that I work every day with Javascript, is that the Chromium engineers are doing a very good job making V8 fast and efficient and for some task good Javascript code is faster than C++, here is a great talk about the sophisticated JIT generation in Javascript. After many days…

Arch Linux install cheat sheet

Arch Linux installation instruction for the impatient. Partition fdisk /dev/d #sda all disk in my case. #15 GB partition. Command (m for help): #type n and press Enter Partition type: Select (default p): #press Enter Partition number (1-4, default 1): #press Enter First sector (2048-209715199, default 2048): #press Enter start in the beginning. Last sector, +sectors or +size...(): #type +19G and…