January 20, 2020

 

On work processes

I've started to read about Spotify model. Very interesting, and I will write summary on it when I have a clear picture.

The remark is very right, it's from Spotify's videos on the topic:
"healthy culture heals broken process".

So the organizational hierarchy of company values should be:

culture > process > work

The culture cannot be built with any amount of process, so it's on a higher level.

Also the process helps to make less mistakes in work, while not being work itself.

January 10, 2020

 

On undoing git mistakes

This reference is what I use to fix my mistakes while using git for a long time:
https://sethrobertson.github.io/GitFixUm/fixup.html

Also this is a great example of dymanic "web app" without javascript! Yep, sir, anchors only. I really love a pragmatic simplicity of this kind.

Labels: , , ,

January 9, 2020

 

Android Emulator in Docker

Here's what I use for android instrumented tests pipeline: project with Android emulator in Docker image with VNC access. This is new variant of less convenient one (it was forked from Agoda). It wasn't nice to use, but gave me good example. This one is better. Usage:
$ make build-base && make build && make start
. This provides emulator device waiting to run your tests.

PS I am not a big fan of building in docker, however it's possible using avd-base image from same project. I will cover this later.

Labels: , ,

 

Articles on building large systems

Some reading for this week on architecture of a large systems

The good overview of using kubernetes for large finance projects by a brilliant architect Oleg Chunikhin (now CTO at Kublr) and Terry Shea, with whom I was lucky to work during early days of my career:
Making Kubernetes a Reality for Financial Services

Here's a nice description of the key moments on way working on scalable cloud system:
How to sleep at night having a cloud service: common architecture do's

A must-read about choosing a technologies:
Choose boring technology.

Labels: , , , , ,

January 8, 2020

 

Android: one ViewModel per view

It's a surprisingly common belief of using one ViewModel class in several views (screens) in modern Android Jetpack-based MVVM architecture style. In reality ViewModel cannot be shared. There're lots of arguments against reusing ViewModel. Most obvious one is that it mixes data processing logics of different screens which increases complexity of implementing and testing of ViewModels.

Do not create huge ViewModels, keep it simple. Yes, it's more classes per view, however your support and development costs are closer to linear in time.

Labels: , , , , ,

January 7, 2020

 

Blog migration to hugo

As I wrote some time ago, I decided to self-host blog. I'm in process still, however here's some experience.

Sharing here some experience in process (will update this post until done).

TL;DR:
  1. Install latest hugo with snap
  2. Find and install theme (with git submodule - see below)
  3. Try blog with "hugo server ..."
  4. Setup publishing pipeline on blog changes (for example, Jenkins or whatever is preferred).
Detailed steps:
  1. Install blogger_to_hugo migration tool
  2. (This one is not specific to anyone I suppose. I don't want to experiment with lots of new packages in my main macos system, so installing debian 9 as vbox VM. All further is done there).
  3. Run migration from blogger backup with blogger_to_hugo. I got an error:
    TypeError: object of type 'NoneType' has no len()

    Seems like it expects only the english post titles (or maybe texts in english too) and crashes otherwise. Too bad.
  4. Use blog2md which produces a bunch of .md files (not sure about non-english titles, but no crash at least).
  5. Install and try to use zzo theme. It turns out that hugo 0.58 is not compatible. Although it's latest in debian sid (unstable) repo!
  6. Use snap installer (another repo to think of..): snap install hugo
  7. Hmm, zzo theme does still not work showing bunch of "render of 'page' failed..." errors and crashing in the end. Could be a non-english titles.
  8. Trying a hugo theme pure.
  9. Copy and edit config from example site of a chosen theme.
Good points: Bad points: Notes:

Labels: , , , , , ,

This page is powered by Blogger. Isn't yours?