Skip to content

Instantly share code, notes, and snippets.

View buzztaiki's full-sized avatar

Taiki Sugawara buzztaiki

View GitHub Profile
@buzztaiki
buzztaiki / GCMonitor.java
Created December 16, 2011 14:53
Monitor GC
import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class GCMonitor implements Runnable {
private final GarbageCollectorMXBean mbean;
private long lastGCCount;
private long lastGCTime;
@buzztaiki
buzztaiki / gjs-io-sample.js
Created December 16, 2011 20:18
gjs-io-sample.js
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
let [res, out, err, status] = GLib.spawn_command_line_sync('ls -la');
print(out);
let [res, out] = GLib.spawn_command_line_sync('ls -la');
print(out);
let [res, out] = GLib.spawn_sync(null, ['/bin/ls', '-la'], null, 0, null);
@buzztaiki
buzztaiki / shell_object_sample.js
Last active July 20, 2023 06:13
Using shell object in gjs
#!/usr/bin/gjs
// SPDX-License-Identifier: MIT
// usage: gjs shell_object_sample.js
const { GIRepository, GLib, Gio } = imports.gi;
function findLib(path, prefix) {
const libdir = Gio.File.new_for_path(path);
const files = libdir.enumerate_children('', Gio.FileQueryInfoFlags.NONE, null);
for (; ;) {
@buzztaiki
buzztaiki / gjs-migemo-bench.js
Created December 18, 2011 15:22
Benchmark of calling migemo with several ways from gjs.
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
function shell_quote(str) {
return "'" + str + "'";
}
function chomp(str) {
return str.replace(/[\r\n]+$/, '');
}
@buzztaiki
buzztaiki / SoftRefSample.java
Created December 20, 2011 21:55
Sample usage of SoftReference and ReferenceQueue.
import java.lang.ref.Reference;
import java.lang.ref.ReferenceQueue;
import java.lang.ref.SoftReference;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class SoftRefSample {
static class Hoge {
final String s;
@buzztaiki
buzztaiki / SurelyDerefSoftRefSample.java
Created December 21, 2011 11:00
Surely dereference Softreference using array!!
import java.lang.ref.Reference;
import java.lang.ref.SoftReference;
import java.util.Arrays;
import java.util.Date;
public class SurelyDerefSoftRefSample {
public static void main(String[] args) throws Exception {
System.out.println("test1");
test1();
@buzztaiki
buzztaiki / tarx.bash
Created February 14, 2012 06:17 — forked from sasagon/tarx.sh
中身が単一ディレクトリになってないアーカイブを展開するときに、適当なディレクトリを作ってからその中に展開するshell script
#!/bin/bash --
for F in $@ ; do
if [ $(tar tf $F | grep -o '^[^/]*/' | sort | uniq | wc -l) -eq 1 ]; then
tar xvf $F
else
D=$F
for x in .tgz .tbz .txz .tar.gz .tar.bz2 .tar.xz; do
D=$(basename "$D" $x)
done
From c1606c90445679a04856665942cd6b398d441ff7 Mon Sep 17 00:00:00 2001
From: Taiki Sugawara <buzz.taiki@gmail.com>
Date: Fri, 17 Feb 2012 11:32:58 +0900
Subject: [PATCH] Encode utf-8 string.
---
edbi-bridge.pl | 34 ++++++++++++++++++++++++++--------
1 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/edbi-bridge.pl b/edbi-bridge.pl
@buzztaiki
buzztaiki / LockedProcess.java
Created February 21, 2012 18:32
JavaのProcessを使ってるとロックするあれ
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@buzztaiki
buzztaiki / LombokDelegateOnDeprecateSample.java
Created February 21, 2012 19:00
javac shows deprecation warnings when @DeleGate annotation used with deprecated method.
import lombok.Delegate;
import java.sql.ResultSet;
public class LombokDelegateOnDeprecateSample {
private static class MyResultSet {
@Delegate private final ResultSet rs;
public MyResultSet(ResultSet rs) {
this.rs = rs;
}
}