ファイルを日付別フォルダに分類する

使おうとする度にどこ行ったっけ?ってなるのでここに貼り付けておく. 4種類あるけど、やってることは同じ. まあ、でもどれが好きって聞かれると3つ目なのかなあ. ls | % { if (-not $_.PSIsContainer) { $dir = $_.LastWriteTime.ToString("yyyyMMdd") if (-…

HTML メールを送信する

さりげに一番難しかったのは [System.Net.Mime.MediaTypeNames+Text]::Html だった気がするのがw クラス内クラスはこんな書き方になるようである. $client = new-object System.Net.Mail.SmtpClient $client.Host = "smtp.example.com" $client.Port = 25 $c…

PowerShell 2 でも .NET Framework 4 を使う

PowerShell 3 からは PowerShell が .NET 4 で動作するようだけど、Windows XP は PowerShell 3 をインストール出来ないという・・・. でも、exe.config を書けば、.NET 4 で動かせるよという話. PS> cat $env:windir\system32\windowspowershell\v1.0\power…

.NET メソッドの string 引数に null を渡す

PowerShell は $null を勝手に "" に変換して、.NET メソッドの string 引数に渡すというお節介をしてくれるので、メソッドの仕様によっては困ったことになります. PowerShell 3 からは、そのような場合には [System.Management.Automation.Language.NullStr…

逆FizzBuzz問題(linq)

asq を入れて、ちょっと書きなおしてみた. order_by した後に、count して first すると empty sequence が出るという C# で出ない挙動がちょっとアレです. from asq.initiators import query from itertools import count, cycle, islice, ifilter def Fizz…

逆FizzBuzz問題

最近ぞっぷりと linq に染まっていたので、関数の入れ子をより気持ち悪く感じて困る. python にも組み込み linq を誰か. from itertools import count, cycle, islice, ifilter def FizzBuzz(): seq = [None, None, "Fizz", None, "Buzz", "Fizz", None, Non…

CRC32

RFC 1952 - GZIP file format specification version 4.3 に載っているコードをベタ移植しただけです. crc_table = [None] * 256 def make_crc_table(): for n in range(256): c = n for k in range(8): if c & 1: c = 0xedb88320 ^ (c >> 1) else: c >>= 1 …

Unix time

Unix time いろいろ.まずは C#. var timestamp = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds.ToString("F0"); Python. timestamp = '%d' % time.mktime(time.localtime()) シェルスクリプト. TIMESTAMP=`date +%s`

Twitter の JSON をテキストに変換

検索結果の json をテキストに変換した. きっとまた使うので残しておく. import json from glob import glob from datetime import datetime, timedelta txtconv_table = { '&lt;': '<', '&gt;': '>', '&quot;': '"', '\r': '', '\n': ' ' } def dtconv(s): …

無理やり with 対応

追記: contextlib.closing を使えばよかったのこと(^^; GzipFile が標準ライブラリのくせに with に対応していなくてカッとなってやった. つか、close メソッド呼べばいいだけのクラスって多いと思うんだけど・・・. import gzip from new import instanceme…

Python で png 画像を自力で生成する(パレット編)

特に何かが難しかったりするわけでもないですが. from sys import stdout from struct import pack from zlib import crc32, compress def chunk(type, data): return pack('!I4s%dsi' % len(data), len(data), type, data, crc32(type + data)) width, heig…

Nimrod で空ウインドウを出してみた

force7.de で、空ウインドウを出してみた. import windows const NULL = 0 proc wndProc(hWnd: HWND, msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{.stdcall.} = case msg of WM_DESTROY: PostQuitMessage(0) else: return DefWindowProc(hWnd, msg…

Python で png 画像を自力で生成する

Ruby で png 画像を自力で生成する - まめめも を Python に移植しただけw # -*- coding: utf-8 -*- from sys import stdout from struct import pack from zlib import crc32, compress width, height = 100, 20 depth, color_type = 8, 2 # グラデーション…

ffftp.ini パスワードデコーダ

諸事情で書いたので. 入力は標準入力、出力は標準出力. #!/usr/bin/env python # -*- coding: utf-8 -*- from sys import stdin, stdout def decode(s): result = '' t = [ord(c) for c in s] + [0] i = 0 while i < len(s): rnd = (t[i] >> 4) & 0x3 ch = (…

Twitter の最新の200件の home_timeline をテキストとして読む

Equifax_Secure_Global_eBusiness_CA-1.cer は Equifax Secure Global eBusiness CA-1 (Base-64 encoded X.509) をダウンロードしたもの. sed のホールドスペースって初めて使ったけど、使いこなせれば色々と面白いことが出来そう. ひたすら入れ替えることに…

2点間の距離を計算する

ヒュベニの距離計算式を Python のコードに落としてみた. import math a2 = 6378137.0 ** 2 b2 = 6356752.314140 ** 2 e2 = (a2 - b2) / a2 def distance_by_hubeny(p1, p2): def d2r(deg): return deg * (2 * math.pi) / 360 (lon1, lat1, lon2, lat2) = ma…

KML Creator

恐らく Firefox 3.5 専用. 右クリックでポチポチマーカーを置いていって、最後にボタンを押してクリップボードに突っ込む. マーカーは左クリックでドラッグして位置修正が出来ます. 起動直後とボタン押した際にダイアログが出ますがOKしてやってください. 20…

Canvas で画像モノクロフィルタ

コードを書いた時間より、Web サーバにアップすると動くのにローカルで動かない理由が分からなくて首をひねっていた時間の方が長かったという. Firefox のセキュリティーポリシー謎すぎ・・・. <html> <head> <title>Canvas</title> <script type="text/javascript"> window.onload = init; var img = new Image(); func</head></html>…

テキストを RTF に変換する

色付けや装飾をしないと余り意味が無いわけですが(^^; 入力は UTF-8 なテキストを stdin から、出力 stdout となっています. #!/usr/bin/env python # -*- coding: utf-8 -*- from sys import stdin, stdout write = stdout.write font_name = u'MS Pゴシ…

C# で InputBox (2)

C#

id:NyaRuRu にオブジェクト初期化子を教えてもらったので書き換え. form は SuspendLayout が邪魔して使えないのが残念! public static string InputBox(string Prompt, string Title, string DefaultResponse) { var form = new Form(); form.SuspendLayout…

RitchTextBox で論理行

C#

GetLineFromCharIndex は WordWrap してると使い物になんねえ! private void richTextBox1_DoubleClick(object sender, EventArgs e) { var l = 0; var t = richTextBox1.Text; for (var i = 0; i < richTextBox1.SelectionStart; i++) if (t[i] == '\n') l+…

C# で InputBox

C#

負けた気分になりながら Microsoft.VisualBasic.Interaction.InputBox を使ってみたら、キャンセルボタンを押した場合と空文字列を入力した場合の区別がつかなくて絶望した! しかし、こういうコードを書くと with が欲しくなるね. public static string Inpu…

.NET 2.0 で Parallel.For

C#

.NET 4.0 に Parallel.For が入るのはいいけど、普及するのにどんだけかかるんだよと思ったら手が動いていた(ぉ) using System; using System.Threading; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Parallel.For(…

C# で MD5 string

C#

byte 配列止まりで、文字列に落とすところまでやってくれないのってなんでなんだろうね? そっちの利用の方が多いとおもうのに. Java もそうなんだけど. public static string MD5HexString(string s) { return BitConverter.ToString(new MD5CryptoServicePr…

C# でスライス

C#

C# で配列のスライスがあまりにも苦痛だったので作った. string も気がついたら作っていた. skip はめったに使わないので放置. namespace MyExtensions { public static class Extension { public static T[] Slice<T>(this T[] source, int start, int end) { </t>…

名前が引けないと mod_proxy_connect で DNS エラーになる障害の対策パッチ

インターネットの名前が引けない中間フォーワードプロキシーで mod_proxy_connect を動作させるパッチ. 2.2.4 から 2.2.6 の間のリグレッションが原因で動作しないのだが、報告から22ヶ月経った現在も直す気配は無し. --- mod_proxy_connect.c.bak Mon Sep 3…

アッカーマン関数

一応残しておく. $ python Python 2.6.2 (r262:71600, Jun 5 2009, 23:21:35) [GCC 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)] on cygwin Type "help", "copyright", "credits" or "license" for more information. >>> cache = {} >>> >>> def m…

Poderosa の自動操作マクロ

Poderosa は更新が無くなってしまったので使わないと思うけど、発掘したので. import Poderosa; import Poderosa.ConnectionParam; import Poderosa.Terminal; import Poderosa.Macro; import Poderosa.View; import System.Drawing; import System.Threadin…

RDP via SOCKS

SOCKS 経由で RDP 接続するためのローカル TCP relay. 色々と思うところはあるけど、とりあえず動く. 作り込みとかはまた考える. from socket import socket, inet_aton, AF_INET, SOCK_STREAM from struct import pack from threading import Thread relay_…

Ant での Pre/Post 処理のカスタマイズ

NetBeans のビルドスクリプトの猿真似ですが :-D. $ ant compile Buildfile: build.xml -pre-compile: -do-compile: [echo] compile -post-compile: [echo] overrided post-compile compile: BUILD SUCCESSFUL Total time: 0 seconds $ cat build.xml <project name="test"> </project>