2018-07-06

Researching mp3 cover art downloaders

So, I have this huge mp3 collection that is mostly missing cover art.  I embarked on a quest to add cover art to each mp3 file, and before long I realized that I need some software to help me with it.  Here I am documenting my findings.


2018-06-24

Rooting my Android Phone

In this post I am documenting the process of rooting my Samsung Galaxy Note 4. It should work on the majority of Android phones out there.

2018-06-23

Solved: Windows Explorer shows generic thumbnails instead of embedded album art for music (mp3) files

I have a large number of mp3 files, all of them with embedded album art, but when viewing them via  Windows Explorer, I see generic music file icons instead of album art thumbnails.

Generic music icons.  Ugh.

I spent a good couple of hours troubleshooting this problem, so I would like to document the solution for anyone who happens to go through the same pain.

2018-05-22

Confucius on naming

"If names be not correct, language is not in accordance with the truth of things."
    -Confucius

This is paraphrased as a chinese proverb stating

"The beginning of wisdom is to call things by their proper name."

 From https://en.wikiquote.org/wiki/Confucius

2018-04-11

GitHub project: mikenakis-rumination

Making plain old java objects aware of their own mutations.


The mikenakis-rumination logo.
Based on original from free-illustrations.gatag.net
Used under CC BY License.

2018-04-09

GitHub project: mikenakis-testana

A command-line utility for running only those tests that actually need to run.


The mikenakis-testana logo, profile of a crash test dummy by Mike Nakis
Used under CC BY License.

2018-04-08

GitHub project: mikenakis-classdump

A command-line utility for dumping the contents of class files.


The mikenakis-classdump logo.
Based on an image found on the interwebz.

2018-04-07

GitHub project: mikenakis-bytecode

A lightweight framework for manipulating JVM bytecode.



The mikenakis-bytecode Logo, an old-fashioned coffee grinder.
by Mike Nakis, based on original work by Gregory Sujkowski from the Noun Project.
Used under CC BY License.

2018-04-05

On Coding Style

Since I have a few projects on GitHub, I suppose a word or two are in order, on the subject of coding style.

When I write code within a team of developers, I use the team's coding style.

However, when I write code for myself, I use my very own™ coding style.

In my career I have experimented a lot with coding styles, mostly while working on pet projects at home, but also in workplaces where each developer was free to code in whatever way they pleased, or in workplaces where I was the only developer.

My experimentation has been in the direction of achieving maximum objective clarity and readability, disregarding convention, custom, precedent, and the shock factor: the fact that a particular style element might be alien to most developers out there plays little role in evaluating the objective merit of the element.

So, over the years I have tried many things, once even radically changing my coding style in the middle of a project. (Modern IDEs make it very easy to do so.)  Some of the things I tried I later abandoned, others I permanently adopted.

So, my coding style today is the result of all this experimentation. If it looks strange to you, keep in mind that every single aspect of it has been deliberately chosen to be this way by someone who was not always coding like that, and who one day decided to start coding like that in the firm belief that this way is objectively better. 

In moving on with each of these changes over the years, I had to overcome my own subjective distaste of the unfamiliar, for the benefit of what I considered to be objectively better. 

So, if you decide to judge my coding style, please first ask yourself to what extent you are willing to overcome the same.

2018-04-04

GitHub project: mikenakis-agentclaire

A Java Agent to end all Java Agents.

The mikenakis-agentclaire logo
based on a piece of clip art found on the interwebz.