Skip to content

Instantly share code, notes, and snippets.

View alphaKAI's full-sized avatar

Akihiro Shoji alphaKAI

View GitHub Profile
@alphaKAI
alphaKAI / currentstatus.md
Last active August 29, 2015 14:11
UserStream viewer written in D. using: Twitter4D https://github.com/alphaKAI/twitter4D.

#Build

$ cd tmp
$ git clone <this gist> timelineview
$ cd timelineview
$ git clone https://github.com/alphaKAI/twitter4d
$ cp twitter4d/source/twitter4d.d .
$ (any editor) setting.json
@alphaKAI
alphaKAI / gtkTweet.d
Created December 3, 2014 09:31
Tweet only Twitter Client. use: Twitter4d, GtkD build : $ dmd gtkTweet.d twitter4d.d -L-lcurl -L-lgtkd-2 -L-ldl
import gtk.MainWindow,
gtk.Button,
gtk.Widget,
gtk.Label,
gtk.Entry,
gtk.Main,
gtk.VBox,
gtk.HBox;
import core.thread;
@alphaKAI
alphaKAI / googleCgiApi.d
Last active October 11, 2015 06:26
The sample for Google CGI API for Japanese Input use by D language.
import std.stdio,
std.string,
std.array,
std.net.curl,
std.format,
std.algorithm,
std.ascii;
static string urlEncode(string urlString){
// Exclude A..Z a..z 0..9 - . _ ~
@alphaKAI
alphaKAI / fizzbuzz.d
Last active August 29, 2015 14:09
D言語でコンパイル時FizzBuzzとか Haskellで適当にFizzBuzzとか
import std.stdio,
std.conv;
immutable string[] fb = {
string[] t;
foreach(i;1..401)
t ~= !(i % 15) ? "FizzBuzz" :
!(i % 3) ? "Fizz" :
!(i % 5) ? "Buzz" : i.to!string;
return t;
@alphaKAI
alphaKAI / ptn.d
Created November 8, 2014 03:50
DとHaskellで37この文字の配列(リスト)から4文字の文字列を作ってみる(37^4)ベンチ的なの(ただし、Haskell初心者ですのでよくわかってない)
import std.stdio;
void main(){
string charset = "abcdefghijklmnopqrstuvwxyz0123456789_";
string[] strs;
foreach(w; charset)
foreach(x; charset)
foreach(y; charset)
foreach(z; charset)
strs[++strs.length - 1]= cast(string)[w, x, y, z];
@alphaKAI
alphaKAI / battery.lua
Created October 21, 2014 08:39
Battery widget for awesome(3.5) statusline
batterywidget = wibox.widget.textbox()
batterywidget:set_text(" | Battery | ")
batterywidgettimer = timer({ timeout = 1 })
batterywidgettimer:connect_signal("timeout",
function()
now = tonumber(io.open("/sys/class/power_supply/BAT1/energy_now", "r"):read("*a"))
full = tonumber(io.open("/sys/class/power_supply/BAT1/energy_full", "r"):read("*a"))
chars = tonumber(io.open("/sys/class/power_supply/ADP1/online", "r"):read("*a"))
cur = now / full * 100
@alphaKAI
alphaKAI / hw_func.d
Created October 8, 2014 07:58
なんかふと思い立ってD言語のlambdaっていうかfunctionで遊んでみた
import std.stdio,
std.array,
std.algorithm;
void main(){
((()=>"H")()~(()=>"e")() ~(()=>"l")()~(()=>"l")()~(()=>"o")()~(()=>" ")()~(()=>"w")()~(()=>"o")()~(()=>"r")()~(()=>"l")()~(()=>"d")()).writeln;
([()=>"H", ()=>"e", ()=>"l", ()=>"l", ()=>"o", ()=>" ", ()=>"w", ()=>"o", ()=>"r", ()=>"l", ()=>"d"].map!(x => x())).join.writeln;
}
@alphaKAI
alphaKAI / ErrorMessage
Last active August 29, 2015 14:07
D言語でマルチスレッドして処理させたいけど頭が悪くてうまくできないの図
core.thread.ThreadException@src/core/thread.d(702): Error creating thread
----------------
./add(void add.loop(ref long)+0x96) [0x42b95e]
./add(_Dmain+0x19) [0x42baf1]
./add(_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv+0x1f) [0x4306c3]
./add(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate())+0x2a) [0x430616]
./add(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll()+0x30) [0x43067c]
./add(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate())+0x2a) [0x430616]
./add(_d_run_main+0x193) [0x430597]
./add(main+0x17) [0x42c657]
@alphaKAI
alphaKAI / easyListStructure.c
Created July 27, 2014 12:28
簡易リスト機構をC言語で実装してみた(適当な実装なため、バグがあるかと)
#include <stdio.h>
#include <stdlib.h>
typedef struct tagListNode{
struct tagListNode * next,
* prev;
int data;
} ListNode;
typedef struct tagListStruct{
@alphaKAI
alphaKAI / atm.c
Last active April 14, 2016 22:54
後輩に課したCの課題01(簡単なATMシステムもどきの実装)の模範実装的なやつ (D言語版もふざけて適当に作った)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//ユーザー名の最大 : 20 + 1(null文字)
#define USER_NAME_MAX_LENGTH 21
//Flag Defines
#define MONEY_STATUS 1
#define VERSION "0.0.1"