Skip to content

Instantly share code, notes, and snippets.

View mislav's full-sized avatar

Mislav Marohnić mislav

View GitHub Profile
@mislav
mislav / hub-graphql-mutation.sh
Created April 15, 2020 11:59
GraphQL mutation example with hub & jq
jq -R --slurp '{query: ., variables: {input: $ARGS.named}}' \
--arg name "hello-world" \
--arg visibility "PRIVATE" \
--arg ownerId "<ORG-NODEID>" \
--arg teamId "<TEAM-NODEID>" \
<<<'
mutation ($input: CreateRepositoryInput!) {
createRepository(input: $input) {
repository {
nameWithOwner
@mislav
mislav / hub-get.sh
Created October 30, 2019 16:27
Download `bin/hub` for the current environment
#!/bin/bash
set -e
latest-version() {
curl -fsi https://github.com/github/hub/releases/latest | awk -F/ '/^Location:/ {print $(NF)}'
}
HUB_VERSION="${1#v}"
if [ -z "$HUB_VERSION" ]; then
latest=$(latest-version) || true
@mislav
mislav / hub-api-comments.sh
Last active January 24, 2024 23:38
hub api example of how to fetch all comments over GraphQL
comments() {
local issue="${1?}"
shift 1
paginate hub api --cache 3600 graphql -F issue="$issue" "$@" -f query='
query ($owner: String = "{owner}", $repo: String = "{repo}", $issue: Int!, $per_page: Int = 30, $after: String) {
repository(owner: $owner, name: $repo) {
issueOrPullRequest(number: $issue) {
... on Issue {
comments(first: $per_page, after: $after) {
...Comments
@mislav
mislav / MultiLinkedList.sol
Created October 5, 2018 18:33 — forked from benzap/MultiLinkedList.sol
Multi Linked List Implementation in Solidity
pragma solidity ^0.4.24;
/*
Title:
Multiple Linked List Storage
Description:
Dynamic Storage Contract for storing multiple linked lists each
uniquely identified by a key. Implementation allows for
@mislav
mislav / untar.go
Created October 24, 2017 10:18
Go program to untar multiple gzipped tarballs listed on the command line
package main
import (
"archive/tar"
"compress/gzip"
"fmt"
"io"
"os"
"path/filepath"
)
@mislav
mislav / es6-symbol-iterators.js
Created August 31, 2017 11:38
DOM iterables on top of es6-symbol polyfill
function iterator() {
const self = this
let i = 0
return {
next: function() {
return {
done: i === self.length,
value: self[i++]
}
}
@mislav
mislav / bash_profile.sh
Last active July 24, 2017 22:32
Open specific editor based on directory contents
export EDITOR_XCODEPROJ='open -a XCode'
export EDITOR_TSCONFIG='code'
export EDITOR_DEFAULT='atom'
export EDITOR='magic-open'
@mislav
mislav / nginx.conf
Last active April 23, 2017 10:03
SSL nginx configuration for my personal site using Let's Encrypt https://certbot.eff.org/#ubuntutrusty-nginx
# primary HTTPS config
server {
listen 443 ssl;
server_name mislav.net;
ssl_certificate /etc/letsencrypt/live/mislav.net/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/mislav.net/privkey.pem;
root /home/app/blog/_site;
index index.html;
@mislav
mislav / star-trek-all.tsv
Last active November 1, 2023 03:11
List of Star Trek: The Original Series episodes ranked by their meta-score aggregated from several sites
S-EP episode title score
1-01 The Man Trap -33
1-02 Charlie X 26
1-03 Where No Man Has Gone Before 34
1-04 The Naked Time 64
1-05 The Enemy Within 30
1-06 Mudd's Women -31
1-07 What Are Little Girls Made Of? -1
1-08 Miri -30
1-09 Dagger of the Mind 8
@mislav
mislav / no_last_pages.rb
Created October 11, 2016 13:59
Example will_paginate renderer that avoids rendering high page numbers
require 'action_view'
require 'will_paginate/view_helpers/action_view'
require 'will_paginate/collection'
current_page = 10
total_pages = 31
class NoLastPages < WillPaginate::ActionView::LinkRenderer
# Make sure no page links are rendered after the `:gap` item that follows
# the current page number.