- The presentation in PDF format.
- Publishing Landsat on AWS, the use of cloud infrastructure for public data distribution and processing.
- On the size of Google Maps, now larger than most national mapping agencies.
- OpenTripPlanner and OpenStreetMap, how open data and open source leverage each other and are in turn re-consumed by governmnet and civil society.
- Michael H Goldhaber on the attention economy, a prescient take on content and the internet from 1997.
- Google aquires Skybox Imaging.
- Bibiana McHugh on Portland Trimet's [triple open strategy](https://prezi.com/vmydw-uwqalm/copy-of-you-complete
At Vimeo, on the transcoding team, we work a lot with Go, and a lot with C, for various tasks such as media ingest. This means we use CGO quite extensively, and consequently, have run into bits that are perhaps not very well documented, if at all. Below is my effort to document some of the problems we've run into, and how we fixed or worked around them.
Many of these are obviously wrong in retrospect, but hindsight is 20/20, and these problems do exist in many codebases currently.
Some are definitely ugly, and I much welcome better solutions! Tweet me at @daemon404 if you have any, or have your own CGO story/tips, please! I'd love to learn of them.
Table of Contents
%global commit 9198d6fa2216125b656091dd998e0162deec2595 | |
%global shortcommit %(c=%{commit}; echo ${c:0:7}) | |
%define upname HyperLevelDB | |
Name: hyperleveldb | |
Version: 1.0.0 | |
Release: 3%{?dist} | |
Summary: A fork of LevelDB intended to meet the needs of HyperDex while remaining compatible with LevelDB. | |
Group: Development/Libraries |
It is possible to compile Go programs for a different OS, even though go build
says otherwise.
You'll need:
- a valid toolchain for the platform/os you're targetting
- Go Tip (works on 1.1 and 1.2rc1 but you might as well be on tip)
golang-crosscompile
helper script https://github.com/davecheney/golang-crosscompile- the patch provided
#!/usr/bin/env python | |
import sys | |
from random import random | |
from time import sleep | |
from threading import Thread, active_count | |
execfile('gunicorn.conf.py') |
<html xmlns="http://www.w3.org/1999/xhtml"> | |
<head> | |
<link rel="stylesheet" href="http://openlayers.org/dev/theme/default/style.css" type="text/css" /> | |
<script src='http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAUXDSXET8IRGdgHP9FpGw5BT-fVzUWGS_eJ2ZLPBO_6yPqTi0vhQKAzahOrduDq0xQk09GR-UP3Jgcg'></script> | |
<script src="http://openlayers.org/api/OpenLayers.js"></script> | |
<script src="http://www.google.com/jsapi?key=ABQIAAAAUXDSXET8IRGdgHP9FpGw5BT-fVzUWGS_eJ2ZLPBO_6yPqTi0vhQKAzahOrduDq0xQk09GR-UP3Jgcg"></script> | |
<script type="text/javascript"> | |
google.load("jquery", '1.4'); | |
google.load("maps", "2.x"); | |
</script> |