<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><generator uri="https://jekyllrb.com/" version="4.1.1">Jekyll</generator><link href="https://bsantos.net/feed.xml" rel="self" type="application/atom+xml" /><link href="https://bsantos.net/" rel="alternate" type="text/html" hreflang="en-US" /><updated>2021-07-02T16:24:35+01:00</updated><id>https://bsantos.net/feed.xml</id><title type="html">Eksperimental</title><subtitle>Tinkerer and maker of things.
  Currently figuring things out at &lt;a href=&quot;https://corporate.miniclip.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Miniclip&lt;/a&gt;.</subtitle><author><name>Bruno Santos</name><email>me@bsantos.net</email></author><entry><title type="html">Best things of 2021</title><link href="https://bsantos.net/best-things-2021/" rel="alternate" type="text/html" title="Best things of 2021" /><published>2021-07-02T12:00:00+01:00</published><updated>2021-07-02T12:00:00+01:00</updated><id>https://bsantos.net/best-things-2021</id><content type="html" xml:base="https://bsantos.net/best-things-2021/">&lt;p&gt;This is a collection of great things I’ve discovered, read, learned, etc. in 2021.&lt;/p&gt;

&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/3869.A_Brief_History_of_Time&quot;&gt;A Brief History of Time&lt;/a&gt; - A great book about the universe and makes you feel smarter and dumber after reading it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;game-development&quot;&gt;Game Development&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/38kpv_TYRKE&quot;&gt;A (very) short history of adventure game tech&lt;/a&gt; - A quick review of the tech used on LucasArts adventure games (Monkey Island).&lt;/li&gt;
&lt;/ul&gt;</content><author><name>Bruno Santos</name><email>me@bsantos.net</email></author><category term="bestof books" /><summary type="html">This is a collection of great things I’ve discovered, read, learned, etc. in 2021.</summary></entry><entry><title type="html">Golang private modules in Bitbucket server</title><link href="https://bsantos.net/go-private-modules/" rel="alternate" type="text/html" title="Golang private modules in Bitbucket server" /><published>2020-10-28T22:00:00+00:00</published><updated>2020-10-28T22:00:00+00:00</updated><id>https://bsantos.net/go-private-modules</id><content type="html" xml:base="https://bsantos.net/go-private-modules/">&lt;p&gt;Working with public go modules is quite easy. Private modules, not so much. Private modules + a on-promises service such as Bitbucket server…&lt;/p&gt;

&lt;p&gt;I’ve struggled a bit with that precise setup, so I want to share the approach.&lt;/p&gt;

&lt;p&gt;First let’s set our assumptions:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Our bitbucket/stash server is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://stash.server&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;The private module repository lives under project &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;myproject&lt;/code&gt; and is named &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mymodule&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;The ssh url for the repository is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssh://git@stash.server:2233/myproject/mymodule.git&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;The repository has a tag &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;v0.0.1&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Our Public SSH Key is configured into bitbucket&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Configure git to use SSH instead of HTTPs to access our bitbucket server. Please notice the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/scm/&lt;/code&gt; segment.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git config --global url.&quot;ssh://git@stash.server:9999/&quot;.insteadOf &quot;https://stash.server/scm/&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Configure golang to know that modules under &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;stash.server&lt;/code&gt; are private:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# this can be added to .bashrc
export GOPRIVATE=stash.server
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;#main.go
package main&lt;/p&gt;

&lt;p&gt;import (
  “stash.server/myproject/mymodule
)&lt;/p&gt;

&lt;p&gt;func main(){
  fmt.Printf(“%s”, myModule.Hello())
}&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
The module can be installed using standard `go get`:
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;$ go get stash.server/myproject/mymodule@v0.0.1
```&lt;/p&gt;</content><author><name>Bruno Santos</name><email>me@bsantos.net</email></author><category term="golang" /><summary type="html">Working with public go modules is quite easy. Private modules, not so much. Private modules + a on-promises service such as Bitbucket server…</summary></entry><entry><title type="html">Best things of 2020</title><link href="https://bsantos.net/best-things-2020/" rel="alternate" type="text/html" title="Best things of 2020" /><published>2020-09-11T12:00:00+01:00</published><updated>2020-09-11T12:00:00+01:00</updated><id>https://bsantos.net/best-things-2020</id><content type="html" xml:base="https://bsantos.net/best-things-2020/">&lt;p&gt;This is a collection of great things I’ve discovered, read, learned, etc. in 2020.&lt;/p&gt;

&lt;h1 id=&quot;great-articlesblog-posts&quot;&gt;Great articles/blog-posts&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://research.swtch.com/vgo-principles&quot;&gt;The Principles of Versioning in Go&lt;/a&gt; - GO is a very opinionated language and seems to have very good reasons for their choices. Design principles around the versioning system used my GO.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://lord.io/blog/2020/spreadsheets/&quot;&gt;How to Recalculate a Spreadsheet&lt;/a&gt; - Spreadsheets are the engine behind the modern world. A brief explanation of update algorithms behind them.&lt;/li&gt;
&lt;/ul&gt;</content><author><name>Bruno Santos</name><email>me@bsantos.net</email></author><category term="bestof" /><summary type="html">This is a collection of great things I’ve discovered, read, learned, etc. in 2020.</summary></entry></feed>