About this site
Entries @ recently
July 24, 2024HDL-AAX2 シャットダウンスクリプト
[Computer]
自宅NASのIO-DATA HDL-AAX2ですが、リモートでシャットダウンする必要があり、方法を検討しました。少し古い機種のHDL2-Aのシャットダウンスクリプトが見つかったのですが、それをそのまま適用することはできなかったので、少し改造して使うことにしました。 出来上がったのが以下のRubyスクリプトです。 mechanizeというwebの自動巡回を可能とするgem(クローラ)を使うことで実現しています。少し古いRuby(< 2.6.0)でも簡潔に書けるよう、Kernel#thenがない場合に備えて自己定義しています(古いRubyに最新の機能を入れ込むbackports gemのKernel#yield_selfのコードを参考にしました)。 00:12 fenrir が投稿 : 固定リンク
|
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/962 July 04, 2024曜日を求める(8bit範囲で)マイコンを使って年月日から曜日を求めたいケースがありました。普通の環境ならC言語を前提とすれば<time.h>にあるmktime関数とlocaltime関数を使うことで実現できます。
11:40 fenrir が投稿 : 固定リンク
|
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/961 April 02, 2024Assisted GPS (A-GPS)クライアントの実装GPS関係の処理をRubyから使えるようにしたgps_pvt gemは色々なストリームやファイル、シリアルポート(GPSデバイス直結)から情報を読み込めるようにしてあります。このたびv0.10で初期測位を早めるためのAssisted GPS (A-GPS)に対応しました。単独測位をするのであればgemをインストール後に以下のコマンドで例えばAndroidなどて使われているGoogleのサーバから情報を取得してA-GPSを利用できます。 $ gps_pvt supl://supl.google.com/ (Ntrip等のリアルタイムストリームを指定)
生データに近い物が見たければ、以下のコマンドでJSON形式でエフェメリス等が得られます。 $ gps_get supl://supl.google.com/
エフェメリス(軌道情報)を読み込む程度なので実装は簡単かなと思って始めたのですが、結果的に色々調べる必要がありました。羅列ですが、調べたものを残しておこうと思います。
最後におまけとなりますが、SUPLサーバに対しては携帯のようにIMEIを渡すわけではなく、問い合わせホストのGlobal IPを渡すようにしてみています。 22:39 fenrir が投稿 : 固定リンク
|
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/960 March 17, 2024HDL-AAX2の修理
[Computer]
自宅NASのIO-DATA HDL-AAX2から少し異音がしていたので確認してみたところ、ファンから異音が出ていました。そこで修理をしてみることにしました。 元々ついていたファンはSunonのHA40101V4-1Q01C-F99というファンでした。残念ながら全く同じ型番のファンを見つけることができませんでしたが、DC12Vで40mm角の10mm厚、回転パルス出力付きのものであれば交換可能だろうということで、違うものに変えてみました。選んだのはAINEX CFY-40SAです。 ぴったりはまりました。コネクタだけは加工する必要があって、秋月電子や千石電商などで買えるJST XHシリーズの3ピンコネクタ(ハウジング:XHP-3, コンタクト:SXH-001T-P0.6)に付け替えています。 23:36 fenrir が投稿 : 固定リンク
|
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/959 July 03, 2023ExcelでMarkdownの表を編集
[Computer]
先日boost::math::distributionsのRuby gemを公開しましたが、その時にboostのバージョンによって含まれている分布の違いの一覧表を作りました。Markdownで作ったのですが、編集は元情報のExcelでやって、そこに便利なExcelアドインCopyToMarkdownAddInでMarkdownの表形式にコピペ(エクスポート)をしていました。逆コピペ(Excelにインポート)もできる優れものです。便利なツールがあって助かりました。 00:21 fenrir が投稿 : 固定リンク
|
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/958 June 24, 2023Rubyで確率分布の性質を求めるgem
[Computer]
Rubyで確率分布の性質、例えば標準偏差が1、平均が0の正規分布において50%点はどこかというと0、といったことを求められるようにgemを作ってみました。boost_distributionsというgemで、名前が示す通りC++の標準的なライブラリであるboostの1パッケージとして確率分布を扱っているboost::math::distributionsを呼び出せるようにしてみました。 Githubのレポジトリでコードを公開しています。インストール方法(gemの前にboost本体のインストールが必要)や、使い方概要もそちらご参照ください。 実は2020年に書いていたコードがようやくgem化された形になります。gem化するにあたって、一緒にコンパイルするboostのバージョン依存性を吸収するなどの細工(ラッパーC++コードを生成するためのswigインターフェイスファイル BoostDistributions.i参照)をしています。 00:25 fenrir が投稿 : 固定リンク
|
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/957 May 23, 2023Windowsのcygwin/MSYS2/RでSSL証明書問題の解消
[Computer]
ネットワークの制限の関係で、中間者傍受を許容する設定での運用になっていたとします。そこでのWindowsの設定は、いわゆるオレオレ証明書を『信頼されたルート証明機関』に配置をすることになります。Windowsと親和性が高いアプリでしたら、ほぼそれですべて解決するのですが、残念ながらそうでないものがいくつかありましたので、その解決方法をまとめておきたいと思います。 CygwinwgetとかcurlをやっているときにSSLがどうたらというエラーを吐いて死ぬので気が付きます。stack overflowに書いてあるやり方でうまくいきます。 $ cp ca.crt /etc/pki/ca-trust/source/anchors/ # オレオレ証明書を配置
$ update-ca-trust # 加えたオレオレ証明書の内容を証明書溜り(/etc/pki/ca-trust/extracted/openssl)に追加 もしupdate-ca-trustがなければca-certificatesを導入しましょう。 MSYS2pacmanが文句を言ってくるところで気が付きました。解消方法はcygwinと同じです。MSYS2のFAQにも解説があります。 R新しいpackageを導入しようとしたところでミラーの選択をはじめに問われるのですが、そこでインターネットが不通になっている旨 URL 'https://cran.r-project.org/CRAN_mirrors.csv': status was 'SSL connect error' という形でエラーが表示されることが気が付きました。R-3.6からR-4.2に切り替えたところでこのようなエラーが出始めて大変困っていました。これはデフォルトのダウンロード方法()であったwininetが非推奨になり、libcurlへと変わったために起きたようです。 回避方法としてはlibcurlにおとなしくなってもらいます。download.file()関数のヘルプのSecure URLsの項目に詳しい説明がありました(l最新版へのリンクなのでそのうち内容が変わってしまうかもです)。結果的にはibcurlの動作モード(libcurlVersion()で取得できる)がSchannel(OS提供の証明書情報を参照)で動いていたので本来なら問題は生じないはずなのですが、オレオレ証明書が失効リストに引っかかってしまってたようで、curlを--ssl-no-revokeで動かす必要があることがわかりました。結果、Rとしては環境変数の設定として Sys.setenv(R_LIBCURL_SSL_REVOKE_BEST_EFFORT=TRUE)
とすれば動作するようになりました。毎回コマンドを打ち込むのは面倒なので、起動時に設定されるよう.Rprofileの.Firstに書いておくとよいと思います。 また、あまり良い方法ではないですが、非推奨のwininetに戻すこともできます。 options(download.file.method="wininet")
他にもダウンロード手段をcurlとし、オプション-kで証明書を無視する方法もあります。 22:48 fenrir が投稿 : 固定リンク
|
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/956 |
最近のはてブられ
かてごり~別
Aero & Astro (100)
Computer (189) Embedded System (308) Info (14) Mountain (43) Movable Type (28) Movie & Animation (20) Music (9) Photo (47) Site Management (46) Timely (135) Tips (68) ついったー
|