SlideShare a Scribd company logo
Go(lang), Flow based programming, and some: 
Flow-based programming 
experiments in Go(lang) 
AddisDev Meetup #2, Addis Ababa 
Nov 11, 2014 
(meetup.com/addisdev) 
Samuel Lampa 
@smllmp // +samuellampa // saml.rilspace.org // bionics.it 
Developer at 
www.farmbio.uu.se // bils.se // rilpartner.com
The Go programming language 
#golang
Turned 5 yesterday (Nov 10)! :) 
http://blog.golang.org/5years
Interest increasing every month
Invented at Google by Robert Griesemer, Rob 
Pike and Ken Thompson
Go(lang) characteristics 
● Open source 
● Compiled (like C, C++, Pascal, etc) 
● Garbage collected (Like Java) 
● Statically typed (Like C++, Java, C# etc) 
● Statically linked 
(includes dependent code in the executable when compiling, not just linking to it when running) 
● Has primitives for writing concurrent code built into the language (channels and go-routines) 
● Multiplexes go-routines on operating system threads 
(rather than start one thread per go-routine). 
● Has a C-like syntax 
● Has a small set of keywords 
● Has explicit error handling (no Exception handling) 
● Supports Reflection 
● Has no Generic programming 
● Has, for its age, a rather extensive standard library (Less need to reinvent the wheel) 
● Is supported by Google, Canonical and a few other companies.
Go(lang) benefits 
● Easy Concurrency 
… due to in-built primitives, multi-plexing, and in-built garbage collector. 
● Good at handling many concurrent connections 
… due to concurrency primitives and the multiplexing. 
● Generally good performance, especially compared to scripting languages 
… due to static typing, being compiled and good concurrency primitives. 
● Easy to learn 
… due to small language, and similarity with existing C-like languages. 
● Very easy to deploy to production (servers) 
… due to static linking (Just copy the executable to the destination server!) 
● Predictable code 
… due to the explicit error handling (see also downside for same reason) 
● Getting a lot of media attention 
… and with that, a fast growing community) due to big backers like Google.
Go(lang) potential drawbacks 
● The lack of Generic programming means that some 
redundancy might be needed at times, when implementing 
the same algorithm for slightly varying data types. 
● Somewhat verbose code might be needed at times due to 
the explicit error handling (see also upside for same reason) 
● Performance can be affected (to the worse) by the pauses 
incurred by the garbage collector (but being worked on!) 
● Might not produce as optimized code as some other 
languages, due mostly to the young age of the language 
(although that improves with each release!)
Concurrency is not parallelism
Parallellism
Concurrency
Concurrency + Parallelism
“Pipeline” concurrency
Based on idea of 
“Communicating Sequential Processes” 
(CSP) 
Especially suited for concurrent apps 
that utilize multiple CPU cores
http://tou r.golang.org
Go-routines
Channels
Some Go(lang) links 
● golang.org 
● tour.golang.org 
● groups.google.com/forum/#!forum/golang-nuts 
● gplus.to/golang 
● talks.golang.org/2012/concurrency.slide#1
Generator Function in Go
More advanced generator function
Connecting Generators together...
Using it ...
Flow-based programming 
http://en.wikipedia.org/wiki/Flow-based_programming
What is this?
What is this? 
Right answer: Function calls, or a 
“call graph”
What if we could take control of this... 
…and define the graph declaratively? Wow! :) 
qq
Invented at the 60's at IBM 
q 
FBP Inventor J. Paul Morrison
The flow based programming book 
- A must read 
→ tinyurl.com/fbpbook
“In computer programming, flow­based 
programming (FBP) is a programming 
paradigm that defines applications as 
networks of "black box" processes, which 
exchange data across predefined 
connections by message passing, where the 
connections are specified externally to the 
processes. These black box processes can be 
reconnected endlessly to form different 
applications without having to be changed 
internally. FBP is thus naturally 
component­oriented” 
Wikipedia
AddisDev Meetup ii: Golang and Flow-based Programming
AddisDev Meetup ii: Golang and Flow-based Programming
Core FBP Concepts 
● “Black box” processes (comp. to functions) 
● Named in / outports as interfaces to processes 
● Channels with bounded buffers 
● Separate network definition
Some FBP network examples...
Some FBP network examples...
An array of benefits ... 
● Change of connection wiring 
without rewriting 
components 
● Inherently concurrent - 
suited for the multi-core 
CPU world! 
● Testing, monitoring and 
logging very easy: 
Just plug in a mock-, logging-or 
debugging component. 
● Etc. 
qq
Many similar tools: Unix pipes
Many similar tools: LabView
Many similar tools: Yahoo Pipes
Many similar tools: Apple Quartz Composer
Mitov Software (Video effects)
Implementations in many languages 
● Java (JavaFBP) - github.com/jpaulm/javafbp 
● C# (C#FBP) - github.com/jpaulm/csharpfbp 
● C++ 
– CppFBP - github.com/jpaulm/cppfbp 
– Dspatch - www.flowbasedprogramming.com/DSPatch/ 
– Blockie.io – blockie.io 
● Javascript 
– NoFlo - noflojs.org 
– Node Red – nodered.org 
● Go (GoFlow) - github.com/trustmaster/goflow 
● Python (PaPy) - papy.org 
● Common lisp - 
● Shell script (net2sh) - sam.nipl.net/code/net2sh/net2sh 
● D (Dendrite) - bitbucket.org/eris0xaa/dendrite 
● …?
Resurgence in FBP interest with NoFlo
AddisDev Meetup ii: Golang and Flow-based Programming
NoFlo creator Henri Bergius
NoFlo summary 
● Based on Node.js 
● Written in coffeescript 
● 237 reusable components 
● Successful (116% of 100k USD) Kickstarter for 
in-browser UI 
● FBP definition format in JSON 
● Proof-of concept: 
Re-implementation of Jekyll Static site generator: 
16 000 LOC → 107 components 
(4 custom ones of ~500 LOC, rest re-usable!)
The UI for NoFlo: FlowHub
Book on Data Flow, FBP and Reactive Programming
Node-RED, by IBM Emerging tech
Blockie.io (Swedish project)
My adventures in GoFlow
My adventures in GoFlow: Network
My adventures in GoFlow: Component
My adventures in GoFlow: 
Aspiring bioinformatics library :)
Framework-less Flow-based programming in Go!
AddisDev Meetup ii: Golang and Flow-based Programming
A few example components...
A few example components...
A few example components...
A few example components...
Some links 
● Main website: 
www.jpaulmorrison.com/fbp 
● Mailing list: 
tinyurl.com/fbplist 
● Google+: 
gplus.to/flowbased
Thank you!
Bonus slides
What's trending 
● Stream based processing 
● “New” (old) paradigms for multi-core programming 
– Flow-based programming 
– Actor-based programming 
● Erlang / Elixir 
● Akka 
● Distributed programming (apps running across many computers) 
– Erlang / Elixir 
– GoCircuit 
● Reactive programming 
● New compiled languages 
– Go (Google...) 
– Rust (Mozilla) 
– D ...
Some recommended news sources 
● InfoQ – infoq.com 
● StrangeLoop talks at InfoQ – infoq.com/strange_loop 
● Prismatic – getprismatic.com 
– Follow topics: 
● Programming 
● Distributed programming, etc... 
● StatusCode Newsletter - statuscode.org 
● Hacker News – news.ycombinator.com 
● Hacker Newsletter – hackernewsletter.com 
● My twitter - twitter.com/smllmp ;)

More Related Content

PDF
Flow based programming an overview
PDF
SciPipe - A light-weight workflow library inspired by flow-based programming
PDF
NoFlo - Flow-Based Programming for Node.js
PDF
PostgreSQL and Compressed Documents (pgconf.ru 2018)
PPTX
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
PPTX
Pulumi. Modern Infrastructure as Code.
PDF
Quality Assurance in PostgreSQL
PDF
Designing and coding for cloud-native applications using Python, Harjinder Mi...
Flow based programming an overview
SciPipe - A light-weight workflow library inspired by flow-based programming
NoFlo - Flow-Based Programming for Node.js
PostgreSQL and Compressed Documents (pgconf.ru 2018)
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
Pulumi. Modern Infrastructure as Code.
Quality Assurance in PostgreSQL
Designing and coding for cloud-native applications using Python, Harjinder Mi...

What's hot (20)

PDF
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...
PDF
Sprint Boot & Kotlin - Meetup.pdf
PDF
Eclipse Democamp Nantes 2017 - Back to the Future: EclipseConverge & Devoxx US
ODP
Bridging Ousterhout's Dichotomy
PDF
Making CLI app in ruby
PPTX
Beaker Notebook for Data Exploration
ODP
Spry 2017
PDF
Harmonic Stack for Speed
PDF
Writing Fast Code - PyCon HK 2015
PDF
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
PDF
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
PDF
Consider the following BNF grammar: implement a recursive descent parser tha...
PDF
Batch import of large RDF datasets into Semantic MediaWiki
PPTX
Esri South Africa Python for Everyone
PDF
DBXTalk - Smalltalks 2011
PDF
Go Programming Language by Google
PDF
FOSDEM 2020 Presentation : Precise, cross-project code navigation at GitHub s...
ODP
Glance rebol
PDF
erlang 101
PDF
Introduction to protocol buffer
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...
Sprint Boot & Kotlin - Meetup.pdf
Eclipse Democamp Nantes 2017 - Back to the Future: EclipseConverge & Devoxx US
Bridging Ousterhout's Dichotomy
Making CLI app in ruby
Beaker Notebook for Data Exploration
Spry 2017
Harmonic Stack for Speed
Writing Fast Code - PyCon HK 2015
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
Consider the following BNF grammar: implement a recursive descent parser tha...
Batch import of large RDF datasets into Semantic MediaWiki
Esri South Africa Python for Everyone
DBXTalk - Smalltalks 2011
Go Programming Language by Google
FOSDEM 2020 Presentation : Precise, cross-project code navigation at GitHub s...
Glance rebol
erlang 101
Introduction to protocol buffer
Ad

Viewers also liked (20)

PDF
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
PDF
Reactive Streams: Handling Data-Flow the Reactive Way
PPTX
Transformation Processing Smackdown; Spark vs Hive vs Pig
PDF
Python Generators - Talk at PySthlm meetup #15
PPTX
Continuous modeling - automating model building on high-performance e-Infrast...
PDF
2nd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
PDF
Hooking up Semantic MediaWiki with external tools via SPARQL
PPTX
Agile large-scale machine-learning pipelines in drug discovery
PDF
iRODS Rule Language Cheat Sheet
PPTX
The Open Source Messaging Landscape
PDF
Flow Base Programming with Node-RED and Functional Reactive Programming with ...
PDF
JDG 7 & Spark Integration
PPTX
How to Avoid Problems with Lump-sum Relocation Allowances
PPTX
Real Time Data Processing Using Spark Streaming
PDF
ZeroMQ Is The Answer
PPTX
SimplifyStreamingArchitecture
PDF
Tools For jQuery Application Architecture (Extended Slides)
PDF
Apache Flink Meetup: Sanjar Akhmedov - Joining Infinity – Windowless Stream ...
PPTX
Spark+flume seattle
PDF
Apache Drill and Zeppelin: Two Promising Tools You've Never Heard Of
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Reactive Streams: Handling Data-Flow the Reactive Way
Transformation Processing Smackdown; Spark vs Hive vs Pig
Python Generators - Talk at PySthlm meetup #15
Continuous modeling - automating model building on high-performance e-Infrast...
2nd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
Hooking up Semantic MediaWiki with external tools via SPARQL
Agile large-scale machine-learning pipelines in drug discovery
iRODS Rule Language Cheat Sheet
The Open Source Messaging Landscape
Flow Base Programming with Node-RED and Functional Reactive Programming with ...
JDG 7 & Spark Integration
How to Avoid Problems with Lump-sum Relocation Allowances
Real Time Data Processing Using Spark Streaming
ZeroMQ Is The Answer
SimplifyStreamingArchitecture
Tools For jQuery Application Architecture (Extended Slides)
Apache Flink Meetup: Sanjar Akhmedov - Joining Infinity – Windowless Stream ...
Spark+flume seattle
Apache Drill and Zeppelin: Two Promising Tools You've Never Heard Of
Ad

Similar to AddisDev Meetup ii: Golang and Flow-based Programming (20)

PDF
My lightning talk at Go Stockholm meetup Aug 6th 2013
PDF
Flow based programming in golang
PPTX
Ready, set, go! An introduction to the Go programming language
PDF
Introduction to Go
PDF
Using Flow-based programming to write tools and workflows for Scientific Comp...
PDF
Introduction to Programming in Go
PDF
Introduction to Go language
PDF
Flow-based programming with Elixir
PPTX
go language- haseeb.pptx
PPTX
Golang 101 (Concurrency vs Parallelism)
PPT
Introduction to Go ProgrammingLanguage.ppt
PPTX
Introduction to go lang
PDF
Getting started with Go - Florin Patan - Codemotion Rome 2017
PDF
Advantages of golang development services & 10 most used go frameworks
ODP
Introduction to Go for Java Developers
PPTX
Go from a PHP Perspective
PDF
Inroduction to golang
PDF
Go language presentation
PDF
Golang workshop
PDF
LCA2014 - Introduction to Go
My lightning talk at Go Stockholm meetup Aug 6th 2013
Flow based programming in golang
Ready, set, go! An introduction to the Go programming language
Introduction to Go
Using Flow-based programming to write tools and workflows for Scientific Comp...
Introduction to Programming in Go
Introduction to Go language
Flow-based programming with Elixir
go language- haseeb.pptx
Golang 101 (Concurrency vs Parallelism)
Introduction to Go ProgrammingLanguage.ppt
Introduction to go lang
Getting started with Go - Florin Patan - Codemotion Rome 2017
Advantages of golang development services & 10 most used go frameworks
Introduction to Go for Java Developers
Go from a PHP Perspective
Inroduction to golang
Go language presentation
Golang workshop
LCA2014 - Introduction to Go

More from Samuel Lampa (10)

PDF
SciCommander - Provenance reports for outputs of ad-hoc analyses
PDF
Linked Data for improved organization of research data
PDF
How to document computational research projects
PDF
Reproducibility in Scientific Data Analysis - BioScience Seminar
PDF
Vagrant, Ansible and Docker - How they fit together for productive flexible d...
ODP
First encounter with Elixir - Some random things
PDF
Profiling go code a beginners tutorial
PDF
The RDFIO Extension - A Status update
PDF
Thesis presentation Samuel Lampa
PDF
3rd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse
SciCommander - Provenance reports for outputs of ad-hoc analyses
Linked Data for improved organization of research data
How to document computational research projects
Reproducibility in Scientific Data Analysis - BioScience Seminar
Vagrant, Ansible and Docker - How they fit together for productive flexible d...
First encounter with Elixir - Some random things
Profiling go code a beginners tutorial
The RDFIO Extension - A Status update
Thesis presentation Samuel Lampa
3rd Proj. Update: Integrating SWI-Prolog for Semantic Reasoning in Bioclipse

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Cloud computing and distributed systems.
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Digital-Transformation-Roadmap-for-Companies.pptx
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
Chapter 3 Spatial Domain Image Processing.pdf
Cloud computing and distributed systems.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Understanding_Digital_Forensics_Presentation.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Empathic Computing: Creating Shared Understanding
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
MYSQL Presentation for SQL database connectivity
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Approach and Philosophy of On baking technology
NewMind AI Monthly Chronicles - July 2025
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

AddisDev Meetup ii: Golang and Flow-based Programming

  • 1. Go(lang), Flow based programming, and some: Flow-based programming experiments in Go(lang) AddisDev Meetup #2, Addis Ababa Nov 11, 2014 (meetup.com/addisdev) Samuel Lampa @smllmp // +samuellampa // saml.rilspace.org // bionics.it Developer at www.farmbio.uu.se // bils.se // rilpartner.com
  • 2. The Go programming language #golang
  • 3. Turned 5 yesterday (Nov 10)! :) http://blog.golang.org/5years
  • 5. Invented at Google by Robert Griesemer, Rob Pike and Ken Thompson
  • 6. Go(lang) characteristics ● Open source ● Compiled (like C, C++, Pascal, etc) ● Garbage collected (Like Java) ● Statically typed (Like C++, Java, C# etc) ● Statically linked (includes dependent code in the executable when compiling, not just linking to it when running) ● Has primitives for writing concurrent code built into the language (channels and go-routines) ● Multiplexes go-routines on operating system threads (rather than start one thread per go-routine). ● Has a C-like syntax ● Has a small set of keywords ● Has explicit error handling (no Exception handling) ● Supports Reflection ● Has no Generic programming ● Has, for its age, a rather extensive standard library (Less need to reinvent the wheel) ● Is supported by Google, Canonical and a few other companies.
  • 7. Go(lang) benefits ● Easy Concurrency … due to in-built primitives, multi-plexing, and in-built garbage collector. ● Good at handling many concurrent connections … due to concurrency primitives and the multiplexing. ● Generally good performance, especially compared to scripting languages … due to static typing, being compiled and good concurrency primitives. ● Easy to learn … due to small language, and similarity with existing C-like languages. ● Very easy to deploy to production (servers) … due to static linking (Just copy the executable to the destination server!) ● Predictable code … due to the explicit error handling (see also downside for same reason) ● Getting a lot of media attention … and with that, a fast growing community) due to big backers like Google.
  • 8. Go(lang) potential drawbacks ● The lack of Generic programming means that some redundancy might be needed at times, when implementing the same algorithm for slightly varying data types. ● Somewhat verbose code might be needed at times due to the explicit error handling (see also upside for same reason) ● Performance can be affected (to the worse) by the pauses incurred by the garbage collector (but being worked on!) ● Might not produce as optimized code as some other languages, due mostly to the young age of the language (although that improves with each release!)
  • 9. Concurrency is not parallelism
  • 14. Based on idea of “Communicating Sequential Processes” (CSP) Especially suited for concurrent apps that utilize multiple CPU cores
  • 18. Some Go(lang) links ● golang.org ● tour.golang.org ● groups.google.com/forum/#!forum/golang-nuts ● gplus.to/golang ● talks.golang.org/2012/concurrency.slide#1
  • 25. What is this? Right answer: Function calls, or a “call graph”
  • 26. What if we could take control of this... …and define the graph declaratively? Wow! :) qq
  • 27. Invented at the 60's at IBM q FBP Inventor J. Paul Morrison
  • 28. The flow based programming book - A must read → tinyurl.com/fbpbook
  • 29. “In computer programming, flow­based programming (FBP) is a programming paradigm that defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are specified externally to the processes. These black box processes can be reconnected endlessly to form different applications without having to be changed internally. FBP is thus naturally component­oriented” Wikipedia
  • 32. Core FBP Concepts ● “Black box” processes (comp. to functions) ● Named in / outports as interfaces to processes ● Channels with bounded buffers ● Separate network definition
  • 33. Some FBP network examples...
  • 34. Some FBP network examples...
  • 35. An array of benefits ... ● Change of connection wiring without rewriting components ● Inherently concurrent - suited for the multi-core CPU world! ● Testing, monitoring and logging very easy: Just plug in a mock-, logging-or debugging component. ● Etc. qq
  • 36. Many similar tools: Unix pipes
  • 38. Many similar tools: Yahoo Pipes
  • 39. Many similar tools: Apple Quartz Composer
  • 41. Implementations in many languages ● Java (JavaFBP) - github.com/jpaulm/javafbp ● C# (C#FBP) - github.com/jpaulm/csharpfbp ● C++ – CppFBP - github.com/jpaulm/cppfbp – Dspatch - www.flowbasedprogramming.com/DSPatch/ – Blockie.io – blockie.io ● Javascript – NoFlo - noflojs.org – Node Red – nodered.org ● Go (GoFlow) - github.com/trustmaster/goflow ● Python (PaPy) - papy.org ● Common lisp - ● Shell script (net2sh) - sam.nipl.net/code/net2sh/net2sh ● D (Dendrite) - bitbucket.org/eris0xaa/dendrite ● …?
  • 42. Resurgence in FBP interest with NoFlo
  • 45. NoFlo summary ● Based on Node.js ● Written in coffeescript ● 237 reusable components ● Successful (116% of 100k USD) Kickstarter for in-browser UI ● FBP definition format in JSON ● Proof-of concept: Re-implementation of Jekyll Static site generator: 16 000 LOC → 107 components (4 custom ones of ~500 LOC, rest re-usable!)
  • 46. The UI for NoFlo: FlowHub
  • 47. Book on Data Flow, FBP and Reactive Programming
  • 48. Node-RED, by IBM Emerging tech
  • 51. My adventures in GoFlow: Network
  • 52. My adventures in GoFlow: Component
  • 53. My adventures in GoFlow: Aspiring bioinformatics library :)
  • 56. A few example components...
  • 57. A few example components...
  • 58. A few example components...
  • 59. A few example components...
  • 60. Some links ● Main website: www.jpaulmorrison.com/fbp ● Mailing list: tinyurl.com/fbplist ● Google+: gplus.to/flowbased
  • 63. What's trending ● Stream based processing ● “New” (old) paradigms for multi-core programming – Flow-based programming – Actor-based programming ● Erlang / Elixir ● Akka ● Distributed programming (apps running across many computers) – Erlang / Elixir – GoCircuit ● Reactive programming ● New compiled languages – Go (Google...) – Rust (Mozilla) – D ...
  • 64. Some recommended news sources ● InfoQ – infoq.com ● StrangeLoop talks at InfoQ – infoq.com/strange_loop ● Prismatic – getprismatic.com – Follow topics: ● Programming ● Distributed programming, etc... ● StatusCode Newsletter - statuscode.org ● Hacker News – news.ycombinator.com ● Hacker Newsletter – hackernewsletter.com ● My twitter - twitter.com/smllmp ;)