謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

スマート音声リモコンのAladdin Remolessを分解したみた

スマート音声リモコンのAladdin Remolessがサービス終了で安くなってたので買って分解してみたけど、ハードウェアとしては百度の小度智能音箱大金剛(↓)と同じもののようだ(ただNANDはFORESEEじゃなくてXTXの何かだった)。 www.52audio.comさてここからど…

avr-gccでArduino IDE用の*.inoファイルを一発コンパイルする

Arduinoを組み込んだ自作仮想アナログ時計 (gsclock) のインストールをより簡単にしようと思い、今回はArduino IDE無しでArduino IDE向けソースをコンパイルする方法を探してみました。(なお同様の目的のものとしてarduino-mk、arduino-builder、arduino-cl…

仮想アナログ時計作った

ずっと年月表示付きのアナログ時計が欲しかったんだけど何故か見つからなくて困ってたので自分で作ることに。ついでにずっと試したかったArduinoにもやっと手を出したので組み込んで見ました。 フォントは普段使いのフォントで、テクスチャはrawpixelで良い…

GTKベースのStable Diffusionのフロントエンドを作った

ブログは放置状態でしたが裏ではちょっと機械学習に手を出してて、今日はGTKベースのStable Diffusionのフロントエンドを作ってました。機能は少ないですが高速かつプロンプトの編集に特化したのが特徴です(※GPUにも依ります)。 本格的な生成は機能豊富なW…

Shadertoyのシェーダを表示するBlenderアドオン作った

Shadertoyのシェーダを表示するBlenderアドオンを作ってみました。github.com まだ基本的なシェーダにしか対応していませんが中々良い感じに動いてます。ただBlender APIの制限も見えてきたので互換性を上げるのは大変そうな感じします…。

電卓のBlenderアドオンを作った

Gnome Calculatorを参考に電卓のアドオンを作ってみました。BlenderのUIに限界があるので妥協に妥協を重ねていますが、それなりに動く形には出来ました。 github.com ここからどうするかは未定ですが、もっとPythonに寄せた方が良さそうだと思ったので、そっ…

ハッシュ生成のBlenderアドオンを作った

ハッシュ生成のBlenderアドオンを作ってみました。UIは昔のGtkHashを参考にしています。 github.com 次は何作ろうかな?

カラースキーム作成のAgaveをBlenderに移植した

カラースキーム作成ツール「Agave」は質が良かったし翻訳を取り込んでもらった思い入れもあるソフトだったんだけど、開発が止まっててパッケージも消えちゃって残念だなぁと思ってたのでBlenderにアドオンとして移植してみた。github.comUIはもうちょっと何…

コラッツ予想 (Collatz conjecture) その四

前回(↓)の続き。 nazodane.hatenadiary.org前回のADDVAL>>SHIFTを2進法に直すと以下のようになる。 >>> [bin((0xaaaaaaaaaaaaaaab * ((1 << (i+1)) - 1) &0xffffffffffffffff) >> (i+1)) for i in range(63)] ['0b101010101010101010101010101010101010101…

コラッツ予想 (Collatz conjecture) その三

前回(↓)の続き。 nazodane.hatenadiary.org前回のコードを適当にベクトライズするとこうなる。 // gcc rcollatz.c -O3 -march=haswell // clang rcollatz.c -O3 -mavx #include <stdint.h> #include <stdio.h> //#include <assert.h> void loop(uint64_t x, int l){ // assert(x&1); uin</assert.h></stdio.h></stdint.h>…

コラッツ予想 (Collatz conjecture) その二

前回(↓)の続き。 nazodane.hatenadiary.orgコラッツ問題の計算で、最後の手前の数字は「3の倍数かつ1を足すと2の累乗数になる数」になるはず(偶数処理を遅延した場合はそれに2の累乗数を掛ける必要あるけど、今回は遅延しないで考えることとする)。1を足…

コラッツ予想 (Collatz conjecture)

1億円欲しいからコラッツ予想に手を出してみる。science.srad.jp ja.wikipedia.orgまず偶数処理をまとめたコラッツ問題の計算プログラムを適当に書く。 // gcc collatz.c -march=haswell // ./a.out 13179928405231 // Copyright: Nazodane // License: GPLv…

真面目に闘病中

今は別の界隈に居たりしますが、長年の病気の原因がやっとこさ分かって治る見込みが出来てきたのでここにも書いておこうかなと思いました。 ついでに昔の日記を読み返してみたけど当時のこと思い出して何とも言えない気分になってきてアレ(^^; 文体が安定し…

[その他] Anitubeの広告配信元

怪しい記事を見かけたので、こちらの環境で解析したAnitubeの広告配信経路をここに書いておきます。なおこれは一例であって、環境や機会により広告関連スクリプトの流れも変わるはずです。 とりあえず、以下のページのソースコードを開きます。 http://www.a…

[カラーサイエンス][Python] 正しく変換したアニメカラーデータ

ねこまたやさんのアニメカラー測定データがどうにも怪しい (実測データと目視データが異なる) ので調べてみた。 同サイトのD65 XYZ値は100倍になっているようで、まずここでハマる。測定機器の凸版 CS CM1000は調べても詳細が出てこないが、下記を見る限りD5…

AbemaTVの仕様とHLSの暗号化の弱さ

AbemaTVの仕様について気になったので調べてみた (研究目的です念の為)。 AbemaTVはPCへの動画配信において、配信プロトコルにHLSを使用しているようだ。HLSはMPEG-DASHと異なりDRMが使えず (厳密にはMac環境のFairplayなどの例外もあるが) 、AbemaTVでは鍵…

ディスプレイのオーバークロック

ついでだから、片方のディスプレイをオーバークロックしてみた。 $ cvt 1280 1024 76 # 1280x1024 75.98 Hz (CVT) hsync: 81.45 kHz; pclk: 140.75 MHz Modeline "1280x1024_76.00" 140.75 1280 1368 1504 1728 1024 1027 1034 1072 -hsync +vsync $ xrandr …

NVIDIAとIntelでマルチディスプレイ

ハマったので書いておく。 BusIDを調べる $ lspci | grep NVIDIA | grep -v Audio | sed -e "s/^0*\(.\+\):0*\(.\+\)\.\(.\)\ .*$/PCI:\1:\2:\3/" xorg.confを設定 Section "ServerLayout" Identifier "layout" Screen 0 "nvidia" Inactive "intel" EndSecti…

PR-S300SEからPR-400KIに

PR-S300SEのSPIによるパケット破棄問題に困っていたので、光回線終端装置を交換してもらった。もっと早くやっとくべきだったなぁ。 デバッグコマンド叩けなくなってしまったけれども、そもそもデバッグコマンド叩ける方がセキュリティ的に問題だから仕方ない…

U2211Hのファクトリーモードに入る

電源OFF→一番目と二番目のボタンを押しながら電源を入れる→一番目のボタンを押すと、ファクトリーモードに入れる。 DEBUGMEGをONにすると、色々な情報が表示される。表示された表示名でググると、Realtek RTD2xxxのソースが引っかかるけど、これ使ってるのだ…

簡略化 (simplify)

Octaveはsymbolicで対応しているらしい?が、Ubuntu 14.04のでは未対応みたい。Sympyは対応している。 これで楽になるかな…と思ったけど、結果を見るとうーむ。 補足すると、以下のが、 >>> t = Symbol('t') >>> f = 0.3635819 + (0.4891775 + 0.0106411) * t…

フレッツ光ルーターのPR-S300SEでPPPoEの接続先を取得

必要性は不明。このPPPoEもONUでトンネリングして送られてるはず。http://192.168.1.1/cgi-bin/debugcmd.cgi?cmd=func+pfwListShow 1 854dd000 SYS_PPPhttp://192.168.1.1/cgi-bin/debugcmd.cgi?cmd=func+pfwObjGet+SYS_PPP RET:-2058498048(0x854dd000)http…

scope_exit文

GCC拡張のcleanup attribute使えば簡単にscope_exit文を作れそうだな、と思って作ってみた。ネスト関数のプロトタイプ関数に使うautoとか初めて使った。 #include <stdio.h> #define scope_exit() \ auto void on_scope_exit(void *ptr);\ __attribute__((cleanup(on_</stdio.h>…

デストラクタ/スマートポインタ

C言語でデストラクタ及びスマートポインタを実装した人が居るらしい。何というタイミング。GCC拡張のcleanup attributeを使っているので、使い道は少なそう。それと、メモリをスタックからじゃなくてヒープから取得してるのが気になる。[C] Implementing sma…

右辺値参照とムーブセマンティクス

C++11は良く分からんので、C言語で。参照でもないけど、実装は似たようなもん。デコンストラクタ問題やオーバーロードや演算子オーバーライドが無いので別物だけど、これはこれで使い道ある気がする。moveについては、safe_freeのような趣きがあって良ろしい…

モスキートノイズ

色々弄って、いい感じにはなったが、どうにも線が欠ける。 ソースがjpegなので、モスキートノイズが原因のように見える。先にMosquitoNRの移植を行うべきだったか。 いや、Adaptive Bilateral Filterで十分な気もする。問題はOpenCV 3.0でadaptiveBilateralF…

IDEとPython (タイプヒンティング、その他)

Pythonでは、タイプヒンティングの構文が標準化されておらず、実装によって構文がバラバラ。 import周りの規則もややこしいことこの上ない。ということで、コード補完のための定義ファイルの生成周りが理解しきれてない。 bpy.types.bpy_prop_collectionのた…

K-meansじゃダメだ

x軸はグレースケールの色と最頻値との差の絶対値、y軸は画像の外周を中心に円にした時の中心からの距離。下図の右下を切り離したいので、別のクラスタリング手法を使う必要がありそう。 しかし、OpenCVにはk-meansしか用意されていないので、sklearnを入れて…

画像の外周を中心に円にする

中心からの距離をk-meansの要素に使えないかなと思って、作ってみた。 import sys import cv2 import numpy as np import math def main(): if len(sys.argv) != 3: print "./circle_transform.py <in_file> <out_file>" quit() filename = sys.argv[1] outfile = sys.argv[2] i</out_file></in_file>…

3.0.0-beta

OpenCV 3.0ではPythonからT-API経由でOpenCLが使えるらしいと聞いて、さっそくパッケージ化して入れてみた。 パッケージは下記。手抜きなので、2.xのパッケージを全部削除してから入れないとダメなど、色々問題あるけれども自己責任で。 http://www4.pf-x.ne…