import * as pulumi from "@pulumi/pulumi"; | |
import * as k8s from "@pulumi/kubernetes"; | |
import * as k8sOutput from "@pulumi/kubernetes/types/output"; | |
import * as k8sapi from 'kubernetes-client'; | |
const job = new k8s.batch.v1.Job("job", { | |
spec: { | |
template: { | |
spec: { | |
containers: [{ |
// jsincss | |
function jsincss(a,b,e){function f(c,a,b,e){return c.addEventListener(a,function(a){var d=document.querySelector("#jsincss-"+b);d||(d=document.createElement("style"),d.id="jsincss-"+b,document.head.appendChild(d));var c=d.textContent;a=e(a);d=c&&a===c?void 0:d.textContent=a;return d})}a=a||function(){return""};b=b||window;e=e||["load","resize","input","click","reprocess"];var g=Date.now()+Math.floor(100*Math.random());return b===window?e.forEach(function(c){return f(window,c,g,a)}):Array.prototype.slice.call(document.querySelectorAll(b)).forEach(function(c){return e.forEach(function(b){return f(c,b,g,a)})})}; | |
// overflow(selector, 'top'|'right'|'bottom'|'left'|[], '[--self] {}') | |
function overflow(c,b,f){var d=(c+b).replace(/\W/g,""),g={top:function(a){return 0<a.scrollTop},right:function(a){return a.scrollLeft+a.offsetWidth<a.scrollWidth},bottom:function(a){return a.scrollTop+a.offsetHeight<a.scrollHeight},left:function(a){return 0<a.scrollLeft}};return Array.prototype.slice.call(document.querySel |
The official installation instructions for pgModeler recommends installing Xcode and the Enterprise DB distribution of Postgres to fulfill its build requirements. Luckily, Homebrew's got us covered!
-
Checkout the source
git clone https://github.com/pgmodeler/pgmodeler.git
: By the power of this magic string: ex: set ft=markdown ;:<<'```shell' #
, this file is now both a markdown document and an executable shell script. chmod +x
it and try running it!
The above line does just what it says. More specifically, when placed within in the first 5 lines and preceded only by blank lines or #
-prefixed markdown headers:
- The first part of the magic string makes github and various editors (e.g. atom with the vim-modeline packge) treat the file as having markdown syntax (even if the file doesn't have an extension)
- The second part (if run in a shell), makes the shell skip execution until it encounters the next
```shell
block.
(The line also has to start with a :
so that it's valid shell code.)
#!/bin/bash | |
# easily "docker exec" into a running Docker container | |
# latest version: https://gist.github.com/ljm42/2b3bfd8ff886015bbce8 | |
# for unRAID, place this script on your flash drive as /boot/custom/docker-shell | |
# then add this to your go script (without the leading pound sign): | |
# cp /boot/custom/docker-shell /usr/local/bin | |
CONTAINERS=`docker ps | awk 'NR==1 {offset=index($0,"NAMES")};NR>1{print substr($0,offset)}' | sort -f | tr "\n" " "` |
Spurred by recent events (https://news.ycombinator.com/item?id=8244700), this is a quick set of jotted-down thoughts about the state of "Semantic" Versioning, and why we should be fighting the good fight against it.
For a long time in the history of software, version numbers indicated the relative progress and change in a given piece of software. A major release (1.x.x) was major, a minor release (x.1.x) was minor, and a patch release was just a small patch. You could evaluate a given piece of software by name + version, and get a feeling for how far away version 2.0.1 was from version 2.8.0.
But Semantic Versioning (henceforth, SemVer), as specified at http://semver.org/, changes this to prioritize a mechanistic understanding of a codebase over a human one. Any "breaking" change to the software must be accompanied with a new major version number. It's alright for robots, but bad for us.
SemVer tries to compress a huge amount of information — the nature of the change, the percentage of users that wil
sudo apt-get install avahi-daemon avahi-discover avahi-utils libnss-mdns mdns-scan |