Skip to content

Instantly share code, notes, and snippets.

@gildean
gildean / osevents.sh
Last active March 8, 2018 16:14
Stream openshift events to the terminal (probably works with plain kubernetes as well)
#! /bin/bash
if ! oc whoami &> /dev/null; then echo "login to oc first" && exit 1; fi
set -euo pipefail
TOKEN=$(oc whoami -t)
API_SERVER_ADDRESS="https://master/api/v1/watch/events"
# setting LANG gives correct timestamps
LANG=fi_FI.UTF-8
# print timestamp in the middle of the row every 60s
while sleep 60; do
@gildean
gildean / openshift-cheatsheet.md
Created February 1, 2018 10:19 — forked from rafaeltuelho/openshift-cheatsheet.md
My Openshift Cheatsheet
  • Binary Builds
oc new-build --binary=true --name=ola2 --image-stream=redhat-openjdk18-openshift
oc start-build ola2 --from-file=./target/ola.jar --follow
oc new-app 
  • Turn off/on DC triggers to do a batch of changes without spam many deployments
@gildean
gildean / client.js
Created May 16, 2014 12:42
the simplest https request
var https = require('https');
https.get('https://registry.npmjs.org/', function responseHandler(res) {
var response = '';
res.on('data', function dataCallback(chunk) {
response += chunk;
});
res.on('end', function endCallback() {
var json = JSON.parse(response);
console.log(json);
});
@gildean
gildean / keybase.md
Last active September 15, 2020 07:44

Keybase proof

I hereby claim:

  • I am gildean on github.
  • I am o_k (https://keybase.io/o_k) on keybase.
  • I have a public key whose fingerprint is 1EE9 07C7 50B6 BDF3 27D8 7134 4C4B 6D7F 5184 9FAB

To claim this, I am signing this object:

@gildean
gildean / index.js
Created March 29, 2014 07:37
levelup vs. level-sublevel binary stream
var server = require('http').createServer(handler).listen(function () { console.log(this.address()); });
var fs = require('fs');
var levelup = require('level');
var subLevel = require('level-sublevel');
var dbPath = './test';
if (!fs.existsSync(dbPath)) {
fs.mkdirSync(dbPath);
}
var db = subLevel(levelup(dbPath));
@gildean
gildean / index.html
Last active December 18, 2015 11:49
Ws websocket echo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>WebSocketTest</title>
<style>
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 300; src: local('Lato Light'), local('Lato-Light'), url(http://themes.googleusercontent.com/static/fonts/lato/v6/KT3KS9Aol4WfR6Vas8kNcg.woff) format('woff'); }
body { font: 130% 'Lato', sans-serif; color:#34495e; background: #ecf0f1; text-shadow: -1px 1px 1px rgba(0,0,0,0.3); padding: 1em 2em; }
#status { position: fixed; top: 0.2em; right: 0.5em }
@gildean
gildean / httpserver.js
Created June 9, 2013 10:34
WebM streaming from tcp to http
var net = require('net');
var server = require('http').createServer(app).listen(8000);
function app(req, res) {
if (req.url === '/') {
res.writeHead(200, {'Content-Type': 'video/webm'});
var socket = new net.Socket();
socket.connect(5000, 'localhost').pipe(res);
} else {
res.statusCode = 404;
@gildean
gildean / app.js
Created May 11, 2013 13:21
Express with csrf tokens. (Note: the main.jade goes to a dir named 'views' under the dir where the app.js resides.)
var express = require('express'),
app = express(),
server = require('http').createServer(app).listen(9999);
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret: 'secret' }));
app.use(express.csrf());
@gildean
gildean / main.jade
Created April 20, 2013 11:52
Express.js file-upload with error-handling.
!!!
head
title express-uploader
body
h1 express-uploader
p
a(href="/uploads") Uploaded files
p
form(action="/save", method="post", enctype="multipart/form-data")
input(type="file", name="upload")
@gildean
gildean / app.js
Last active December 15, 2015 22:19
PeerJS/connect chat demo. Note: index.html goes into a dir named 'public' under the project dir.
var connect = require('connect');
var app = connect();
var PeerServer = require('peer').PeerServer;
var peerport = 9999;
var httpport = 8888;
var peerserver = new PeerServer({ port: peerport });
var server = require('http').createServer(app).listen(httpport);
app.use(connect.static(__dirname + '/public'));
app.use(function (req, res) {