Package release announcement. Auto-Gourcer (Repository visualizer)

I’ve always had a soft spot for visualizations. Info-graphics, animations, the the like. One specific tool I came across years back is Gource. Finally got around to writing a wrapper for it. Introducing AutoGourcer! It is a very early release so the functionality is limited but it does work; and that’s progress.

Input, mutate, output…pretty much explains everything.

As a person with many hobbies I often find myself trying to take a situation I am not familiar with and compare it to something I do know. Analogizing the unknown to something that is known seems to make the unknown more palattable.

This came into practice heavily over the weekend as I spent 6 hours with friends deconstructing the front end of my track car. I have indeed done work to it before; but, this is the most major thing I have ever done. Anyway, as we worked along removing part and pieces, and disconnected, and removed, tagged and bagged pieces after piece I realized automotive is not dissimilar to software systems. Then a couple days later having a conversation with the same friend (while somewhat intoxicated) the topic that everything, when boiled down, is input, mutate, output.

 

Software:

input: data of W format w/ X points

mulate: application code changes date

output: data of Y format w/ Z points

Automotive

input: fuel, oxygen, spark

mutate: atomization of the mixture

output linear force upon the piston head creating motion

 

I endeavour to find situations / activities / systems that do not conform to the input/mutate/output process w/o ~really~ stretching the concept or loose the spirit of the application.

 

Bonus: Picture time

 

 

An example of when being to clever can come back to bite you…

As part of a test I had to ensure only two alphabetical characters would allowed. So I used `chr(rand(97,122))`; which on a OSX machine is letters a->z. However, this character code sequence (to the best of knowledge NOW) does not translate to other architectures. 4 Hours latter and I replace the above `char()` usage with:
$letterArray = ['a', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 's', 't', 'u', 'v', 'w', 'x', 'z',];
$key = \array_rand($letterArray);
...
$letterArray[$key]

After three runs through the applications CI process not once has it failed…yet.

…Here’s hoping it continues to go as planned.