Skip to content

Instantly share code, notes, and snippets.

View fourdollars's full-sized avatar
🏠
Working from home

Shih-Yuan Lee (FourDollars) fourdollars

🏠
Working from home
View GitHub Profile
@fourdollars
fourdollars / Vagrantfile
Last active June 11, 2018 02:17
Setup the runtime environment for Ubuntu xenial, Java 8, Ruby 1.9.3-p545, Sass 3.4.13 and Compass 1.0.3.
# -*- mode: ruby -*-
# vi: set ft=ruby :
$script = <<SCRIPT
#!/usr/bin/env bash
export DEBIAN_FRONTEND=noninteractive
echo '==> Preparing prerequisite...'
echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/60language
// Refer 1. http://docs.gstreamer.com/display/GstSDK/Basic+tutorial+5%3A+GUI+toolkit+integration
// Refer 2. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideooverlay.html
// gcc playback.c -o playback `pkg-config --cflags --libs gtk+-3.0 gstreamer-1.0 gstreamer-video-1.0`
#include <gst/video/videooverlay.h>
#include <gtk/gtk.h>
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h> // for GDK_WINDOW_XID
#endif
#ifdef GDK_WINDOWING_WIN32
#include <gdk/gdkwin32.h> // for GDK_WINDOW_HWND
#! /usr/bin/env python
# -*- coding: utf-8; indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
#
# Copyright (C) 2014 Shih-Yuan Lee (FourDollars) <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
/* gcc gio_mount_disk.c `pkg-config --cflags glib-2.0 gio-unix-2.0 --libs` -o gio_mount_disk */
#include <stdio.h>
#include <glib.h>
#include <gio/gunixmounts.h>
int main(int argc, char* argv[])
{
GList *p, *points = g_unix_mount_points_get (NULL);
for (p = points; p != NULL; p = p->next) {
#! /usr/bin/env python3
from gi.repository import GLib, UDisks
no_options = GLib.Variant('a{sv}', {})
udisks = UDisks.Client.new_sync(None)
manager = udisks.get_object_manager()
for item in manager.get_objects():
part = item.get_partition()
@fourdollars
fourdollars / install_pkgs.sh
Created May 12, 2014 09:17
Install some Debian packages.
#!/bin/sh
sudo apt-get update
sudo apt-get install --yes bash-completion devscripts exuberant-ctags ubuntu-dev-tools vim vim-addon-manager vim-scripts
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Set fonts selection order for Chinese users -->
<match target="pattern">
<test qual="any" name="family">
<string>serif</string>
</test>
<test name="lang">
@fourdollars
fourdollars / .bash_aliases
Created November 29, 2013 03:40
A little script to launch ssh-agent automatically.
#!/bin/sh
if [ -f "$HOME/.ssh-agent" ]; then
. "$HOME/.ssh-agent"
fi
PID="$(pidof ssh-agent)"
if [ -z "$PID" -o "$PID" != "$SSH_AGENT_PID" ]; then
if [ -n "$PID" ]; then
@fourdollars
fourdollars / grab-x11.c
Created November 27, 2013 06:00
A simple program to grab virtual core keyboard & pointer for 3 seconds.
/* -*- coding: utf-8; indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- */
/**
* Copyright (C) 2013 Shih-Yuan Lee (FourDollars) <[email protected]>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
@fourdollars
fourdollars / bt-debug.sh
Last active December 22, 2015 10:29
A little script to debug Bluetooth issue.
#!/bin/bash
# -*- coding: utf-8; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2; -*-
# vim:fileencodings=utf-8:expandtab:tabstop=2:shiftwidth=2:softtabstop=2
#
# Copyright (C) 2013 Shih-Yuan Lee (FourDollars) <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.