Skip to content

Instantly share code, notes, and snippets.

Kazuhiro Fujieda @kfujieda fujieda

Block or report user

Report or block fujieda

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Permutation.cs
// https://fujieda.mit-license.org/
static IEnumerable<IEnumerable<T>> Permutation<T>(T[] items)
{
return items.Length == 1
? new[] {items}
: items.SelectMany(item =>
Permutation(items.Where(x => !x.Equals(item)).ToArray())
.Select(perms => new[] {item}.Concat(perms)));
}
@fujieda
fujieda / PushBullet.cs
Created May 19, 2017
Push a note to all devices via PushBullet
View PushBullet.cs
using System.Net;
using System.Text;
namespace KancolleSniffer
{
public class PushBullet
{
public static void PushNote(string token, string title, string body)
{
using (var wc = new WebClient())
@fujieda
fujieda / gist:8c4e8e30861d4ae1df5a
Last active Mar 9, 2016
Status of Intel SSD 750 on ftp.jaist.ac.jp
View gist:8c4e8e30861d4ae1df5a
[Controller]
PCI Vendor ID: 0x8086
PCI Subsystem Vendor ID: 0x8086
Model Number: INTEL SSDPEDMW012T4
Serial Number: CVCQ5466016U1P2BGN
Firmware Revision: 8EV10174
Recommended Arbitration Burst: 0
IEEE OUI Identifier: E4-D2-5C
Multi_interface Capabilities: 0
Maximum Data Transfer Size: 5
@fujieda
fujieda / arc_miss.txt
Created Feb 1, 2016
ARC misses by vnode operations on ftp.jaist.ac.jp
View arc_miss.txt
arc
bash, fop_lookup, 1
cron, fop_read, 1
dosync, fop_read, 1
ntpd, fop_write, 1
sshd, fop_getpage, 1
sshd, fop_read, 1
rsync, fop_create, 2
cron, fop_lookup, 3
ksh93, fop_lookup, 3
@fujieda
fujieda / remodel_slot.md
Created Jan 30, 2015
装備改修のAPI
View remodel_slot.md
  • 成功の場合
url: 125.6.184.16/kcsapi/api_req_kousyou/remodel_slot
request: api%5Fslot%5Fid=46284&api%5Fid=101&api%5Fverno=1&api%5Ftoken=&api%5Fcertain%5Fflag=0
response: {"api_result":1,"api_result_msg":"成功","api_data":{"api_remodel_flag":1,"api_remodel_id":[2,2],"api_after_material":[25578,26962,22173,34490,1425,1564,2183,9],"api_voice_id":"0","api_after_slot":{"api_id":46284,"api_slotitem_id":2,"api_locked":1,"api_level":5}}}

api_after_slotに改修後の装備が返る。

@fujieda
fujieda / 24634447-Overview-on-encryption-and-deduplication.md
Last active Aug 29, 2015
Bitcasaの暗号化と重複排除の概要
View 24634447-Overview-on-encryption-and-deduplication.md

暗号化と重複排除の概要

訳注: これはOverview on encryption and deduplicationをBitcasa社から許諾を得て和訳したものである。

データはどのように暗号化されるのか

ユーザーがデスクトップアプリケーションを使ってコンテンツをBitcasa Driveにコピーしたとき、まずクライアント側でconvergent encryptionと呼ばれる手法で暗号化される。そして小さなデータのブロックとしてキャッシュにコピーされる。convergent encryptionではファイルのハッシュを用いて、ファイルを暗号化するための一意な鍵集合を生成する。convergent encryptionについてはWikipediaにより詳しい説明がある。データがキャッシュにコピーされたら、同期プロトコルでBitcasaにアップロードされる。ユーザーのファイルシステムは、Bitcasaアカウントを作ったときに生成されたユーザーキーで暗号化される。

この暗号化によって、ユーザーのアカウントの中にあるあらゆるデータ(ファイル名を含む)を我々がまったく見られなくなる。我々の側から見えるのは、何の意味もないデータのブロックと、それがユーザーのBitcasa Driveの中でどれくらい容量を使っているかだけである。データが復号化されて再構築されるのは、ユーザーがユーザー名とパスワードを使ってアカウントにログインしたときだけだ。我々は暗号鍵や生のままのパスワードはサーバーにまったく保存しない。

@fujieda
fujieda / gist:b244bd7b8bb218a8569d
Created Jul 11, 2014
戦闘開始から遭遇状況表示までの遅延(ms)
View gist:b244bd7b8bb218a8569d
var result = 7200;
if (formation >= 3)
result += 200; // T字有利or不利
if (search == 1 || // 索敵機による索敵成功
search == 2) // 索敵機未帰還あり
result += 5700;
if (search == 3 || // 索敵機未帰還
search == 4) // 索敵機による索敵失敗
result += 4900;
if (search == 5) // 索敵力による索敵成功
View 艦種
api_stype:
1 海防艦
2 駆逐艦
3 軽巡洋艦
4 重雷装巡洋艦
5 重巡洋艦
6 航空巡洋艦
7 軽空母
8 高速戦艦
9 低速戦艦
@fujieda
fujieda / 明石タイマーの仕様.md
Last active Aug 29, 2015
明石タイマーの仕様
View 明石タイマーの仕様.md

明石タイマーの仕様

明石の泊地修理が進むのは、修理開始後20分以降に母港に戻って艦娘のステータスを確認したときである。修理が進んでいたら、その時点を修理開始として計時がリスタートする。修理が進んでいないなら計時が継続する。

以下に示すのは、泊地修理開始後の経過時間をサーバー側で計っている「明石タイマー」の仕様を推測したものである。

以下はすべて明石が旗艦かつ入渠していないことを前提としている。修理可能な艦とは、明石が修理可能な範囲にある中破未満の損傷を持つ入渠していない艦(自身を含む)のことである。

開始

View gist:11164531

KancolleSniffer

[KancolleSniffer]は、艦これのサーバーとブラウザの間の通信をキャプチャして、幅285px高さ550pxのウィンドウに以下の情報をすべて表示するツールです。

  • 入渠、建造、遠征の終了を知らせる自動式タイマー
  • 艦娘数、装備数、バケツ数
  • 起動中に稼いだ戦果(ボーナス戦果を除く)
  • 艦娘の耐久、コンディション値、レベル、次のレベルまでの経験値
  • 艦隊の制空値
You can’t perform that action at this time.