Let'snote CF-NX3にWindows 8.1をクリーンインストールした際のメモ

導入済みドライバがダウンロードできるので特に問題なし。強いていえば、工場出荷時の状態でC:\utilに入っているファイル一式を念のためバックアップしておく程度。

Vagrant/VirtualBoxの環境をそのまま他のPCに移行する

今までプライベートPCで創業準備なり仕事なりをしていたんですが、つい最近になって業務用PCを購入したので、Vagrant環境を旧PC(プライベート用マシン)から新PC(業務用PC)に移行してみました。少しだけハマったので、メモだけ残します。 手順 新PCにVagrant/…

Windows 8.1のシステムバックアップ

Windows 8.1のシステムバックアップ機能(Windows 7の「バックアップと復元」、Windows 8の「Windows 7 のファイルの回復」に該当するもの)が分かりづらいので備忘録。@unagixさんに教えてもらった。コントロールパネル→ファイルの履歴 内の 関連項目(左下…

NGK2012Bのロゴフォント

NGK

備忘録:NGK2012BのロゴはOrbitronっていうフォント使った。

デンキヤギ株式会社を設立しました

デンキヤギ株式会社なんだかんだで忙しいので、設立にあたっての詳しい話はまた今度。

Windows 8.1にVirtualBoxをインストールするとシャットダウンやスリープが失敗する

VirtualBox 4.2.18で再現確認。どうやらVirtualBoxのBridgeドライバがバグってるようで、これをインストールしてしまうとシャットダウンやスリープに失敗してしまう。現時点の対応策としては、Bridgeドライバをインストールしないようにすることしかない。 …

Windows 8.1 + VagrantでRails4開発環境を構築する

RailsはおろかRubyもほぼ開発経験なしで、そもそも無職なんですが、なぜかRails4開発案件の話が来ているため、ここ数日ほどRailsの学習/開発環境を用意したりしております。 基本方針 コーディングやDBメンテなんかは全てWindows上で行う Ruby/Railsの実行環…

Chocolateyパッケージの作り方

Chocolateyとは 窓の杜の記事を参照→【レビュー】Windowsアプリをコマンド一発で導入できるパッケージ管理システム「Chocolatey」 - 窓の杜 Chocolateyパッケージ開発環境の準備 Chocolateyのインストール インストールコマンドはChocolateyのページを参照 N…

今時の.NETテンプレートエンジンはRazorEngineっぽい

.NET用のテンプレートエンジンを探していたらRazorEngineっていうよさげなのを見つけた。 RazorEngine Razorをラップしたライブラリ。Razorは、ASP.NET MVCとかASP.NET Webページ(WebMatrix)とかで使われているMS謹製のテンプレートエンジンで、NuGetでも単…

Firefox 23でSource Mapsが実装されたみたいだけど、まだちゃんと動いてない?

HaxeコードがFirefox開発コンソールのデバッガに一応表示されることを確認した。ただし、Firefox 23の時点ではまだ完全対応というわけではなさそう。そのあたりの公式ソース探すのがめんどくさい(Firefox使わなくてもChromeで事足りてしまう)ので、Firefox…

PortAudioでのマイク入力をSpeexでエンコード/デコードしてそのまま鳴らす

この例だとNSpeexが負荷の高いノイズフィルタとしか扱えてないのだけど、検証コードとしては十分。NSpeexエンコーダのポイントとしては、 16bit MONO サンプルレート: NB=8KHz, WD=16KHz, UWD=32KHz フレームサイズ: NB=160, WD=320, UWD=640 NSpeex.SpeexEn…

PortAudioでマイク入力をそのままスピーカーに出力するだけのコード

portaudiosharp - .NET bindings for the portable low-latency audio library PortAudio - Google Project Hostingを使えばいいのに、ちょっとラッパーの実装が気に入らないので自分でアンマネージドコードを呼び出してみている。(ちなみにportaudiosharp…

アンマネージドコードにCallbackを指定したらCallbackOnCollectedDelegateが頻発する

なんとなくPortAudioSharpを使わずに、自分でDllImportとか書いてPortAudioを使ってみている。そしたら、少し動かしているだけでCallbackOnCollectedDelegateが頻発して、少しはまってしまった。原因はcallbackOnCollectedDelegate MDAに書いてある通り、ア…

PortAudioをVisual Studio 2012でビルド

特に難しい点は無し。 PortAudioの最新のstable(pa_stable_v19_20111121.tgz)をダウンロード ASIO SDKをダウンロード ユーザ登録とかが面倒 (ASIO SDKのダウンロードの仕方 : 工作と競馬) ASIO SDKを ${PortAudio}/src/hostapi/asio/asiosdk に配置 ${PortAu…

gstremer-sharpでOgg/Speexを再生する

demuxerを使った場合のLinkのさせ方で詰まったのでメモ。 初期化 var path = @"C:\gstreamer"; Environment.SetEnvironmentVariable("PATH", String.Format(@"C:\Windows;{0}\lib;{0}\bin", path)); Environment.SetEnvironmentVariable("GST_PLUGIN_PATH", …

意識の高い無職にジョブチェンジしました

近いうちに会社(法人)を作る方向で動き始めました。もう少し無職期間を延ばすなり、どこかに就職するなりという選択肢もあったんですが、名古屋創業準備ルーム(ドリーム・ナビ)という創業支援事業に応募したら審査(書類+面談)に通ってしまったのが、…

.NETから叩ける組み込みブラウザエンジン

丸一日かけて調査したのだけど、直近では使わなさそうなのでメモだけ。状況が変わりやすい世界のようなので、1年後にはここに書いた情報は陳腐化して使えなくなってる可能性がある。 Firefox(Gecko) Firefoxをアプリ内に組み込みたい場合は、XUL RunnnerをGe…

.NET基礎勉強会でMSILの話をしてきました

動的なILの生成と編集 from terurou 自分より.NET力の高い方が来場されていたお蔭で、スライドの間違いを2か所修正できました。ありがたいことです。

PDFライブラリのlibHaru 2.3.0 RC2をビルドしてみる

とりあえず.dllおよび.soが作れるところまで。libHaruの配布元のwikiにはconfigure使えとかいろいろ手順が書いてあるんですが、2.3.0 RC2ではその手順通りではビルドできない感じなのでメモ。Windowsの手順がかなり手抜きですが、気になる人はMakefileをちゃ…

MuPDF conveter(MuPDFLib)でPDFを画像に変換してみる

MuPDFという軽量なPDFレンダラの.NETバインディングのMuPDF conveter(MuPDFLib)を使ってみた。簡単にPDFをWPFで表示できたりする。地味に32bit/64bit両対応しているのも良い。MuPDFのソースなりドキュメントを読まないとパラメータの意味がわからない部分…

自分でビルドしたPoppler 0.22.5 + .NETバインディングがうまく動かなかった

ここ数日、Popplerを自分でビルドしたりして.NETから叩いてみてたんだけど、どうも動作が不安定。 MinGWでPoppler 0.22.5をビルド - DenkiYagi Poppler 0.22.5の.NETバインディングを作成する - DenkiYagi こんな感じのコードが動いたり、AccessViolationExc…

Poppler 0.22.5の.NETバインディングを作成する

MinGWでビルドしたPoppler 0.22.5の.NETバインディングを作成する。Windows単体ではすんなり作成できそうにないので、Linux(Xubuntu)で作業した。 必要な環境 monoの開発環境。XubuntoでMonoDevelop 4が動かしたくて色々入れた後なので、どのパッケージが…

MinGWでPoppler 0.22.5をビルド

依存ライブラリが多くて疲れた…。ビルドした後から手順を書いてるので間違ってるかも。 参考にした手順 poppler - TeX Wiki MSYSでGTK+をビルド (2) - 七誌の開発日記 インストール手順メモ MinGW GLib, gettext, pkg-configのバイナリを/MinGWにぶち込む ht…

gstremer-sharpで明示的にデバイスを指定

例としてDirectSound Deviceを明示的に指定する。 var src = Gst.ElementFactory.Make("dshowaudiosrc"); var probe = new Gst.Interfaces.PropertyProbeAdapter(src.Handle); var devices = probe.ProbeAndGetValues("device-name"); src["device-name"] = …

.NETからGStreamerを使ってみる

GStreamerとは クロスプラットフォームのマルチメディアライブラリ。映像や音声の入力(デバイスでもファイルでもよい)をエンコードしたり、RTMPでストリーミングしたりとか、そういったものを簡単に作ることができる。なお、.NETからGStreamerをつかう実例…

VAIO Z21にWindows 8.1をクリーンインストールしてみた

Windows 8.1 PreviewのISOをダウンロードする権利がある(MSDN Subscriptionを持ってる)ので、VAIO Z21にクリーンインストールしてみた。なんかもうMSDNでなくてもISOをダウンロードできたらしい(http://windows.microsoft.com/ja-jp/windows-8/preview-is…

大なごやJSでHaxe/JavaScriptの発表してきました

FIRST STEP to Haxe/JavaScript from terurou

.NET FrameworkのThreadPoolサイズ

プロセスごとに、1 つのスレッド プールがあります。 .NET Framework 4 以降では、プロセスのスレッド プールの既定のサイズは、仮想アドレス空間のサイズなど、いくつかの要素によって決まります。 スレッドの数は、プロセスで GetMaxThreads メソッドを呼…

F#というか.NETにJavaのAtomicBooleanがなかったので実装してみた

タイトルの通り、.NETにはJavaのAtomicBoolean(CAS操作のできるBoolean)が存在しないので、適当に実装してみた。スレッドセーフを保障しつつ、一回だけ処理を走らせたい場合なんかに使うと思う。 実装例 ここの例はF#だけど、Interlockedを使ってるだけな…

F#でUnitTest

F#

やりたいこと Visual Studio 2012に統合された形でF#のUnitTestを書きたい/動かしたい。 xUnit.netを使う場合 特にテスティングフレームワークには拘りはないのだけど、なんとなくNUnitよりもxUnit.netの方が好きなので、動くようにしてみた。FsUnitというや…

デバッグ中にAsync.FromBeginEnd内部でExceptionが発生すると、デバッガが止まってしまって邪魔くさい

F#

F#でちょっと非同期Socketのコードを書いてるんですが、 type Socket with member this.AsyncReceive(bytes, flags) = Async.FromBeginEnd(bytes, flags, (fun (_, _, callback, state) -> this.BeginReceive(bytes, 0, bytes.Length, flags, callback, stat…

Re: HaxeとTypeScriptを両方使ってみた感想

HaxeとTypeScriptを両方使ってみた感想 - ジンジャー研究室 に対してのコメント。コメント欄ではレスを書くには余白が狭すぎです。 if式について HaxeのifはBool型しか受け付けないため、存在判定はnullとの比較が必須になる。JavaScriptからHaxeに移行する…

ごく普通の会社で社内勉強会・社内研修みたいのを散々やってきたけど、あまり成果が出てこなかった話でもひとつ。

社内勉強会ネタがなんか盛り上がってますね。2004年ぐらいから散々やってきましたが、大きな成果を得られていないみたいな話でも書いとこうかと思います。 認識してる元ネタ 社内勉強会をやらない理由 - 勘と経験と読経 社内内弁慶を社外勉強会に参加させる…

【訂正エントリ】jsdoc3の使い方が間違ってると指摘を受けたので再評価した

以前、JavaScriptのAPIドキュメント生成ツールを調べてみたら、YUIDocが割とよかった - DenkiYagiというエントリで「jsdocゴミっぽい」と書いたのだが、「それアノテーションの使い方が間違ってる」とツッコミが入ったので、再評価してみた。 インストール j…

F# の非同期ワークフローがよくわかってない

F#

F# 3.0で以下のコードが期待通りに動かない理由がよくわかってない。Ctrl+Cを押してもプログラムが終了してくれない。Wait()したままになる。 open System [<EntryPoint>] let main argv = Async.StartAsTask(Async.AwaitEvent(Console.CancelKeyPress)).Wait() printfn </entrypoint>…

QyotoではQMLは使えないっぽい

QyotoにQMLをホストするためのQDeclarativeViewが存在しないのでどうしようもない。PySideやPyQtにはあるのになぁ。QyotoがQt5に対応した時にサポートしてくれるのを期待するしかないですね。

ローカルマシンのIPAddressを取得するのに Dns.GetHostEntry(Dns.GetHostName()) とか使えない

.NETでSocketをたたくコードをMSDNのサンプルをもとに書いてたのだけど、Socket#Bind()でエラーが出て少しハマった。よく考えればわかることなんだけど、Dns.GetHostEntry(Dns.GetHostName())だと、ipv6アドレスやHyper-Vの仮想NICとかのインターフェースも…

T4 Templateで.uiファイルをコンパイルするツール作った

このツールと同じディレクトリに存在するuiファイルすべてをコンパイルするだけのツールです。ソリューションファイル追加していない(Visual Studio上に表示されていない).uiファイルもコンパイル対象になります。ライセンスは一応MITライセンスにしてあり…

.uiファイルをC#のソースコードにコンパイルしてみる

QtにはQUiLoaderを使って動的に.uiファイルを読み込む他に、.uiファイルをコンパイルしてソースコードを生成する仕組み(uic)があるようだ。で、Qyotoにもないかと調べたら、uics.exeという怪しげなexeがあったので試してみたら動いた。ちなみにcsrcc.exeと…

.uiファイルから画面を表示してみる

Qt libraries 4.8.4 for WindowsをインストールしたらDesignerが同梱されていた*1。折角なのでQyotoからDesignerで作成した画面定義ファイル(.ui)からWindowが表示できないか試してみた。結果、以下のようなコードで表示できた。QUiLoaderを使ってるだけで…

QyotoでWindowを表示してみる

ここ数日、気まぐれでQyotoというQtの.NETバインディングを試している。とりあえず空のWindowを表示するまでで苦労したので、メモっておく。 インストールするもの Qt libraries 4.8.4 for Windows (minGW 4.4) Qyoto 4.0.6が依存しているのがMinGW版のQt4.8…

SilverlightでWebSocketのメモ

ちょっと調べたので備忘録。OutOfBrowser + WebSocket4Net で一応使えるのだけど、SilverlightにはSslStreamが存在しないので、SSL/wssでは通信できない。微妙。

Ext JS 4.1.xでComponentのルート要素をカスタマイズしたい

configのautoElを設定するだけでOK。てかアンドキュメントな事が多すぎるから、もっとマニュアルどうにかしてほしい。 new Ext.Component({ autoEl: { tag: "div", //spanとかにもできる tabindex: 1, onfocus: "console.log('focus')", "x-data-hoge": "hog…

keydownイベントでpreventDefault()した際のkeypressイベントの扱いがブラウザによって異なる

こんな感じのコードで検証。 window.onload = function () { var body = document.body; body.onkeydown = function (e) { if (window.event) { window.event.returnValue = false; } else { e.preventDefault(); } console.log('keydown'); } body.onkeyup …

IKVM.Reflectionを使って動的にMSIL/アセンブリを生成してみる

LL/MLほにゃららシリーズではMSILしか弄ってない者です、こんにちわ。最近仕事が忙しいので、軽めのネタとしてIKVM.Reflectionを利用して動的にMSIL/アセンブリを生成してみる例を紹介しておきます。 IKVM.Reflectionとは まず、IKVMとは、.NETとJavaを相互…

大なごやJS Vol.4 でHaxe/JavaScriptの発表してきました。

大規模なギョームシステムにHaxeを採用してみた話 from terurou NGK2012Bの準備やら仕事やらが忙しくて、当日になってから3時間ほどで一気に書き上げたのでクオリティが低い…。機会があればHaxeを使うと何が良いのかを改めて話したいですね。

Haxe使いから見たTypeScript雑感

TypeScript良いですね。世間の流れは完全に動的型付け言語から静的型付け言語+型推論に移ってきていますが、JavaScriptの上にうまくそれを導入してきた感じです。ヘルスバーグはやっぱすごいよね、と。今後実装される予定のジェネリクスが載ってきたら、bet…

SassでWindows-31J character "\xE3"とかエラーが出る件の対応

文字コードを未指定だと強制的にWindows-31Jとして扱われるらしいので、明示する。 /* sass */ @charset "UTF-8"

Ext.JSでButtonにtooltip設定したのに表示されない

Ext.tip.QuickTipManager.init();をコールしておかないとダメらしい。詳しくは Adding tooltips to an Ext.Button component using Ext JS | Sencha Examples 参照。

Ext.form.field.Numberの右端のクリックするところ(Spinner)を消す方法

hideTriggerをtrueにする。spinUpEnabled/spinDownEnabledをfalseにしても、表示が消えないどころかデフォルトのイベントすら殺せない。