SwitchBotの防水温湿度計のデータをS3に保存(その3)

前回の続き。 センサーの値をWebhookで通知してもらえるようになったので、Webhookの受け口を作ります。SwitchBotのAPIは下を参照。 GitHub - OpenWonderLabs/SwitchBotAPI: SwitchBot Open API Documents 上のSwitchBotのWebhookによってセンサーの情報がjs…

SwitchBotの防水温湿度計のデータをS3に保存(その2)

前回の続き。 SwitchBotのAPIを調べていたら、なんとWebhookでセンサーの値を任意のWebに通知できるようになっているではないですか。 GitHub - OpenWonderLabs/SwitchBotAPI: SwitchBot Open API Documents Webhookで通知してもらうにはセンサー単独でなくS…

SwitchBotの防水温湿度計のデータをS3に保存(その1)

SwitchBotの防水温湿度計のデータをS3に保存したくなった。 SwitchBot 防水温湿度計 Alexa 温度計 湿度計 - スイッチボット ワイヤレス 室内 屋外用 温湿度計 熱中症対策 スマホで温度湿度管理 デジタル 高精度 コンパクト 温度 湿度 絶対湿度 異常通知 グラ…

M2来りて口笛を吹く

Mac

とうとう私のところにもAppleシリコンがやって来た! MacBook Air 15 inch M2だ! これまでうちのMacはIntel機だったのでこれが初Appleシリコンだ! 諸般の事情により先代のProからAirへのグレードダウンだが、うれしいので気にならないぞ! 先代のMacBook P…

Polars 0.19.2 で便利そうな変更があった「Add syntactic sugar for col("foo") -> col.foo」

Polarsのバージョン polars-0.19.2 で、こんなのが来た! github.com この書き方は便利そうだぞ、早速使おう。列名が日本語も大丈夫だった。(列名にPythonで変数名に使えない記号があるとダメだ、それはそうだよね。)

Polars 200本ノック

Polarsを使い始めたので、 Pandas2.0に移行しようと思ったけど、結局Polarsに移行した。 - osamuk's blog 使い方など調べていたら"100本ノック"系が2つありました。 qiita.com qiita.com それらあわせて200本ノックやってみました。わからない所はすぐにカン…

.NET 8 の新機能「時間抽象化」うれしいけど微妙

「時間抽象化」ってパッと見なんのことかわかりませんでしたが、DateTime.nowとか時関係の実装のテストで困るやつの対応なのですね。おおっ、それはうれしい。 「時間抽象化」 www.infoq.com まだ公式ドキュメントには使用例とかがほとんど無くてちょっとわ…

MacBook Proでkernel_taskがCPU食って遅い件

Mac

最近、自分のMacBook Pro(16inch 2019)が動作がモッサリしてきた気がしていた。アクティビティモニターで見るとkernel_taskがCPUを食っているようだ。ググったら、どうもCPU高温ぽい。季節的に暑くなってきたせいもあるのかな。下の記事「MacBook Pro 2019 1…

Polarsで全てnullの列を削除する

[edit 2023/12/06] MSのBing Chat改めCopilotに聞いたら、最初エラーになるコードだったのですが、エラーメッセージを教えたらちゃんと直してくれて、こんなコード書いてくれました。 import polars as pl # データフレームを作成 df = pl.DataFrame({ "col1…

Pandas2.0に移行しようと思ったけど、結局Polarsに移行した。

Pandas 2.0来た! 自作コードでPandas使っているところを2.0を使うようにしよう! What’s new in 2.0.0 (April 3, 2023) — pandas 2.1.0.dev0+1270.gaf76d785cc documentation と思って調べていたところ、Pandasと同じようにDataFrameを扱う「Polars」が良さ…

他力本願でラズパイをbullseyeにした

ラズパイのOSを今時のbullseyeにしたい。64bit化もしたい。参考になるサイトを探しまくって、いざ実行だ。 今回は別のSDメディアを用意してクリーンインストールする。 こちらなどを参考にやった。 Raspberry Pi OS Lite(64-bit) ヘッドレスインストール(bu…

Win32 Disk Imager RenewalのREADMEが長い件

Win32 Disk Imager RenewalのREADME、長いぞ。ちょっと面白い。あなたは最後まで読み切れるか。

C#をリハビリ 「プログラミングC# 第8版」

C#

久々にC#をリハビリだ。最近はなるべく紙の本を買わないようにしているのだが、あえて前に買った本の新しい版を買おう。前回第7版を買ったのは8年前だ、さぞ版も進んだろう。Amazonで検索して...あれ...まだ第8版...。第7版と第8版の間隔が8年! この業界で8…

pandasのDataFrameに独自メソッドを追加してmethod chainingを貫く (Pandas Flavor)

pandasでmethod chainigで書いていくとき、chainできなくて困る時がある。例えばDataFrameのindexをDateTimeにしたいとき、 df = ...#indexが'2021-09-06'などの文字列のDataFrame df.index = pd.to_datetime(df.index) こうすることになるが、これだとmetho…

PowerShellでエクセルを扱いたいとき、ImportExcelが便利

PowerShellでエクセル扱う時はCOMを直接いじることになってあまり便利じゃない。しかもファイル閉じるときはこんなことしないと、excelプロセスが残ってしまう...。 $excel = New-Object -ComObject Excel.Application $sheet = ... [System.Runtime.Interop…

書籍「達人プログラマー(第2版)」

古い本を買ってしまったシリーズ。 昔読んだ本の第2版が出ていた。 達人プログラマー(第2版): 熟達に向けたあなたの旅作者:Thomas,David,Hunt,Andrew発売日: 2020/11/21メディア: 単行本 第1版が出たのは2000年だったようだ。第2版が出ていることは書店でこ…

VSCode(Visual Studio Code)のproxyの設定

proxy環境下でVSCodeを使うとき、settings.jsonのhttp.proxyではダメで、VSCodeの起動オプションで"--proxy-server"を指定してました。(最初これが分からなくて苦労しました...。) しかし、ようやく起動オプションは使わなくてもよくなったようです。 Invest…

Pyhon 3.9 で pandasでread_excel()すると、AttributeError: 'ElementTree' object has no attribute 'getiterator'

Python 3.9を使い始めました。と言うか、Windowsでscoop使っていて、アップデートでうっかりPython3.9になってしまったのですが。 で、Python3.9とpandasでread_excel()すると、 AttributeError: 'ElementTree' object has no attribute 'getiterator' にな…

そうだったのか。pandasの`read_table()`が「非推奨ではない」になっていた。

うーん、pandasのread_table()は非推奨だよと書いてあるのを見かけるので使わないようにしていた。確かに一時期非推奨になるはずだったようだが、実は今では非推奨が取り消されていた。これだ。 Keep (un-deprecate) `read_table()` for API stability · Iss…

そして、WinUI 3

マイクロソフトがいざなう僕らの旅は、やはり終わらない。 Introducing WinUI 3 Preview 1 - Windows Developer Blog これまでの道は二又三又たくさん又あって、行き止まりって思ってた道も、結局全部また1つの道に集まってくる...。旧道もなんとか先を通し…

ラズパイ用のRustのバイナリをMacでクロスコンパイルしたい。crossが便利だった。

Mac上で、Rust言語のプログラムを書いてラズパイ用のバイナリを生成したい(なるべくラズパイでビルドしたくない)。 Rustなのでクロスコンパイルできるのですが、Macにそれなりにラズパイ用のリンカとか入れないといけないし、テスト実行もできない...当たり…

zsh Prezto でプロンプトのカレントディレクトリが短縮されるのをやめる

Mac

MacでzshとPrezto を使っている。デフォルトだと、プロンプトのカレントディレクトリは短縮表示される。こんな感じ。 プロンプトのカレントディレクトリが短縮表示される 短縮してほしくなかったのでPreztoの設定変更法を調べた。プロンプトの設定は ~/.zpre…

pandasのread_fwf()が日本語の固定長データだと残念な件

とある固定長データファイルをpandasのread_fwf()で読み込もうと思ったのですが。そのデータファイルは日本語の固定長データとしては一般的な、文字列は半角1バイト全角2バイトで数えてxxxバイト固定ってやつだったわけです。んでpandasで固定長データ読むな…

MacBook Pro 16インチモデル 来た!

Mac

MacBook Pro 16インチモデル 来た! ついに買ったのだ! いやあ嬉しいです。これまでMacBookPro15 2013 lateを使い続けていたので、とても嬉しいです。移行アシスタントは使わずクリーンな状態から必要な物を手作業で入れて育て中。夜な夜な作業して、あと何…

PythonでIMAPメール操作なら、IMAPClientが便利だった件

PythonでIMAPでメール受信したくなった。標準のimaplibで基本的に可能なわけですが、実は結構めんどくさい。まずフォルダ名の取得からして、結果文字列がエンコードされたままで日本語だとそのままでは読めない...。読める文字列にするには何かと面倒...。メ…

ラズパイのOSをRaspbian Busterにしたら、Ansibleでpip3がエラーになった件

Raspbian BusterはPython3がデフォルトで3.7系とのことで、それなら自前でビルドしなくていいから嬉しい。さっそく使おう。 公式サイトからRaspbian Buster Liteのイメージをダウンロードして、Macな私は balenaEtcher - Home を使って、SDカードにイメージ…

PowerShell DSC で Active Directory のグループ管理がしたかったら ActiveDirectoryDsc

最近ちょくちょくPowerShellを使う機会があって、で、ちょっと思い立って PowerShell DSC で Active Directory のグループ設定とかしたらどうなのかなと。DSCほぼ初めて使ったのですが。 で、Active Directoryのグループ設定をするDSCリソースとかあるのかな…

Node.jsが令和に対応して、homebrewでのインストールでは--with-full-icuオプションもいらなくたっていた件

以前はhomebrewでNode.jsをインストールするとき、--with-full-icuオプションをつけていたのですが、いつの間にかその必要は無くなっていたようです。 普通にインストールして、和暦も使える。しかも、令和も対応されてますよ! var date = new Date(Date.UTC…

Elmガイドの例Timeで、初期化時に現在時間をModelにセットする

elm

Time · An Introduction to Elmの例では、初期化時のModelのtimeがゼロだったので、現在時間で初期化したかった。やる前は瞬殺と思っていたのだが、いやいやどうにも苦戦した。どうやるのか理解するのに結構苦労してしまった。関数脳への道は遠い...。 結果…

Web NTLM認証、Pythonとrequests 対 PowerShell

とあるIISのWebアプリでログインにNTLM認証を使っているサイトをスクレイピングしたかった。 まずは所望のページをgetしたいぞと。 Pythonとrequestsでやってみた。最終的にこんな感じ。 import requests from requests_negotiate_sspi import HttpNegotiate…