Sunday, September 27, 2020

Categories and tags knowledge base for local files

 I had planned to write utility to store documents metadata, stumble upon an kb, a text-oriented minimalist command line knowledge base manager. Let's imagine you have a lot of text and graphics in your system, you need to classify to quick search on it. These documents are known as artifacts, because they all add hyper map to your knowledge then you can obtain it in time, because you know a category or even tag. In my experience, work knowledge base contain thousands of documents and searching with this type of invisible markers make data extraction possible and in many cases incredible fast. So that, how to install KB in Oracle linux:

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python3 get-pip.py
pip install kb-manager

On ubuntu 20.04

sudo apt install python3-pip

pip3 install kb-manager


Then, kb is located in ~/.local/bin

Saturday, September 26, 2020

.NET Core debug, and UML diagrams on linux Visual Code

There is an important to debug .Net Core programs under linux. I thought it's should be different setup for linux OS, but no, thank you for Pluralsight article one sequence for every OS:


1. Add .NET Core Extension Pack.

2. Press Ctrl-Shift-P to open shortcuts to find .NET: Generate Assets for Build and Debug

3. Then use debug pane



I hope debug will help to finish program writing  quicker and then you want to writer documentation using UML diagrams. As for me it is hard to draw UML with vector primitives, it is better to utilize PlantUML

 Extensions to auto generate  uml class diagrams from project code:


1. CSharp to PlantUML - this help to generate all classes in separate .puml files, then you can copy it to your diagram instead of write from scratch

 


2. PlantUML - this extension helps with intelliSense and preview.



You need to install graphviz in your system too.

Its looks like we have ere of Visual Code for linux workspaces for most of languages!

Friday, September 18, 2020

Utils in Graphviz package

 There is a list of utils in graphviz:


acyclic - make directed graph acyclic
bcomps - biconnected components filter for graphs
ccomps - connected components filter for graphs
circo - filter for circular layout of graphs
cluster - find clusters in a graph and augment the graph with this information.
diffimg - Calculates intersection between two images
dijkstra - single-source distance filter
dot - filter for drawing directed graphs
gxl2gv,gv2gxl - GXL-GV converters
dotty - A Customizable Graph Editor
edgepaint - edge coloring to disambiguate crossing edges
fdp - filter for drawing undirected graphs
gc - count graph components
gml2gv,gv2gml - GML-DOT converters
graphml2gv - GRAPHML-DOT converter
gvcolor - flow colors through a ranked digraph
gvgen - generate graphs
gvmap - find clusters and create a geographical map highlighting clusters.
gvpack - merge and pack disjoint graphs
gvpr - graph pattern scanning and processing language
lefty - A Programmable Graphics Editor
lneato - A Customizable Graph Editor
mm2gv - Matrix Market-DOT converters
neato - filter for drawing undirected graphs
nop - pretty-print graph file
osage - filter for drawing clustered graphs
patchwork - filter for drawing clustered graphs as treemaps
prune - Prune directed graphs
sccmap - extract strongly connected components of directed graphs
sfdp - filter for drawing large undirected graphs
tred - transitive reduction filter for directed graphs
twopi - filter for radial layouts of graphs
unflatten - adjust directed graphs to improve layout aspect ratio
vimdot - Combined text editor and dot viewer 


I retrieved it with yum util repoquery:

yum -y install yum-utils
repoquery --list graphviz

Of course, I started with dot for me, but pretty look for all available capabilities in grapviz too.

Simple scenario is a image from dot file:

digraph {
    a -> b;
    b -> c;
    c -> d;
    d -> a;
}

I took this graph from examples. It is easy to generate such graph in C# code today. Then I want to convert it to image, I found this  command:

dot ./1.dot -Tpng > ./1.png




Tuesday, September 15, 2020

Grayscale view for Gnome in Oracle linux

 I think, a lot of us want to concentrate on their pc work and especially for me colors are distraction. It is easy do disable color filters on Windows, but it is also possible to disable it and make display graysacle in linux too. There are commands to add 'Desaturate all' to gnome shell.


yum install gnome-tweak-tool

git clone https://gitlab.com/JanMa/desaturate_all.git

mv ~/Downloads/desaturate_all "/home/eugene/.local/share/gnome-shell/extensions"

Alt + F2 then r to restart DE

Enable Desaturate all extension in Tweaks app.

Use small 'three circles' icon on the right top corner to enable grayscale.




Sunday, September 13, 2020

What I stadied with one year O’Reilly Learning

 It is clear for me, all publishers take their tiers in education process. And O’Reilly is not a beginner in understanding of computer science subject. So that, I can recommend to use publishers as the stairs for unknown technologies or theory and final stair is  O’Reilly. In a year I read 20 books, participate in 2 online training and the learning path. The most important thing for me was to realize that there are people who think like me and these people are experts. I can learn logic and pragmatism from them.

This is my recap from Learning Path: Graph Algorithms, By Mark Needham

1. Using a special framework, such as spark, allows you to focus on selecting a method to solve the problem and quickly determine the correctness of the idea, instead of guessing the only correct approach.

2. The importance of linked data is difficult to override, because the collected relationships allow further use of very simple decision-making algorithms. This means that relationships are a step towards simplifying decisions.

3. Determined algorithms are characteristic of generalization, and they cannot always find solutions for small groups in a variety of settings, but they allow you to see the big picture. Probabilistic solutions can improve the overall picture.

4. The graphs above the graphs and the super category are the key to determine the initial solution path, and these structures can be distinguished from the data.

5. It is the iterative approach in determining the desired algorithm, rather than a single selected approach, that allows you to achieve a solution that will reliably solve the problem, thus experimenting and making conclusions, this is the key to creating reliable solutions, instead of a completely theoretical approach.


Thank you, O’Reilly Learning for this year with me. 

 

   

debug magazine archive

  71 jounals still available on issuu with great story of netlabels time.  debug_mag Publisher Publications - Issuu