MVP Illustration

The term “Minimal Viable Product” - or more often just MVP - has become more and more used over the past decade. When explaining the concept I’ve often seen illustrations like this one:

Typical bad illustration of MVP

I do, however, think these are bad illustrations, as they bring the wrong message.

  • The “Not like this” is fine to show that it’s not about building step by step - and not havig a usable product until the end.
  • The “Like this” is, however, not providing the right illustration. It shows you can buy/make the wrong product 5 times until you get it right.

When I am applying MVP - I want to start with the Minimum Viable Product. I want to start with a usable (a viable product) and add features and capabilities to this - not rebuild it from scratch in every iteration. This is why after playing with an AI generator a bit I’ve come up with a better illustration I use to explain MVP which I thing is far better.

LocalSend - Share files between local devices

Sometimes you need to move files between devices, and it’s often been quite a hassle to just being able to get a file from a Windows machine to an iPad or from Linux to a Mac laptop.

My most common case has often been to move files between MacOS and Android - and while Wifi File Explorer Pro has worked, it’s always seemed a little clumsy. It basically create a webserver on the Android device with a simple but quite usable interface.

Upgrading my Hiper internet (Fiber) with Ubiquiti

The home network finally got an upgrade. The uplink from the house is a 1G/1G fiber connection with Hiper as ISP. Wifi was running of a Google Wifi (1gen) network with 3 nodes in a network. It worked, but with Wifi being somewhat aged no device on wifi would be able to utilize the full bandwidth :(

This is just a brief post on the plan, the equipment and the future plans for this new Ubiquiti network.

Transcoding for local streaming

My home network has a local streaming service based on a local Plex server. It has a few videos wwhich came in odd formats, and where for practical purposes it would be nice to have everything in the same format.

This is my way of transcoding everything to the same format before adding it to the Plex server.

This little script will take all files in the the same directory as the script (given the 4 extentions) and encoding all to Xvid format. The Xvid format is my current prefered format balancing size and quality - and allow for Chromecasting. It may change to a H265 format once all the oldest Chromecast devices are updated and all can handle H265.

Complexities of test environments in interconnected environments

In many companies, appplications quickly become a web of interconnected systems with dependencies upon each other and testing changes to a single application may be hard, as the behaviour of the application may depend on interaction with other interconnnected applications.

Ideally it would be nice to have a test complete environment with (dedicated) test versions of any other application impacting the application being tested - and have a coherent and applicable test-data set to use (but let’s leave test data for another post).

Welcome to the new server

Hello from a new server

The most recent years this site was run of a Digital Ocean Droplet. A Droplet is their fancy name for a virtual private server (VPS) on shared hardware, but not anymore.

Generally I’ve been quite happy on Digital Ocean and they’ve provided a stable service through years. There was how ever a few things which caused an opportunity to move away.

  • I was running on a 32bit OS, and needed to reinstall the Droplet to move to a current OS.
  • They products and features offered by Digital Ocean seems to be more Corporate than my needs.
  • While the price of 7.5 Euro a month for a server doesn’t seem that expensive, it’s been steady for years without any upgrades to CPU or memory.

Sourcing a few recommendations, welcome to the new server - again a VPS - hosted by Hetzner in Germany.

Hello Tailscale, Goodbye fixed IP at home

I have for many years paid to have a fixed IP number at home. The main reason was to allow me to access servers and have the remote access restricted to the home IP number. This was just one of many layers of the security of the server and the SSH setup, but no more.

I’ve been playing with (Tailscale)[https://tailscale.com/] which essentially provide an overlay network and allows you to have a secure private network across the public internet. Tailscale has a free plan perfectly suitable for my uses and clients for just about any machine, so getting all machines attached to a private network through Tailscale is surprising easy.

What's the IP number?

If you’re jumping around on servers and need to figure out what the IPnumber(s) of the server are, here’s a little bash line which usually works (tough with a few catches):

ifconfig eth0 | grep inet | awk '{ print $2 }'

This command assume the eth0 is the public WAN interface in the server. If there are more network cards this may not be correct - or the only interface for the net.

Using Bruno with 1Password

Bruno is an open source alternative to tools like Postman or Insomnia. Both are nice, but they also seem to becoming more complicated than I really need, so I’ve been looking for something else.

Initially I didn’t have more complicated needs than wanting a tool to tinker and play with simple REST APIs, so I looked around and found Bruno.

As many APIs require some authentication, you often need to manage credentials, tokens or other sensitive data which shouldn’t be in your git repo, and luckily Bruno has a nice way it can be used with 1Password which is my password manager of choice.

Show wifi password in clear

Got access to a wifi network, but forgot the password? No a problem. At least not if you have a windows, Mac or Linux machine with access. All these OSes can basically without restrictions show you the wifi password in clear text.

Windows

Once you have access to the wifi network. Open the commandline and enter the following command replacing “SSID” with the actual name of the wifi network you want to retrive the password to.

netsh wlan show profile name=SSID key=clear