Go Icon

Go

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

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 Icon 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 Icon 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 Icon 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 Icon 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 Icon 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...

CockroachDB Icon cockroachlabs.com

CockroachDB 2.0 has arrived!

In this post, we highlight how CockroachDB 2.0 enables your data layer to evolve with your business: JSON enables rapid iteration in response to changing customer requirements; major throughput and scalability improvements help you handle huge increases in user request volumes; and a groundbreaking toolkit for managing multi-regional workloads lets you deliver low-latency applications to customers anywhere in the world. Lots to ingest here. Also listen to Go Time #73 all about CockroachDB. ๐Ÿ‘‡

read more...

Go Icon arrow.apache.org

A native Go library for Apache Arrow

Apache Arrow is a cross-language development platform for in-memory data. It specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware. Recently, engineers from InfluxData developed and donated a native Go language implementation of Apache Arrow to the community.

read more...

Ashley McNamara Medium

Building bridges to GopherCon 2018

Ashley McNamara is doing a series of fundraisers starting now and ending on July 1st. The goal is to raise money for GoBridge and WomenWhoGoโ€Šโ€”โ€Štwo organizations who make it their mission to educate & empower underrepresented communities. I can't wait to see how many of these tees the community will be wearing at GopherCon later this year. I'm imagining a sea of Gophers rocking these shirts!

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