タグ

ブックマーク / blog.kzfmix.com (27)

  • グラフ分割問題をsimulated annealingで

    def evaluate(nodes, adj, sol, alpha): s = [0 for i in nodes] d = [0 for i in nodes] bal = 0 for i in nodes: if sol[i] == 0: bal += 1 else: bal -= 1 for j in adj[i]: if sol[j] == sol[i]: s[i] += 1 else: s[i] -= 1 cost = 0 for i in nodes: cost += d[i] cost /= 2 cost += alpha*abs(bal) return cost, bal, s, d def find_move_rnd(n, sol, alpha, s, d, bal): istar = random.randint(0,n-1) part = sol[istar] i

    グラフ分割問題をsimulated annealingで
  • Flaskrの認証をOAuthで

    Flaskのチュートリアルの認証をFlask-OAuthを使ったものに変えてみた。 loginのとこを変えるのと、新しくoauth-authorized,get_twitter_tokenというメソッドを追加してoauthの認証に対応させただけ。 import sqlite3 from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash from contextlib import closing from flaskext.oauth import OAuth DATABASE = '/Users/kzfm/flask/flaskr/flaskr.db' DEBUG = True SECRET_KEY = 'development key' app = Flas

    Flaskrの認証をOAuthで
  • タグのネットワーク

    sofでグラフ(ネットワーク)を描くためのjavascriptライブラリを見つけたので調べていたら、twitterでCytoscapewebを教えてもらったので、cytoscape使い的にはそっちで色々試してからCytoscapewebで描画できるようにすれば効率的であることに気づき、自分のBlogのタグネットワークを描かせてみることにした。 が、色々つまづいて結局そこまでは至らなかったという。まず、networkxはutf8の属性含んだネットワークをgmlで出力仕様とするとエラーはいた。 しょうがないのでigraphでやるかと思ったらigraphの場合はネットワークを組み立てる場合には結構めんどくさかった(隣接行列から構築する場合には楽だけど)基的に行列用意しておいて読み込ませるのはいいんだけど、sqlalchemyからオブジェクトをひっぱりつつネットワークを組み立てていくってのはne

    タグのネットワーク
  • FlaskとXDMつかってgooglemapとtwitterを連動させるサンプル

    HTML5 APIガイドブック コミュニケーション系API編が面白い。ひと通り読んだので、コード書いてみてる。 2章のサンプルコードをFlaskで。サンプルコードは3つのHTMLファイルが必要だけどFlask使えば一つのファイルに全部押し込めるので管理が楽。 初期値は富士市役所のあたりから半径5キロ以内のtweetを探すようにした。で地図をドラッグすると、それに伴いtweetも連動して表示されるので、ほーこんなユーザーいるのか!と新たな発見もあった。 このは入門書として最適かもしれん。 #!/usr/bin/env python # -*- encoding:utf-8 -*- from flask import Flask app = Flask(__name__) @app.route("/") def processing(): response = """ <!doctype h

    FlaskとXDMつかってgooglemapとtwitterを連動させるサンプル
  • プレゼン用にGrowl通知するタイマーを作った

    今日の朝、時計をもっていないことに気づいて。 import sys,os import Growl import threading def timenotify(notify_string): image = Growl.Image.imageFromPath("/Users/kzfm/.tw_growl/kzfm.png") g = Growl.GrowlNotifier(applicationName='Timer', notifications=['Watch']) g.register() g.notify( noteType='Watch', title="GrowlTimer", description= notify_string, icon=image, sticky=False) if __name__ == "__main__": t1 = threading.Tim

    プレゼン用にGrowl通知するタイマーを作った
  • ドーナツ作った

    娘がドーナツの夢を見たとかいうので、「じゃぁドーナツでも作るか!」という軽いノリで始めた。 型なんか、コップとかでとればいいんだろうけど、娘は上手に型取り出来ないから、わざわざダイソーに行って買ってきた。ドーナツはクッキーに比べて、洗い物が少なくていいのが良いです。 薄力粉と強力粉を一対一で混ぜた粉を使ったのでサクサクの仕上がり。 薄力粉 100g 強力粉 100g 砂糖 90g ベーキングパウダー 小さじ2 卵1個 牛乳大さじ2 バター 20g

    ドーナツ作った
  • 夕焼けグリッチ

    5x5のタイル状にしてみた。 好みの夕暮れの色があるように、好みのノイズ量があるに違いないので、もう少しノイズの入れ方を考えないと。 import base64,re,Image from random import randint def glitch(infile,outfile): jpg_text = base64.encodestring(open(infile,"rb").read()) glitched_text = "" count = 0 width,height = Image.open(infile).size num = width * height / 10000 for c in jpg_text: if c == '0': if randint(0,num) == 0: count += 1 glitched_text += str(randint(0,9))

    夕焼けグリッチ