はやし雑記

はやしです

技術系

proto の Unmarshal は Marshal する proto と違っててもエラーにならないことがある

go で proto の Marshal/Unmarshal したときに、軽くハマっておや?となったので調べてみた こんな感じの proto があるとする syntax = "proto3"; package hoge; message A { B b = 1; } message B { C c1 = 1; C c2 = 2; } message C { D d = 1; } message …

顔検出をenvoyのproxy-wasmで動かした

前回、前々回の続きです。 blog.hayashikun.com blog.hayashikun.com これがやりたくてやってました。 画像をPOSTすると、その画像に含まれる顔が検出されて、ログに出力されます。 重要なのは、顔検出を行なっているのがWebアプリケーションではなく、envoy…

顔検出 (CenterFace) をブラウザのWASMで動かした

前回の続きです。 blog.hayashikun.com この記事では、前回の記事で実装したCenterFaceをwasmで動くようにして、それをブラウザで動かしたことについて書きます。 以下のように、Webカメラの映像から顔を検出して、顔の上に緑の四角を描画するというのをやり…

RustでCenterFaceのONNXを動かした

RustでCenterFaceのONNXモデルを動かして、それをWebAssemblyで動くようにして、最終的にproxy-wasmで動くようにする、というのをGWにやったので書いておきます。 全部で3記事の予定で、この記事ではCenterFaceのONNXモデルをRustで動かしたことについて書き…

LaTeXをwordに変換する(多分これが一番きれいに変換できる)

アドベントカレンダーの時期だけど、特に所属している団体とか何も無いので普通の記事です。 LaTeXをwordに変換する方法を色々と模索して、多分一番良さそうな方法を見つけたので書いておく。 もっといい方法があれば教えてください。 多分、LaTeXをwordにす…

TypescriptでChrome拡張機能を作った

MixchTools 最近ミクチャにはまっていて、PCからウェブ版ミクチャを快適に使うためのChrome拡張機能を作った。 Chrome拡張機能を作るのは初めてだったので、備忘録として残しておく。 github.com ざっくりとした技術仕様は以下のような感じ。 Typescriptで書…

LinuxでもAmazon DriveやOneDriveにデータをバックアップしたい

UbuntuにはAmazon photoやOneDriveの公式クライアントは無いが、 odriveを使ってファイルをバックアップできるようにしたので、備忘録として残しておく。 odriveはいろんなクラウドストレージを一元管理するサービスで、Linux向けのCLIクライアントもある。 …

HHKB (US配列) をUbuntuでいい感じに使えるようにした

備忘録として残しておく Super(⌘)を押したときに、Activitiesの画面にならないようにする。 SuperとControlを入れ替える mozcを入れる(デフォルトでInput modeがHiraganaになるようにして) HHKB Professional HYBRID Type-S 英語配列を使っている。 複数…

wasm (Rust) で素数の判定&計算するAPIサーバーを書いて、kubernetesのkrustletノード(wascc) で動かす

wasmシリーズ第二弾です 前回の続き blog.hayashikun.com 今回はwasccのほうのruntimeを使う wasiとwasccの違いはこちらに krustlet/providers.md at master · deislabs/krustlet · GitHub 今回は、Rustとwasccで素数の判定&計算するAPIサーバーを書いて、k8…

krustletを使ってwasmをk8sで動かしてみる (Hello world)

github.com wasmに興味がある今日この頃 krustletはwasmを動かせるKubeletで、rustで実装されている

DCGANしてtensorflow.jsを使って動かせるようにした

タイトルの通り、DCGANしてtensorflow.jsを使ってWebアプリ化した onnxjsはやっぱり全然モデル対応してないからやめた ▼ リポジトリ github.com ▼ デプロイしたやつ mygan.hayashikun.com データセットは自分で頑張って集めたアイドルの画像を使った

onnxjsを使ってブラウザで機械学習モデルを実行する

あけましておめでとうございます。 今年もよろしくお願いします。 今年の年末年始は帰省しなかったので、東京で一人で過ごしていました。 一週間以上誰とも会わず、喋らず、ほとんど外に出ずでした。 久しぶりにまとまった時間があったので、この年末年始は…

【AFTAC2020】google/mediapipeのデータをサクッと取ってきて使うやつを作った

この記事はの附属天王寺OBOG Advent Calendarの21日目記事です。 English version dev.to adventar.org 去年は眺めてたら埋まっちゃってたので、今年は書きます。 てか全然埋まってへんやんけ!どないなっとんじゃワレ! 私は中61期高55期生で、母校(大阪教…

macがシャットダウン時にフリーズしてwatchdog timeoutでクラッシュする問題は全部消して初期化すると治った(治ってない)

2021/01/27 追記: 起動しているアプリケーション等々を落として、数分間放置してから再起動するとクラッシュしない気がする 2021/01/19 追記: jupyter labだけの問題でもなさそう Google driveとかOnedrive中のファイルをjupyter labから触ると起こるがち…

macでimport numpyをするとinit_dgelsd failed initして使えない問題

pyenvが使えるようになったので、python 3.8.6をインストールした。 blog.hayashikun.com いつもどおりnumpyやらscipyやらmatplotlibなどをインストールしていたら、matplotlibのインストール中にエラーが起きた。 原因はnumpyが使える状態になっていなくて…

【朗報】macosのpyenv installでzlib not availableになる問題が解決されていた

このPRがマージされて、xcode sdkのzlibがpython-buildでちゃんと読み込まれるようになっていた github.com homebrewなどのpyenvはまだ最新ではないので、masterをgit pullでpyenvを入れる必要がある GitHub - pyenv/pyenv: Simple Python version management…

macでpip install numbaでのエラー

macでpip install numbaしたらエラーが出た RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config 依存関係のllvmliteのインストールで失敗している。 brewでllvm@9をインストールしてLLVM_CONFIGをセットし…

WSLで環境を整えた

WSL2にUbuntu 20.4を入れて環境を整えてみると、結構いい感じになったので書き残しておく。 Windows terminalをインストールした [settings.json] defaultProfile をWSL Ubuntuに設定した [settings.json] startingDirectory をHOMEのところにした [settings…

OpenQASMの読み方・書き方

OpenQASM (Version 2.0) の読み方、書き方について調べた。 Open Quantum Assembly Language (OpenQASM) とは、量子回路を記述するための中間表現である。 github.com だいたいは以下の内容を和訳したものだが、実際にQiskitでQASMを読み込み、回路を表示さ…

macOSにLaTeX環境を構築

GUIはインストールせず,VSCodeで書く latexmkrcを使う uplatexを使う Mendeleyの吐くlibrary.bibを使う TeXLive TeX Live/Mac - TeX Wiki $ brew cask install mactex-no-gui $ sudo tlmgr update --self --all $ sudo tlmgr paper a4 latexindentのためにP…

fishの. (a single period)がついに効かなくなってしまい、pyenvとかが動かなくなった

fishのバージョンを3.1.0に上げたらpyenvで入れてるPythonが動かなくなった よく見るとshellの起動時に何かに失敗している source: Error encountered while sourcing file '/var/folders/fx/xtlqk0fj4hd0f8nnmznbzg680000gn/T//.psub.veTBcVL1YJ': source: …

macOS 10.14.5 (Xcode 10.2.1) でpyenv installがコケる問題

pyenvで3.7.3のインストールができない $ pyenv install 3.7.3 ~~ BUILD FAILED (OS X 10.14.5 using python-build 20180424) ~~ Last 10 log lines: File "/private/var/folders/fx/xtlqk0fj4hd0f8nnmznbzg680000gn/T/python-build.20190614132237.43257/Py…

みんなReactになったからエニグマ暗号を実装してみた

そしてみんなReactになった 小学生の頃、親に「みんな○○」みたいな事を言うと、みんなじゃないでしょ!って言われたけど、未だに言ってしまうので多分一生治らない 令和になり、みんなReactをやってる(多分平成から、知らんけど) iOSアプリもネイテイブじ…

はてなブログのMarkdown記法でLaTeX数式を書いたりするの結構つらくて変にスペース入れたりいろいろしなきゃいけないから普通のMarkdownからはてなブログにいい感じに投稿できるように変換するやつを書いた

はてなブログでLaTeX数式を書くのはつらいところがありました。 hatena_md_converter.py · GitHub

Blueqatで量子コンピューター入門をしてみた(量子テレポーテーション)

はじめに 量子テレポーテーションとは 量子テレポーテーション 量子テレポーテーションネットワーク はじめに GWの量子コンピューター入門第二弾です。blog.hayashikun.com今日は量子テレポーテーションをBlueqatで実装してみます。まず、チュートリアルにあ…

Blueqatで量子コンピューター入門をしてみた(基本・半加算器)

はじめに Blueqatとは (基本的な事)量子ビットと量子ゲート Blueqatの使い方 Blueqatで半加算器を作る はじめに GWに時間があったので、量子コンピューターについて少し勉強した。 理解を深めるため、Blueqatを触ってみた。 Blueqatとは 量子ゲート方式の量…

iOSのWebRTCを手元でビルドした

iOSでWebRTCをした話です Cocoapodsはいやだったので、手元マシンでビルドしました webrtc.org

Rustの変数の所有権とかBorrowingについて概ね理解した

基本的にはここに書いてある通り。 Scoping rules - Rust By Example C/C++エンジニアではないけど、これも参考にさせて頂いた。 C/C++エンジニアのための Rust のデータ所有権とライフタイム入門 Ownership (所有権) RAII: Resource Acquisition Is Initial…

C#でプロセス間通信をする (WCF)

モチベーション C#でプロセス間通信をしたので、備忘録代わりに残しておきます。 普段の生活で(研究とかで)Windows Presentation Foundation (WPF)を使って簡単なソフトウェアを作ることはよくあります。大抵はUIスレッドのみで完結し、たまにマルチスレッド…

データ処理でよく使うPython Snippets

データ処理にPythonをよく使ってるくんさんです。 numpy scipy pandas matplotlib Pillow あたりを使ったデータ処理でよく使うSnippetを書いていきます。 それぞれexampleでjupyter notebookのリンクを付けています。 日々思い付き次第追記していきます。 移…