Skip to content

Instantly share code, notes, and snippets.

@jedi4ever
jedi4ever / new-template-veewee.md
Last active January 4, 2016 19:09
New veewee/packer/bento etc.. template system
  • We'd need a vendor neutral repo
  • But maybe also are to add vendor repo (like ubuntu one, chef one) where every owns their set/part of the template, like plugins you can load
  • I imagine the templates writing in a coding-neutral way (think moustache based templates)
  • have them shared as gems, npm, etc.. packages for usage in each ecosystem
  • provide a library that can generate (using vars/context) the templates you need (much like erb templates)
  • these libraries can be easily written in each language ecosystem to generate templates
  • so f.i. bento can use a gem to generate the templates specific with chef only in their repo
  • besides the use as a library it should have a cli tool that can create these templates
  • we can consider something like the homebrew system to store the templates in
  • I think templates could benefit from meta-info that describe the vars that someone is able to set when generating a template
@jedi4ever
jedi4ever / datadog-feedback.md
Last active January 4, 2016 08:09
Datadog Feedback 24/01/2014

@datadoghq - Overall well done! Here's some feedback:

Signup/User process

  • when someone invites you to their datadog/team, you get an email but because you are already registered you can't join their team. Especially annoying for freelancers that work for multiple customers but don't have an email account at the customer site
  • disable a user is scary (will this delete it, can I re-create it?); a warning or ? next to it would help for fast understanding
  • if the user you invite does not have it's gmail activated yet (google for apps), when the email is added it's send out (but doesn't reach it of course). There is no way of re-sending the invite from the admin side
  • the forcing of registering at least one agent/integration is really annoying. if you signup through an ipad or the person signing up (like billing) does not have any way to go past that screen. So you wonder , am I registered or not? In our case the person installed the mac agent from it's laptop to get it going. No need for that imho
  • when
'use strict';
var events = require('events');
var util = require('util');
var Transform = require('stream').Transform;
/**
* @constructor
* @name TtyPlayStream
@jedi4ever
jedi4ever / gist:6774639
Last active December 24, 2015 08:59
Devops - Feedback & Trust - Talk proposal

Dysfunctional organizations are often associated with being experts at the game of 'ping-pong': pushing work to the other, passing the blame to others...

In the heat of the 'battle' there is often high-volume of exchange of information. But what makes this an unpleasant experience vs. the high-volume exchange of ideas?

Given the same feedback , with a different level of trust , the context changes. Game-theory shows that it can be applied to Politics, Organizational change or Personal things: Even when we know things are good for us, we might not do them because we don't trust our peers.

This presentation will show how both Trust and Feedback are embedded in many of the #devops related concepts, both at the process, cultural level but also at the tools level. What makes a 'good' devops tool, process? How they drive the building of Trust and how they depend on trust? How this affect your daily life as a developer, operations , qa , security or any other part of the company.

Understanding this relationship

@jedi4ever
jedi4ever / run-ignite.md
Created September 24, 2013 11:00
Running an ignite Tips
  • Ask the Ignite presenters to send the slides upfront

    • An option is to use a Dropbox shared directory
  • Be prepared to run around with USB stick to get the 'on the spot' deciders.

  • PDF is the easiest format

  • You can run either :

  • Don't let them run on their own laptops

  • Use a dedicated laptop (avoid any popups etc...)

@jedi4ever
jedi4ever / broker.js
Last active October 1, 2021 13:39
xsub , xpub example in nodejs
var pubListener = 'tcp://127.0.0.1:5555';
var subListener = 'tcp://127.0.0.1:5556';
var hwm = 1000;
var verbose = 0;
// The xsub listener is where pubs connect to
var subSock = zmq.socket('xsub');
subSock.identity = 'subscriber' + process.pid;
subSock.bindSync(subListener);
@jedi4ever
jedi4ever / challenge.md
Last active September 9, 2020 21:03
Example of creating a Wordpress challenge in Markdown & Mustache

Wordpress Setup

This challenge will see if you can setup and configure a wordpress correctly.

Wordpress is great!

Hardware

Ubuntu

The hardware used will be an Ubuntu machine.

  • os: ubuntu
@jedi4ever
jedi4ever / gist:6247941
Last active December 21, 2015 04:18
Yow Conference - Talk Proposal - "How to make operations love Nodejs Apps"

Title:

How to make operations love Nodejs Apps

One little typo for Dev-kind, one big failure for Ops

(or vice versa if that makes more sense)

Abstract:

One little typo, is all what it takes to break a nodejs program. From an operational side, this doesn't give you much confidence.

Much of the documentation on nodejs out there is focused on building websites with Express and the Secret Sauce 'Socket.IO' and friends. Documentation on non-functional aspects, is sparse and more fragmented.

@jedi4ever
jedi4ever / nodejs-cluster-zero-downtime.md
Last active February 11, 2024 13:45
nodejs clustering, zero downtime deployment solutions

Clustering: The basics

The trick? pass the file descriptor from a parent process and have the server.listen reuse that descriptor. So multiprocess in their own memory space (but with ENV shared usually)

It does not balance, it leaves it to the kernel.

In the last nodejs > 0.8 there is a cluster module (functional although marked experimental)