Skip to content

Instantly share code, notes, and snippets.

@wzulfikar
wzulfikar / handler.ts
Last active August 20, 2022 21:02
DEV.to Post: Typing for Next.js API
import { captureException } from '@sentry/nextjs';
import { StatusCodes } from 'http-status-codes';
import { NextApiRequest } from 'next';
import { z } from 'zod';
import { NextApiResponseWithData } from '.';
import { validateSchema } from './validateSchema';
type RootOptions = {
schema?: z.SomeZodObject;
@wzulfikar
wzulfikar / tira.txt
Created August 12, 2022 09:24
Hello Tira
Hello world from Tira!
@wzulfikar
wzulfikar / active_record_sqlite.rb
Last active May 25, 2022 13:52
Example of using active record without Rails
# Run `gem install active_record sqlite3` to install the dependencies
ENV['DATABASE_URL'] = 'sqlite3:/tmp/sqlite.test' # Change this to anything you want
require 'sqlite3' # Make sure to require the correct adapter for your `DATABASE_URL`
require 'active_record'
ActiveRecord::Base.establish_connection
ActiveRecord::Schema.define do
@wzulfikar
wzulfikar / run.sh
Last active December 4, 2020 08:45
Setup wordpress using docker. Tested on Ubuntu.
#!/bin/sh
# File: /opt/wordpress/run.sh
APP_NAME=acme-blog
WORKDIR=/opt/wordpress
if [ ! -f "uploads.ini" ]; then
touch ${WORKDIR}/uploads.ini
fi
@wzulfikar
wzulfikar / run.sh
Last active December 4, 2020 08:44
Setup nginx with letsencrypt automatic https using docker. Tested on Ubuntu.
#!/bin/sh
# File: /opt/nginx-proxy/run.sh
# If you are on ubuntu and have docker installed, you can automate the setup by running below command.
# Make sure to adjust the DEFAULT_EMAIL and WORKDIR according to your need. The command:
: '
export [email protected] WORKDIR=/opt/nginx-proxy && \
sudo mkdir ${WORKDIR} && \
curl -o /tmp/nginx-proxy.sh https://gist.githubusercontent.com/wzulfikar/957917c8ad84a6047bdb0831215daa51/raw/cf7acfe4fecbcd2cd9acf83ef0382cfc03fbbc63/run.sh && \
@wzulfikar
wzulfikar / setup_obs.sh
Last active December 4, 2020 08:31
Setup OBS Studio on Ubuntu
#!/bin/sh
# Download and run the script (tested on Ubuntu 20):
# curl -s https://raw.githubusercontent.com/wzulfikar/lab/master/bash/setup-obs-ubuntu.sh | sh
#
# Read notes about the script:
# https://www.notion.so/Setup-OBS-in-Ubuntu-for-24-7-YouTube-Live-Streaming-5949000d598b480aa422657d54ca7da4
#
# Once installed, you can access OBS using vnc client on port 6701.
@wzulfikar
wzulfikar / machine.js
Last active July 25, 2019 09:05
Generated by XState Viz: https://xstate.js.org/viz
const fetchMachine = Machine({
id: 'Point of Sale',
initial: 'place order',
context: {
retries: 0
},
states: {
'place order': {
on: {
'unpack qr': 'qrcode'
@wzulfikar
wzulfikar / machine.js
Last active July 25, 2019 08:51
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// Machine (machine factory function)
// assign (action)
// XState (all XState exports)
const fetchMachine = Machine({
id: 'Point of Sale',
context: { attempts: 0 },
initial: 'idle',

Keybase proof

I hereby claim:

  • I am wzulfikar on github.

  • I am wzulfikar (https://keybase.io/wzulfikar) on keybase.

  • I have a public key ASDwimH7OPEvqzHFVBGnJe6lWpzCz_sskDdNkffx8G1JBwo

#!/bin/sh
# create docker engine config at /etc/docker/daemon.json
# to limit the size of container logs.
# usage (with curl):
# curl -s https://gist.githubusercontent.com/wzulfikar/e7740906110beaa90216f8f37320f5d8/raw/docker-daemon-log-opts.sh | sh
config_dir="/etc/docker"
config_file="$config_dir/daemon.json"
max_size=50m