Well, this is not the usual post I do yet incredibly enough I have not found a real solution or even hint to the problem I had, so let’s hope this helps you.

What is the problem?

I recently bought a Xiaomi Mi Box S which is a little tiny box that really works much much better than any Smart TV that I have owned before. In the same category as Amazon FireTV, Google Chromecast, Roku, and so on, this box was cheaper and easier to get here in Peru. I had to buy it because my LG TV had a very crappy internet…


Every project in the world has a customer (either internal or external). And every project manager knows that one of the most critical aspects of a project (besides delivering on time and budget) is to handle customer expectations. If not done right, then the project could be labeled as a failure by the customer (note the word chosen: LABELED) with undesired consequences (cancellation of the project, overtime, overcosts, etc).

Yet, even as important as it is, many times they are not managed in a good way and they end up harming the customer-provider relationship a lot.

In this article, we…


The most misunderstood and resisted of all Scrum ceremonies.

If you ask the people using Scrum what is what they like the least, many will say the daily meeting.

“It takes too much time”, “it is a waste of time”, “let me do real work”, “I have too many meetings”, etc.

These are the typical complaints about it, and definitely they are not completely wrong. If there is smoke, then there is fire.

The daily meeting is probably the simplest of the events yet it is the one that is handled the poorest (I am included here of course, there…


Image for post
Image for post

In Juntoz.com, we have many websites to run and because of that, we have also many files that need to be shared across all of them. Some of these files are images, css files, js files, etc.

Inserting many of these as npm packages would be overengineering it, and for other cases, where it might be more suitable, there is the “problem” having to upgrade them in many applications when a new version comes out (yet, you can still create a new version of each file if you want to).

To solve this problem, we will create a “poor man”…


Image for post
Image for post

This article will show you how to publish an ASPNET Core web application as a Docker container and running in Kubernetes with automatic generation of its certificate.

— In Juntoz.com, we are currently building our V3 platform and this is part of our journey.

Prerequisites

  • You need to install Docker locally.
  • You need to have a Kubernetes cluster up and running. In our case we use Azure Kubernetes Services.
  • The cluster must have helm installed.
  • Installkubectl in your computer.
  • Installhelm client in your computer.

Application

The web application is an ASPNET Core 3.1 web application built with Visual Studio 2019. It doesn’t…


I found this very interesting built-in javascript functionality that allows to freeze an object and it does not allow any modification.

Let’s take this very simple example.

class Foo
{
constructor() {
this.A = 1;
}
}
var foo = new Foo();
console.log(foo.A); // 1
foo.A = 10;
console.log(foo.A); // 10

Let’s apply the Object.freeze method.

If we apply the method and modify the object externally, the engine does not throw an error, but it still maintains the object as read only.

class Foo
{
constructor() {
this.A = 1;
Object.freeze(this);
}
}
var foo = new Foo(); console.log(foo.A); //…

When you have a library that you want to publish as a nuget package, you normally have to call nuget pack and nuget push .

And if you use a pipeline, like in Azure Pipelines, you would call this task to pack the library.

- task: NuGetCommand@2
displayName: 'nuget pack'
inputs:
command: pack
packagesToPack: MyLib.nuspec
packDestination: /out
versioningScheme: # off, byPrereleaseNumber, byEnvVar, byBuildNumber

And this task to publish it.

- task: NuGetCommand@2
displayName: 'nuget push'
inputs:
command: push
packagesToPush: /out/*.nupkg
nuGetFeedType: # internal, external
publishVstsFeed: # feed url

In .NET Core projects, things can be done a little differently.

You…


Every team or developer that publishes a package to npm has to deal with the versioning of it. It is part of the package lifecycle management and, either a company, a team or a single developer, it demonstrates how serious and professional you are towards your users (which are the developers using your package).

Today the trend in versioning schemes is to follow what is called Semantic Versioning, or short SemVer.

SemVer has the format Major.Minor.Patch(-Label) .

  • Major: for breaking changes.
  • Minor: for medium to big modifications to the component, yet keeping its backwards compatibility.
  • Patch: for small modifications or…

Recently I’ve taken the task to create the foundation for the version 3 of Juntoz.com platform which includes going full cloud native with nodejs, docker containers and kubernetes.

And, as part of my initial development, I found myself in a common problem with K8S manifests: applying the same manifest to two environments (staging and production) but with different settings (e.g. in staging I want just one replica, while for production, I need two replicas).

One of the most used solutions is to use Helm, which I did not want to go there yet, since I was just entering into this…


Image for post
Image for post

In this article, I want to tell you about one practice that we did in a team and probably most people will raise an eyebrow when being asked to do it.

That is the Kudos Time, Kudos Box, Thank You Notes, or whatever name you want it to be.

Regardless of the name, just simply make some time to do it every end of your working cycle (maybe a week, two weeks or a month it is fine), and it will be one of the most rewarding things you will do for your team.

What is a Kudos?

The word kudos comes from Greek…

Kat Lim Ruiz

CTO of Juntoz.com, peruvian startup for ecommerce technology. Father, technology enthusiast, agilist, INTJ, Developer, Mini-Devops.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store