Go Icon

Go

Go is a programming language built to resemble a simplified version of the C programming language.
156 Stories
All Topics

adrienjt admiralty.io

Introducing Multicluster-Controller

Last week, Admiralty open-sourced multicluster-controller, a Go library for building hybrid and multicloud Kubernetes operators. It is the equivalent of operator-sdk or kubebuilder, but for multiple clusters. It is actually a thin layer around parts of controller-runtime, the library that powers kubebuilder. It can be used to control custom resources (defined by CRDs) across clusters.

read more...

Command line interface github.com

A tool for writing Bash pipes with instant live preview

Meet up a.k.a. the Ultimate Plumber: The main goal of the Ultimate Plumber is to help interactively and incrementally explore textual data in Linux, by making it easier to quickly build complex pipelines, thanks to a fast feedback loop. This is achieved by boosting any typical Linux text-processing utils such as grep, sort, cut, paste, awk, wc, perl, etc., etc., by providing a quick, interactive, scrollable preview of their results.

read more...

Go github.com

Biscuit – a research OS written in Go

Biscuit is a monolithic, POSIX-subset operating system kernel in Go for x86-64 CPUs. It was written to study the performance trade-offs of using a high-level language with garbage collection to implement a kernel with a common style of architecture. With ~38k commits and 8+ years of dev, this has been a massive effort. Find the research paper right here.

read more...

Go blog.golang.org

Which companies are using Go and how they are using it?

If you want to see what the landscape is of companies who are using Go, spread the word and encourage folks to participate in the 2018 Go company questionnaire. On the Go blog: Please help by participating in a 7-minute company questionnaire. Who? If you are in a position to share details like “company name,” “if your company is hiring Go developers,” and “reasons your team or company adopted Go” then please help us by taking this company questionnaire. We only need one response per company (or per department for larger companies). If you aren’t the right person, please forward this onto the right person at your company.

read more...

Go github.com

A high-performance PHP app server, load balancer, and process manager

RoadRunner is an open source (MIT licensed), high-performance PHP application server, load balancer and process manager. It supports running as a service with the ability to extend its functionality on a per-project basis. RoadRunner is written in Go, and can be used to replace the class Nginx+FPM setup, boasting “much greater performance”. I’d love to see some benchmarks. Better yet, I’d love to see someone use this in production for a bit and write up their experience.

read more...

Cassandra Salisbury blog.golang.org

Portable cloud programming with Go cloud

This post covers how Go Cloud works, how it got started, and how to get involved. Eno Compton and Cassandra Salisbury write on the Go blog: Today, the Go team at Google is releasing a new open source project, Go Cloud, a library and tools for developing on the open cloud. With this project, we aim to make Go the language of choice for developers building portable cloud applications.

read more...

Carolyn Van Slyck carolynvanslyck.com

Building Go from source

This is how you accomplish step 1 to becoming a Go contributor. Before we can become Go contributors, the very first step is being able to build Go from source. I followed the official doc and filled in the blanks a bit to figure out how to get everything working. This post is part of a series from Carolyn Van Slyck called Adventures in Gopher Source. The goal of the series is “for more of the gopher community to become upstream Go contributors.”

read more...

Go github.com

A zero-config tool to make locally-trusted dev certs with any names you'd like

A common discrepancy between our dev and prod environments is that prod uses HTTPS while dev is stuck on HTTP because reasons: Using certificates from real CAs for development can be dangerous or impossible (for hosts like localhost or 127.0.0.1), but self-signed certificates cause trust errors. Managing your own CA is the best solution, but usually involves arcane commands, specialized knowledge and manual steps. I’ve considered getting my dev environment on HTTPS but have always stopped at “Managing your own CA”. 🙅‍♂️ Not gonna do it. But! mkcert automatically creates and installs a local CA in the system root store, and generates locally-trusted certificates. mkcert currently supports macOS and Linux. Windows support coming next.

read more...

Go github.com

Fo = Functional Go

Go already supports many features that functional programmers might want: closures, first-class functions, errors as values, etc. The main feature (and in fact only feature for now) that Fo adds is type polymorphism via generics. Generics encourage functional programming techniques by making it possible to write flexible higher-order functions and type-agnostic data structures. People have been asking for Generics in Go since the beginning of time. (2009) At this time, Fo should be thought of primarily as an experiment or proof of concept. It shows what Go looks like and feels like with some new language features and allows us to explore how those features interact and what you can build with them. Perhaps Fo’s author is hoping that enough traction/excitement around this project will convince the Go team to add Generics to the language.

read more...

Chris James quii.gitbook.io

Learn Go with tests: HTTP server

Chris James: Write a simple web server in Go with test driven development. Learn how to use mocking to let you break the problem down into small iterative chunks. All using standard library, source code is available to read. The linked page is a sub-section of the Learn Go with tests GitBook. Do you enjoy TDD and want to learn Go? Or do you enjoy Go and want to learn TDD? Either way, this looks like a great (WIP) resource.

read more...

TypeScript github.com

A secure TypeScript runtime on V8

If you need a JS runtime that supports TypeScript out of the box and has security as a top-most priority, star this repo and come back when it’s no longer “Segfaulty”. Feature bullets! 👇 No package.json, no npm. Not backwards compatible with Node Single executable Defaults to read-only file system access Always dies on uncaught errors Supports top-level await EDIT: it’s worth noting that this project is by Ryan Dahl, inventor of Node.js.

read more...

Diego Bernardes github.com

Flare – a service that notifies of HTTP endpoint changes

Flare listens to changes on HTTP endpoints and notify subscripted clients about the changes. It help reduce the pressure on APIs by avoiding the clients to do pooling requests to search for new/changed content and the need of the APIs to develop workers to notify the clients about the. Pitched as useful for microservice architectures, but could find lots of uses outside of that context too.

read more...

Sam Boyer sdboyer.io

An analysis of vgo

Sam Boyer kicked off a deep six-post series analyzing vgo. When Russ started releasing his series of blog posts introducing vgo in late February, I also put together some words. In that post, I indicated that I would be working on an assessment of vgo that I would make public as soon as I could. This, finally, is that assessment, although over the past couple months it has transformed into something more. Sam also set clear expectations for his release schedule: This is not my day job, so I won’t be publishing these rapid-fire, one day after another. I will release them as I finish them; as I write this, two more are nearly done. Also, check out Go Time #77: Dependencies and the future of Go with Russ Cox

read more...

Git github.com

gitbase – an SQL interface to Git repositories

It can be used to perform SQL queries about the Git history and about the Universal AST of the code itself. gitbase is being built to work on top of any number of git repositories. The emphasis here is on querying a bunch of repositories at once, not digging deep in to the history of a single repo. It uses MySQL’s wire protocol to communicate, so it can be accessed by any compatible client or library. gitbase is still in early alpha, but they’re working hard to improve it quickly.

read more...

Go blog.sourced.tech

Detecting licenses in code with Go and ML

Why not just query GitHub’s API to get the licenses? we were not satisfied with its detection quality: many projects which actually contain the license file in a non-standard format are missed, and some are misclassified. What they came up with is go-license-detector, which detects 99% of licenses in a test dataset (compared to GitHub’s 75%) in a fraction of the time. And the winner is… MIT.

read more...

Google Icon Google

gVisor – a sandboxed container runtime

Why does this exist? Containers are not a sandbox. While containers have revolutionized how we develop, package, and deploy applications, running untrusted or potentially malicious code without additional isolation is not a good idea. The efficiency and performance gains from using a single, shared kernel also mean that container escape is possible with a single vulnerability. gVisor takes a distinct approach to container sandboxing and makes a different set of technical trade-offs compared to existing sandbox technologies, thus providing new tools and ideas for the container security landscape.

read more...
0:00 / 0:00