Skip to content

Instantly share code, notes, and snippets.

View smallgeek's full-sized avatar
🤔
Now thinking...

smallgeek smallgeek

🤔
Now thinking...
View GitHub Profile
@smallgeek
smallgeek / Marking.fs
Created November 4, 2015 02:19
ファイルが初期化されることを確認するため事前にマーキングする
open System
open System.IO
open System.Drawing
type Kind = Text | Image
let recognize filePath =
let ext = Path.GetExtension(filePath).ToLowerInvariant()
match ext with
| ".bmp"
@smallgeek
smallgeek / マニュアル画像作成処理自動化.md
Created January 22, 2015 07:13
マニュアル画像作成処理自動化案
  1. Chef または PowerShell DSC でクリーンな環境にソフトをインストールする
  2. UI Automation をラップした 内部 DSL で対象ソフトを操作
  3. 画面をキャプチャして指定サイズに切り取る
  4. 指定ファイルに保存する
  5. 2~4 を繰り返す
  6. ImageMagick を使用して、作成した画像とリポジトリ内の画像を比較
  7. 差異がある画像をコミットする
  8. 7 の画像名をメールで通知
@smallgeek
smallgeek / Perfect.fs
Created June 2, 2013 09:58
n 以下の完全数リスト
let perfectNumbers n =
let isPerfect n =
[1 .. n / 2]
|> List.filter (fun i -> n % i = 0)
|> List.sum = n
[1 .. n]
|> List.filter isPerfect
@smallgeek
smallgeek / KochView.cs
Created December 8, 2012 10:06
KochView
using System;
using Android.Content;
using Android.Graphics;
using Android.Views;
using TurtleGraphics.Library;
namespace TurtleGraphics
{
@smallgeek
smallgeek / MainActivity.cs
Created December 8, 2012 10:04
MainActivity
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
namespace TurtleGraphics
@smallgeek
smallgeek / KochCurve.fs
Created December 8, 2012 10:00
KochCurve
namespace TurtleGraphics.Library
module KochCurve =
open System
let rec private move n (f: Action<int, int, int, int>) (t:Turtle) =
match n with
| 0 ->
let rad = Math.PI / 180.0
let x = int (t.step * cos (rad * t.angle)) + t.x
@smallgeek
smallgeek / Turtle.fs
Created December 8, 2012 09:57
Turtle
namespace TurtleGraphics.Library
type Turtle = { x: int; y: int; step:float ; angle: float }
with member this.turn a =
{ this with angle = (this.angle + a) - float (int this.angle) + float (int this.angle % 360) }
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetFrameworkIdentifier>MonoAndroid</TargetFrameworkIdentifier>
<MonoAndroidVersion>v1.0</MonoAndroidVersion>
<TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == ''">v2.2</TargetFrameworkVersion>
<AndroidLinkMode Condition="'$(AndroidLinkMode)' == ''">SdkOnly</AndroidLinkMode>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\FSharp\1.0\Microsoft.FSharp.Targets" Condition="!Exists('$(MSBuildBinPath)\Microsoft.Build.Tasks.v4.0.dll')" />
<Import Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" Condition=" Exists('$(MSBuildBinPath)\Microsoft.Build.Tasks.v4.0.dll')" />
<Import Project="Novell.MonoDroid.Common.targets" />
<Import Project="$(MSBuildExtensionsPath)\Novell\MonoDroid.FSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" Condition=" Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets')" />