Browse Source

Add concurrency image, list of libs, and subtitle

Achilleas Koutsou 5 years ago
parent
commit
213ea21aa9
3 changed files with 98 additions and 8 deletions
  1. 98 8
      Go-CNS-talk-2018.ipynb
  2. BIN
      images/brace-style.jpg
  3. BIN
      images/concurrent-gophers.jpg

+ 98 - 8
Go-CNS-talk-2018.ipynb

@@ -8,7 +8,7 @@
     }
    },
    "source": [
-    "# Go for science!"
+    "# Go for Science: Programming beyond Python\n"
    ]
   },
   {
@@ -67,9 +67,24 @@
     "- *Clean* and *small*:\n",
     "    - Handful of keywords\n",
     "    - Automatic formatting\n",
+    "- Designed for concurrency\n",
     "- Easy testing (for robust code)\n",
     "- Statically compiled binaries\n",
     "    - Makes it **very** easy to distribute executables to various platforms\n",
+    "\n",
+    "..."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Why we think it's cool, part deux\n",
+    "\n",
     "- Automatic documentation generation and distribution:\n",
     "    - Function and package doc strings get automatically hosted on godoc.org\n",
     "- Fast evolving but respects backwards compatibility\n",
@@ -81,6 +96,17 @@
     "Most G-Node projects started after 2016 are written in Go: GIN, GIN Client, GIN DOI, GIN Indexing Service, and GIN Validator (if it's GIN, it's probably Go)."
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "![Brace Style](./images/brace-style.jpg)"
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {
@@ -103,7 +129,7 @@
     }
    },
    "source": [
-    "## Why *you* should think it's cool\n",
+    "## Why *you* might think it's cool\n",
     "\n",
     "- Fast and easy to learn (we went over this already)\n",
     "- Good (fast) for number crunching while still feeling like scripting\n",
@@ -184,10 +210,48 @@
     "## Example: Concurrent simulations and analysis"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Concurrency vs. parallelism\n",
+    "\n",
+    "- Concurrency is about dealing with lots of things at once.\n",
+    "- Parallelism is about doing lots of things at once.\n",
+    "- Not the same, but related.\n",
+    "\n",
+    "- Concurrency is about structure, parallelism is about execution.\n",
+    "\n",
+    "- Concurrency provides a way to structure a solution to solve a problem that may (but not necessarily) be parallelizable.\n",
+    "\n",
+    "Taken from https://talks.golang.org/2012/waza.slide#8"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "![Concurrency sketch](./images/concurrent-gophers.jpg)\n",
+    "\n",
+    "Taken from https://talks.golang.org/2012/waza.slide#19"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 6,
-   "metadata": {},
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
    "outputs": [
     {
      "ename": "ERROR",
@@ -276,11 +340,37 @@
    ]
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Scientific libraries and projects\n",
+    "\n",
+    "- GoNum: Numerical computing in Go (Go's numpy)\n",
+    "- GoNum/mat64: Linear algebra for float64 matrices\n",
+    "- GoNum/plot: For plotting and visualisation\n",
+    "- Machine learning libraries: go-cluster, go-deep, libsvm, neural-go\n",
+    "- GoBot: IoT and specialised hardware\n",
+    "- Jupyter kernel for Go notebooks (like this presentation)\n",
+    "\n",
+    "Find everything you need at https://github.com/avelino/awesome-go"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Questions & Comments welcome\n",
+    "\n",
+    "You can find this presentation at https://gin.g-node.org/G-Node/[[something]]"
+   ]
   }
  ],
  "metadata": {

BIN
images/brace-style.jpg


BIN
images/concurrent-gophers.jpg