Gogs instead of GitLab and How to migrate on Ubuntu plus Bonus about memory consumption confusion

Normally I just want to rant a bit about the amount of ressources which Gitlab is consuming. Recently I installed Nextcloud, which using the existing MySQL and use Redis for caching (yay!). But Gitlab comes as a bundle of services (Nginx, PostgresSQL, Redis (own port), Sidekiq, Unicorn, Workhorse). Gogs instead is using also MySQL and Redis (yay!).

Well, I thought Gitlab is consuming around 6 GB of RAM, but after reading Linux ate my RAM I’m not sure anymore. More about memory and resources at the end of post. But hey, for my purposes Gogs is quite the better (and more slim) solution. So fast forward to Gogs. Um, how to migrate?

If you search for “gogs migration gitlab” then you get some poor informations but nothing like a keep-it-simple HowTo. At least nothing special for the Gitlab-to-Gogs scenario.

My situation: ~50 repos, 3 users, 5 groups. Let see what to do and how to automate..

Continue reading

Posted on

Aus dem fantastischen Buch "Pragmatisches Denken und Lernen" von Andy Hunt

Nach rund 2 Jahren Pause hab ich nun endlich “Pragmatisches Denken und Lernen” zuende gelesen. Im Blog-Post möchte ich einige für mich wesentliche und Aha-Erlebnis-produzierende Sachen anschneiden und natürlich Lust machen bzw. jedem Kreativen ans Herz legen das Buch zu lesen. Andy Hunt schafft es mit einfachen Worten den Bogen über alle fürs technisch, kreative bzw. wissenschaftliche Arbeiten wichtigen Verhaltenweisen zu spannen. Umfassend aber pragmatisch wird erklärt wie beim Denken und Lernen der Verstand und das Gehirn funktioniert und wie man es wirksam beeinflussen kann. Das Buch selbst wurde in 2008 im englischen Original veröffentlicht, hat aber bis jetzt nichts an seiner Bedeutung und Relevanz eingebüßt.

Wenn ich Programmieren 3 Bücher empfehle, dann diese und in genau der Reihenfolge:

  1. “Der Pragmatische Programmierer” Amazon
  2. “Pragmatisches Denken und Lernen” Amazon
  3. “Clean Code” Amazon

Wenn man diese gelesen und begriffen hat, gepaart mit Berufserfahrung für den Realitätsabgleich, ergibt sich daraus eine sehr tiefe und beruhigen Resilienz im Job.

Continue reading

Posted on

Lern-Historie 2015

Beschäftigungsfähig ist, wer seine Arbeit in der marktüblichen Geschwindigkeit erledigen kann

Aber was “marktüblich” ist, entwickelt sich vor allem für Web-Devs rasend schnell weiter. Die Anforderungen werden immer komplexer. Man selbst muss als System beweglich bleiben.

Aber was nun genau als nächstes lernen? Der Kontext entscheidet über die relevanten Learnings. Jeder hat einen anderen Arbeitsbereich, einen anderen Interessenbereich. Aber es gibt Gemeinsamkeiten. Z.B. Code-Hygiene geht alle an, da Code wesentlich öfter gelesen als geschrieben wird.

Meine Learnings bestanden aus einen Mix aus privatem Interesse für CodeForGermany-Projekte und beruflichen Entwicklungen. Hauptsächlich aber aus Dingen die ich spannend finde und Spaß am Lernen hatte.

Das sind meine Learnings in 2015 gewesen, jeweils notiert mit den Erkenntnissen und Lernaufwand. Meine Hoffnung ist, den einen oder anderen zu inspirieren, über den (zu oft bemühten) Tellerrand hinaus zu blicken und sich auszutesten. Lernen ist auch immer sich selbst zu fordern.

[Update 2.6.] aus “Pragmatisches Denken und Lernen” [Hun08]:

Ein wesentlicher Unterschied zwischen Investitionen in Wissen und Finanzinvestitionen besteht darin, dass sämtliche Investitionen in Wissen irgendeinen Wert haben. Selbst wenn Sie eine bestimmte Technik nie bei der Arbeit einsetzen, beeinflusst sie die Art und Weise, wie Sie denken und Probleme lösen. Folglich ist alles, was Sie lernen, von Wert. Nur Handelt es sich dabei möglicherweise nicht um einen direkten, kommerziellen, arbeitsbezogenen Wert. Vielleicht hilft es Ihnen dabei, Ihren R-Modus zu entwickeln, oder den fließenden Übergang vom R-Modus in den L-Modus zu unterstützen.

Für mich bedeutet das: Auch wenn ich mittelfristig nicht im Beruf eine ausschließlich funktionale Sprache wie Erlang/Elixir täglich einsetzen werde, so zeigt es mir doch, dass man a) damit tatsächlich programmieren und b) auch hervorragend und lesbar Probleme lösen kann. Auch wenn ich nicht täglich mit Golang zu tun habe, zeigt es mir doch, dass man auch mit einer reduzierten, prozenduralen Programmiersprache hervorragend und effizient arbeiten kann.

Continue reading

Posted on