Skip to content

Files

Latest commit

 

History

History
460 lines (358 loc) · 24.1 KB

r1-log.md

File metadata and controls

460 lines (358 loc) · 24.1 KB

#100DaysOfCode Log - Round 1 - CodeFreezr

The log of my #100DaysOfCode challenge. Started on [January 23, Tuesday, 2018]

Table of Contents


Log

R1D1

gobyes01.png
My first day was an excurse in understanding the twitter retweet bot from 100DaysOfCode.
tweet-r1d1

R1D2

gobyes02.png
Arrange & setup my 100 Days challenge. And by the way: Imho Coding means Reading. To write excellent code like poetry it is important to read the best code you can get in the area you want to grow.
tweet-r1d2

R1D3

gobyes03.png
Today I decide how my 100 day curriculum should look-a-like.
tweet-r1d3

R1D4

gobyes04.png
One of my main targets collecting a valuable and reliable golang code corpus. So I can create some SCA Tools, incorporate testing and a streamlined go playground integration.
tweet-r1d4

R1D5

gobyes05.png
Day 5 was a more »laborized«-day. It was about walking and failing, content preparing, data cleansing, code experiments with travesing filesystems, thx to filepath.Walk(). Searching and alienating.
tweet-r1d5

R1D6

gobyes06.png
Done Clustering of the StdLib, add 4 new gobyes, remove 2. Tried GoReportCard and play around with goplay CLI to get shareable URL's for the go playground.
tweet-r1d6

R1D7

gobyes07.png
After repairing the winter-crash of the windows insider upate, now Build 17074, I was able to re-install about the half of my non-microsoft tools. grr. But anyway, I could add some really awesome gobyes. tweet-r1d7

R1D8

gobyes08.png
My first week was shaped by building the foundation. Beside digging into sort and and flag go package, I added 23 gobyes repositories and created an additional goby-incubator projects for repos which I want to check before adding to the main. The most exciting discovery today was the world of github badges. After GoReportCard I found the overwhelming shields.io solution. tweet-r1d8

R1D9

gobyes09.png
Slowly swinging into the finishing straight. Main decision for today was to cut out three repos into the incubator and add another six news, mainly from paperback books. Add a smart mini-navbar so you can step from gobye to gobye. Next, greater challenge is to build a central, streamlined navigation structure. This sounds like a bit more direct go coding, finally.
tweet-r1d9

R1D10

Refactor the folder structure, prepare tagging all the go-files and incroporate some sloc/cloc/ncss calculations. [tweet-r1d10](https://twitter.com/DetlefBurkhardt/status/960258486293712897)

R1D11

gobyes11.png
Struggling with non-forking os-processes in go ...
tweet-r1d11

R1D12

gobyes12.png
Solve some gobye challenges with groovy...
tweet-r1d12

R1D13/14

gopher-13-14-ill.png
Just ill. Added some gobyes from Packt. Sorted some to the incubator, and try to get on track again.
tweet-r1d13+14

R1D15/16

gobyes09.png
Still ill. From bed I can just read alot. I investigate a bit in the github pages stuff. You get an absolut free hosting service with just an "git push" publishing process to an [user].github.io/project URL. That's awesome. Drawback: Autopublishing schedulde around every 5 minutes only, and max size is 1GB. So I decide to use gobeys/docs options to split the #golang code corpus from github publishing, not to run in troubles.
tweet-r1d15+16

R1D17

gobyes10.png
A short sidekick: catching some of the twitter #hashflags see: link. A first PoC of our #gobye reading environment is ready see: link. Now we have link to automate the rest of the corpus
tweet-r1d17

R1D18:

Today I start to activate RosettaCode as a another gobye repository. This is a bit tricky because the export is an odd mix of xml and wiki markup. Another challenge are the wide spreaded, different using of the capitilisation rules and the use of special signs in the url. [tweet-r1d18](https://twitter.com/DetlefBurkhardt/status/962616453311672321)

R1D19:

That RosettaCode Trip will take a bit longer, because I'dont want not only add a new gobey-repository. I'm very interested also to add code for some tasks in go, groovy and perhaps typescript / javascript. Based on the Idea of DrThomasMüller I collect all RosettaCode Task in Java, which are no grooynized.
For this I have prepared a lot of #groovy-code to extract and streamline a lot of very clever go algorithm today. Enhance my gobye UX POC and decide to investigate a bit more in a vanila js tree navigation. My learnings for today was reading / writing csv, creating a very generic vanila http getter and create an all purpose search and replace util.
tweet-r1d19

R1D20:

RosettaCode is not that easy. Just the numbers are more then impressive: 870 Programming Tasks, 206 in Draft. 681 Programming Languages, around 100 Categories and Sub-Categories with multiple parents assignment and everything without mindmap or dot-graph makes it really challenging to get an access to it. Another aspect are the data quality in the snippets and the category structure. From Typo's multiple root-trees with different semantics to classical SCA/Linting weakenings. With the help from golint, go vet, gofmt I could fix around 300 Issues, but there is no upstream interface. All the solutions I found was downstream and this for what ever reason not complete. So, Rosetta is a very high obstacle to climb. But even it costs some days, I hope I will have the power to crack the nut. Lets see.
tweet-r1d20

R1D21:

Today Lesson was handling Environment-Variables (get/set) in golang and groovy System-, Go-Process or JVM-wide. The main obstacles to create a multiplatform solution for windows and unix-based systems are different storage stragies files / registry.
tweet-r1d21

R1D22:

gobyes22.png
Finishing my investigation on handling environment variable and starting a multipurpose proxy switch for java/groovy, go, git, vscode etc. This could be helpfull if you work at day in a office behind a firewall and after-hour all this setting doesnt work anymore.
tweet-r1d22

R1D23:

Back-on-Track on analysing RosettaCode for incorporate this bigger repo into the gobye corpus. For this I surf through the most categories and collect them in a sheet: rosettacode-by-nmbrs for preparing a grapviz or similiar visual representations.
tweet-r1d23

R1D24:

gobyes24.png
I've assembled a GraphViz out of Google-Doc Spreadsheet the easy way. With this analysis I'm able to set up to layout a hierarchical composition out of the net of RosettaCode Categories. To structure the examples a bit better for our gobye corpus. tweet-r1d24

R1D25:

gobyes25.png
Today I started a a wider sidekick into VueJS / Bootstrap because there was a interesting offer about a facelift of a homepage from in a timetunnel from 1984 > 2018... Huhuuu...
tweet-r1d25

R1D26

gobyes26.png

  1. Hello World with a vue
  2. Simple Vue-CSS-Class Wizardry
  3. v- directices like if, then, else, show
  4. Filter pipelines
  5. Component - Very Basics
    After some very, very Basic I get wet and scaffold some examples with the vue-cli and webpack.
    Great Finding: http://yuche.github.io/vue-strap/
    tweet-r1d26

R1D27

Jumping into the world of SSG via netlify. After testing a lot solutions hugo seems to be my fav.
tweet-r1d27

R1D28

gobyes28.png
Second Day of Hugo: Fun Pur.
tweet-r1d28

R1D29

Learned about Twitter Cards, update gobyes repo
tweet-r1d29

R1D30

gobyes30.png
From rosettacode.org via github.com/rosettacodedata to codefreezr/rosettacode-to-go to the gobyes corpus.
tweet-r1d30

R1D31

gobyes31.png
Today I have setup an awesome-graphviz list and curated around 400 Entries. Tough...
tweet-r1d31

R1D32

gobyes32.png
Today I published this list, becaus it's not perfect, but ok for a first public viewing.
tweet-r1d32

R1D33:

gobyes33a.png
As of today is now Tuesday a Vuesday. At least on this one day I wanna focus on vueJS to become comfortable with this stuff. The community is awesome, and it's not so "cutting changes" every nth release, like on angular.
tweet-r1d33

R1D34:

Not really happy about Groovy today, because handling gzip url-request content would through me back into alot of native java boilerplate, I want never see again. So I'm happy to be able to handle this stuff with golang. Hey, I even never feel it, that the REST Transmistion was gzip encapsulated. Bravo!
tweet-r1d34

R1D35:

Today I've learned alot about the wonderfull Stackexchange API to get stuff from Stackoverflow. An ideal example of an API documentation, greate Learning ressource. As a first apprentice piece I've analysed a couple of tag communities how active they are, and what the level of quality you can expect. Published a draft here: http://bit.ly/api-stackx
tweet-r1d35

R1D36:

gobyes36.png
New flex layout (https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
font-awesome (cheat-sheet)
axios for vueJS (list of tutorials)
tweet-r1d36

R1D37:

gobyes37.png
Day of Fixing stuff. Damny min-height nearly damaged my smart nested flexbox layout. Another Thing: I started a Hugo Theme. Worktitle: "Lucent-Condensed". And I buy my first Udemy Course from Maximilian.
tweet-r1d37

R1D38:

Incubator cleanup, Nathany und Astaxie update.
tweet-r1d38

R1D39a:

Cleanup my codelabs.
tweet-r1d38a

R1D39b:

Markdown, HTML, Hugo SSG
tweet-r1d39b

R1D40:

awesome graphviz cleanup in the webeditor-section, Check position-attribute for nodes. Found out, that you can multiple arrowheads on an edge like pearls on a row.
tweet-r1d40

R1D41:

gobyes41.png
Deeper and Deeper into Hugo SSG-Themes
tweet-r1d41

R1D42:

Scribble, Sketching, Mockup & building Prototype.
tweet-r1d42

R1D43:

gobyes43.png
Digging into HugoSSG and start to check how to combine vuejs and hugo.
tweet-r1d43

R1D44:

Hacking Hugo-Themes. Experimenting how to create awesome Theme-Documentation
tweet-r1d44

R1D45:

Experimenting alot with the jfrog cli
tweet-r1d45

R1D46+47:

gobyes46-47.png
Two things today & yesterday for my learning course. (a) Analysing more Hugo-Themes
tweet-r1d46+47

R1D48+49:

gobyes48-49.png
Same stuff than the last three day.
tweet-r1d47+48

R1D50+51:

gobyes50-51.png
Mittagspause.
tweet-r1d50+51

R1D52:

gobyes52.png
Walker and Recursion in golang. Created a nice du in go, and a func on gist for a number format. tweet-r1d52

R1D53:

gobyes53.png
Dugo is the linux du in go.
tweet-r1d53

R1D54:

gobyes54.png
(1) Recursion ain't evil
(2) otherwise or not call (1)

Non-Recursion is also not a solution... damn!

For now I put my #golang #hugoSSG #Themedog a bit on hold to focus back on the #graphviz.org revamp itself. Hope that delights @magneticnorth in the cold NJ.
tweet-r1d54

R1D55+56:

gobyes55-56.png
Jumping deep into the graphviz.org documentation to blast the monolithic pdf-documentation into hundres of single markdown files. So that is possible to work with them in a wiki-approach.
tweet-r1d55+56

R1D57:

gobyes57.png
Slurping JSON an creating a lot of markdown files today. tweet-r1d57

R1D58:

gobyes58-59.png
Nested Sections works only with Hugo version 0.22 and up... Gnarf ... Alot guides, videos, tipps, tricks and workaround are older or even did not mention this version change.
tweet-r1d58

R1D59:

hugo-themes-database.png
If you develop themes for hugo you have to consider dependencies to different hugo versions. And after theme and the hugo binary is content itself the third demension. Because of the different features of a theme the content has more ore less deep dependencies to a specific theme. Switching a theme could be not that easy. And not all content architecture is with all hugo versions compatible. This could makes things even more complicated if you can't managing the exact hugo version for e.g. on gitlab or netlify.
Beyond we have over 210 themes and growing without deeper information or selectable filter about all the content requirements, hugo versions, feature support etc. pp. So I decide to start a tentatice codelab for hugo to elaborate the possibility to build a hugo-themes database. At first I would collect the entities and attributes like release-date, version, feature, ...
tweet-r1d59

R1D60:

Analysing and inspecting 212 Hugo Themes. 27 of them fitting my technical requirements, 3 of them has the whished features. Next time I would write some SCA rules to automate this, and beforehand I would put all of this into a simple database.
tweet-r1d60

R1D61:

gobyes61.png

After analysing, here our top themes:

Top Three:

"hugo-theme-bleak" Great animations
"hugo-theme-docdock" Perfect Section Based Navigation
"hugo-theme-learn" Great Section Menu grav based, super source code with copy function

Great Themes:

"beautifulhugo" Origin of LucentSpring
"cocoa-hugo-theme" Let's have a look
"ghostwriter"
"gohugo-theme-ananke"
"grid-side"
"herring-cove" good twitter
"hpstr-hugo-theme" great menu but many errors
"hugo-bare-min-theme" because of Debug-Output
"hugo-base16-theme" nice dark theme, but no _index.md
"hugo-classic" clear
"hugo-code-editor-theme" dark blue
"hugo-fabric"
"hugo-future-imperfect" nice menu and search but no list templates
"hugo-geo" nice layout-flip for smaller devices
"hugo-hello-programmer-theme"
"hugo-kiera"
"hugo-now-ui" nice heade, menu and cards
"hugo-theme-air" Fune Homepage with moving graph
"hugo-theme-bootie-docs" Good Black Top
"hugo-theme-introduction" Great Black with cool Homepage
"hugo-theme-projecthub" nice Listpage with o-o
"hugo-theme-revealjs" great dark slide.com look-a-like
"hugo-theme-wave" nice grid heatmap
tweet-r1d61

R1D62:

gobyes62.png
Making some steps twowards the hugo-theme-database to provide a starting point for our hugo theme award 2018. #hugothemes2018
tweet-r1d62

R1D63:

gobyes63.png
More preparation for the hugo-themes-award 2018.
tweet-r1d63

R1D64-70:

It's Easter, it's holliday. No Code these days.
tweet-r1d64-70

R1D71:

gobyes71.png
Back from Easter break. Complete Encapsulation of the content into three json-files (entities, attributes, types), to generate hugo templates in different approaches. Just for the graphviz revamp.
tweet-r1d71

R1D72:

gobyes72.png
More JSON based generations with groovy to layout the common ground in markdown.
tweet-r1d72

R1D73:

gobyes73.png
Less JSON more markdown, more Front-Matter.
tweet-r1d73

R1D74:

gobyes74.png
Some Updates for the gobeys golang repository: http://bit.ly/git-gobyes
tweet-r1d74

R1D75:

gobyes75.png
Ok, too much work on one hand, and a lot of challenges on niantic ingress. So I decide to fullfill up to 100 Days but not on a day-by-day basis. So for today I have found a really great git-repo with a lot of cli cheatsheets every developer should star, fork or even bookmark: https://github.com/mcandre/cheatsheets
tweet-r1d75

R1D76:

gobyes76.png
Not only my actual IT-Project thinks about it, but also the #graphviz homepage code is #gitlab based. And if you think twice to support #FOSS, you should select also a git-solution which is #FOSS by itself. So I decide to enhance my jenkins-code-lab with a gitlab section.
tweet-r1d76

R1D77:

gobyes77.png
Trying Minishift. Not sure if I want the W8 Hyper-V driver or the Virtualbox VM.
Hyper-V needs a lot of System-Preperations:

  1. Add local user to Hyper-V Admin Group
  2. Logout / Login or Restart
  3. Setup an external Switch if not allready done, via "Hyper-V Manger" name it for eg. "ExternalSwitch"
  4. Add system environment variable: setx HYPERV_VIRTUAL_SWITCH "ExternalSwitch" or setx HYPERV_VIRTUAL_SWITCH "ExternalSwitch"
  5. set Hyper-V as minishift driver: minishift config set vm-driver hyperv (typo in docu! minishfit vs. minishift)
  6. start console as admin (!) and minishift start

Ok, trade offs for using Hype-V:

  • It must runs as Admin
  • Switchs (Proxies) are bound to your network connection
  • It seems not easy to transport to another dev machine
  • It takes up to 3 Minutes to start

R1D78:

gobyes78.png
WLS: Windows Subsystem for Linux. This is not another git-bash cygwin spin-off. With this Windows Feature you just can run ubuntu, debian, suse and kali, if you want in parallel, ootb on your windows10 machine in minutes. Three easy steps and you're in:

a) Enter "Windows Features" in your search box, select WLS b) Search "Windows Sub" inside Windows Store and download your fav. Linux Distribution c) Enter ubuntu / opensuse_42 / kali or debian in your windows search box... tadaaa.

This a damn good basis for a polyglot bash'ing and coding. And an absolut awesome argument to kill your windows-7 museum and enter the state-of-bash.

Let's see if this could happen:

  • 79: mobaxterm
  • 80: Starting my K8s with minishift
  • 81: Setup my KubeLab
  • 82: Online Tutorial
  • 83: Udemy
  • 84: K8 as Examples
  • 85: Visualise K8s
  • 86:
  • 87:
  • 88: Helm Charts -> Chart of the day
  • 89: Deploying a chart into openshift
  • 90: ELK as K8
  • 91: jenkins as K8
  • 92: AMIGO EKS, AKS, IBM, GKE, OpenShift ....
  • 93: AKS
  • 94:
  • 95:
  • 96:
  • 97: Rancher
  • 98: kubeView o.ä.
  • 99: My Log
  • 100: My CodeLab's