Skip to content

Instantly share code, notes, and snippets.

View markmandel's full-sized avatar
🐕
Patting dogs.

Mark Mandel markmandel

🐕
Patting dogs.
View GitHub Profile
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by Protocol Buffers configure 3.21.5, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ /root/.cargo/registry/src/github.com-1ecc6299db9ec823/protobuf-src-1.1.0+21.5/protobuf/configure --prefix=/workspace/target/build-image/release/build/protobuf-src-a2a5be1d214dd3cd/out/install --disable-shared --enable-static --disable-maintainer-mode
## --------- ##
## Platform. ##
markmandel1:build:% make build-sdks <pull/1144>
make run-sdk-command COMMAND=build SDK_FOLDER=go
make[1]: Entering directory '/usr/local/google/home/markmandel/workspace/agones/src/agones.dev/agones/build'
cd build-sdk-images/; \
if [ "go" != "tool" ] && [ -f go/build.sh ] ; then \
cd - ; \
make ensure-build-sdk-image SDK_FOLDER=go ; \
docker run --rm -v /usr/local/google/home/markmandel/workspace/agones/src/agones.dev/agones/build//.config/gcloud:/root/.config/gcloud -v ~/.kube/:/root/.kube -v ~/.helm:/root/.helm -v /usr/local/google/home/markmandel/workspace/agones/src/agones.dev/agones:/go/src/agones.dev/agones -v /usr/local/google/home/markmandel/workspace/agones/src/agones.dev/agones/build//.gomod:/go/pkg/mod -v /usr/local/google/home/markmandel/workspace/agones/src/agones.dev/agones/build//.go
@markmandel
markmandel / design.md
Last active October 9, 2018 18:13
agones-134
@markmandel
markmandel / design.md
Last active October 3, 2018 05:35
agones-368

Problem

  • It is desirable to autoscale the Kubernetes cluster to account for increases in player count, and need for more game servers, in a way that will work across cloud
  • There currently exists a generic cluster autoscaler project -- but it is mostly targeted at stateless workloads

Design

The overall design to use the open source cluster autoscaler revolves around using the cluster autoscaler to remove empty nodes as they appear, but specifically disallows the autoscaler from attempting to evict GameServer Pods in an attempt to move them to a new Node.

@markmandel
markmandel / design.md
Last active September 25, 2018 14:03
agones-365

Problem

  • To build cluster autoscalers, we need a way to declare the state how many nodes there should be in a cluster -- that is GameServer aware, and does not shut down nodes that have GameServers on them that are Allocated.
  • Current auto scalers will not work, as they are built for stateless solutions - and thus will terminate nodes arbitrarily
  • This solution should be designed, such that it can be used on multiple clouds - as well as can be independently extended for those that run their own Kubernetes clusters on their own infrastructure.

Design

To control the number of nodes, we can use a CRD, and controller much as we would anything else.

@markmandel
markmandel / index.js
Last active February 16, 2018 17:24
Connect Google Container Builder to Github with Google Cloud Functions
// Copyright 2017 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
@markmandel
markmandel / make.log
Created October 26, 2014 07:07
sudo dkms build -m psmouse -v focaltech-dkms
DKMS make.log for psmouse-focaltech-dkms for kernel 3.13.0-37-generic (x86_64)
Sun Oct 26 17:36:59 AEDT 2014
make: Entering directory `/usr/src/linux-headers-3.13.0-37-generic'
CC [M] /var/lib/dkms/psmouse/focaltech-dkms/build/src/psmouse-base.o
/var/lib/dkms/psmouse/focaltech-dkms/build/src/psmouse-base.c: In function ‘psmouse_matches_pnp_id’:
/var/lib/dkms/psmouse/focaltech-dkms/build/src/psmouse-base.c:473:36: error: ‘struct serio’ has no member named ‘firmware_id’
if (!strncmp(psmouse->ps2dev.serio->firmware_id, "PNP:", 4))
^
/var/lib/dkms/psmouse/focaltech-dkms/build/src/psmouse-base.c:475:36: error: ‘struct serio’ has no member named ‘firmware_id’
if (strstr(psmouse->ps2dev.serio->firmware_id, ids[i]))
@markmandel
markmandel / apiary.apib
Last active August 29, 2015 13:56 — forked from abtris/apiary.apib
FORMAT: 1A
# Test API
## Items [/items{?filter}]
### List all Items [GET]
+ Parameters
@markmandel
markmandel / rec4j_properties.md
Last active December 20, 2015 08:49
First pass at a reference for the rec4j.properties file properties, and what they do.

reco4j.properties

This is the file that defines how reco4j builds recommendations between items in your neo4j database, when using reco4j as a plugin to neo4j.

Configuration Options

Property Name Default Description
recommenderType 1 (Collaborative Filtering) The type of recommendation engine to use. 1 Collaborative Filtering, 2 Matrix Factorization
@markmandel
markmandel / FutureThreadedWorker.cfc
Created November 26, 2012 03:58
FutureThreadedWorker
<!---
Copyright 2012 Mark Mandel
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software