Skip to content

Instantly share code, notes, and snippets.

View namusyaka's full-sized avatar

namusyaka namusyaka

View GitHub Profile
@namusyaka
namusyaka / gist:796679
Created January 26, 2011 13:27
HatenaDiary-rssのchannel部分だけ取得&キャッシュ
#!/usr/local/bin/ruby
require 'net/http'
require 'rss'
require 'time'
require 'lib/simple_cgi.rb'
print "Content-Type:text/html\n\n"
query = SimpleCGI::query
require 'rss'
require 'net/http'
require 'uri'
require 'time'
Net::HTTP.version_1_2
class RSSReader
@@http = Net::HTTP
@namusyaka
namusyaka / gist:869501
Created March 14, 2011 17:29
現在開いているページのHTMLに含まれる画像URLを画像化して列挙するスクリプト。
javascript:(function(){
var _d = document;
var array = _d.body.innerHTML.match(/("|')([^"']+?\.)(jpg|gif|png|bmp|jpeg)("|')/ig);
if(!array)
return alert('見つからなかった。');
var exist = {};
for(var i=0; i < array.length; i++) {
if(!exist[array[i]]) {
_d.write('<img src=' + array[i] + '>');
exist[array[i]] = 1
@namusyaka
namusyaka / gist:869509
Created March 14, 2011 17:31
Cのリハビリ
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void encode(char *target, char *str) {
char *result = malloc(strlen(target) * 8 + 1);
if(result) {
@namusyaka
namusyaka / gist:869512
Created March 14, 2011 17:34
Objectリテラルを定義リスト、配列をリストに再帰的に変換する関数。
function parseObject(obj) {
var _d = document, create = function(element) {return _d.createElement(element)}
switch(obj.constructor) {
case Array:
var list = create('ul');
break
case Object:
var list = create('dl');
break
default:
@namusyaka
namusyaka / gist:869517
Created March 14, 2011 17:36
遺伝子の形質パターンを計算する関数たち。
//配列にindexOfが使えるブラウザ(IE以外)ではこんな回りくどいことをしなくてもいい。
function dontOverWrap(array) {
var r = '', arr = [];
for(var i = 0; i < array.length; i++) {
if(r.indexOf(',' + array[i] + ',') === -1) {
r += ',' + array[i] + ',';
arr[arr.length] = array[i]
}
}
return arr
@namusyaka
namusyaka / gist:871793
Created March 16, 2011 00:25
Skypeのチャットログを自動で保存していくスクリプト for Windows。
var fso = new ActiveXObject("Scripting.FileSystemObject");
var skype = new ActiveXObject("Skype4COM.Skype");
var wss = new ActiveXObject("WScript.Shell");
function Skype_MessageStatus(msg, status) {
var topic = "log/" + (msg.chat.Topic || "個人チャ");
if(!fso.FolderExists(topic))
fso.CreateFolder(topic);
if(status == skype.Convert.TextToChatMessageStatus("RECEIVED") ||
status == skype.Convert.TextToChatMessageStatus("SENT")) {
function addPropertyToElement(element, property) { //property format is object . {'foo' : 'bar'}
for(var i in property)
element.style[i] = property[i];
}
onload = function() {
addPropertyToElement(document.getElementsByTagName('h1')[0], {
'color' : 'red',
'fontSize' : '50px',
'border' : '1px solid black',
@namusyaka
namusyaka / gist:923009
Created April 16, 2011 09:21
RubyのObject.sendみたいなのをJavaScriptで実装
function a(b){
alert(b)
}
Object.prototype.send = function(method, args) {
var args = args instanceof Array ? args : [args]
return this[method].apply(this, args)
}
function send(func, args) {
var func = /\./.test(func) ? func.split(".") : func;
var args = args instanceof Array ? args : [args]
@namusyaka
namusyaka / gist:958929
Created May 6, 2011 13:11
hello world
use strict;
print "hello world"