タグ

ブックマーク / blog.tmtms.net (14)

  • ThinkPad T14 Gen3 のサスペンド問題 - tmtms のメモ

    [2022-09-23 追記] BIOS アップデート(n3buj05w)で解決した! https://support.lenovo.com/jp/ja/downloads/ds557163-bios-update-utility-bootable-cd-for-windows-11-10-64-bit-thinkpad-t14-gen-3-p14s-gen-3-t16-gen-1-p16s-gen-1 前回の続き ThinkPad T14 Gen3 の Ubuntu がサスペンドすると正常に復帰しない。 画面が消えたまま。10秒くらい待ってると点灯するけど数秒でまた消える…というのを繰り返し。 X が起動してると何もわからないので、コンソールでサスペンドを試すとこんなメッセージが出てた。 i915 0000:00:02.0: [drm] *ERROR* Failed to write s

    ThinkPad T14 Gen3 のサスペンド問題 - tmtms のメモ
  • Ubuntu 22.04 でメールサーバーを作ったのでメモ - tmtms のメモ

    令和にもなって自分でメールサーバーを作ってみたのでメモ。 OS は Ubuntu 22.04。 パッケージ更新後に自動的に再起動 メールとは関係ないけど apt で再起動が必要な更新があった場合は自動的に再起動するようにした。 /etc/apt/apt.conf.d/50unattended-upgrades: Unattended-Upgrade::Automatic-Reboot "true"; Lets Encrypt TLS 証明書を作るために certbot をインストール。自分はさくらのクラウドのDNSを使ってるのでそれ用のモジュールも追加。 # apt install certbot python3-certbot-dns-sakuracloud https://certbot-dns-sakuracloud.readthedocs.io/en/stable/ に従って /r

    Ubuntu 22.04 でメールサーバーを作ったのでメモ - tmtms のメモ
  • Linux用キーリマッパー rkremap を作った - tmtms のメモ

    11月から仕事Mac を使うようになって2ヶ月ちょっとたつけど、いまだにショートカットキーが Ctrl キーではなく Command キーであることに慣れない。 慣れないのは仕事以外で普段使ってる Linux と異なるからだと思うんだけど、普通に考えて Mac のショートカットキーの方が合理的だと思うので、Linux 上で Mac と同じような操作ができるようにした方が良いと思った。 というわけで Ruby で rkremap というのを作ってみた。rkremap はツールではなくライブラリなので、rkremap を使ったプログラムを作る必要がある。 github.com まあ普通は「最強のキーリマッパー」の xremap を使うのがいいと思う。 作ろうと思ったのは xremap では(たぶんほかのツールも)日語変換有効時を特別扱いできなかったのが発端なんだけど、YAML 等の設定フ

    Linux用キーリマッパー rkremap を作った - tmtms のメモ
  • 転職した - tmtms のメモ

    これは「Rubyist近況[1] Advent Calendar 2021」の6日目の記事です。 adventar.org 自称 Rubyist なので近況を書きます。 2021年10月末で30年ほど勤めた富士通グループを退職しました。 11月からは SmartHR という会社で働いてます。 3年ほど Ruby仕事ではあんまり使ってなかったのですが、また Ruby仕事で使うようになりました。 会社から配布された PC は Core i7 メモリ32GB の MacBook Pro なんでかなり人権がある感じなんですが、人生Mac で1ヶ月位経ってもまだ慣れなくて、VM で Ubuntu Desktop 入れようか迷ってます。 近況は以上です。以下は富士通グループの入社〜退職までのメモ。長いので読まなくていいです。 1991〜 設立7年目の今はなき「富士通長野システムエンジニア

    転職した - tmtms のメモ
  • MySQL 8.0.22 DNS SRV レコードサポート - tmtms のメモ

    MySQL 8.0.22 の新機能で DNS SRV レコードのサポートというのがあったので試してみた。 https://dev.mysql.com/doc/refman/8.0/en/connecting-using-dns-srv.html MySQLサーバー3台 (a.example.com, b.example.com, c.example.com)とそれに接続するためのクライアントの計4台を docker-compose で作成する。 Dockerfile FROM ubuntu RUN apt update RUN apt install -y mysql-client libmysqlclient-dev gcc unbound bind9-dnsutils RUN rm -f /etc/unbound/unbound.conf.d/root-auto-trust-ancho

    MySQL 8.0.22 DNS SRV レコードサポート - tmtms のメモ
  • オープンソースの定義について - tmtms のメモ

    こんな Togetter が話題になってた。 togetter.com オープンソースソフトウェアはOSIに認められたオープンソースライセンスで配布されるソフトウェアのことであり、それ以上でもそれ以下でもない これに違和感が。「オープンソースの定義(OSD)」に準拠したライセンスのソフトウェアであればオープンソースだったような記憶があるんだけど、「OSIに認められたオープンソースライセンス」である必要はあるんだっけ? まあ実際にOSDに準拠したオレオレオープンソースライセンスを作って「オープンソースでござい」と言ったとしてもなんか怪しいし、堂々とオープンソースを名乗りたいならちゃんとOSI認定のライセンスを使うか、そのライセンスをOSI認定してもらえよって感じなんでどうでもいいんだけど、定義の問題として。 オープンソースの定義 を見ると 「オープンソース」とは、単にソースコードが入手できる

    オープンソースの定義について - tmtms のメモ
  • 「MySQL徹底入門 第4版」が出るよ - tmtms のメモ

    MySQL徹底入門 第4版」が 7/6 に発売される。🎉 www.shoeisha.co.jp 電子書籍は翔泳社の直販がDRMフリー(たぶん)だからオススメ。 著者用見誌も届いたので、さすがにこれからやっぱり発売できませんでした!ってことにはならないと思う。 長かった。 当は去年出る予定だったんだが、なんやかんやで今年になった(よくある)。 第3版が出たのが 2011年だから、実に9年ぶり! 偶然にも第3版と同じ 544ページなんだけど、1ページ辺りの文字数は増えているので情報密度は増しているはず(そしてその分価格も上がってる)。 (ただしくは552ページらしい。) 「MySQL徹底入門」は第n版が出るたびに、毎回ほとんどを書き下ろしてるし、複数人で書いてるんだけど、書いてる人も入れ替わるし担当する章も変わる面白い。 自分は、今回は第5章「ユーザー管理」、第10章「データベースプ

    「MySQL徹底入門 第4版」が出るよ - tmtms のメモ
  • WSL で Ubuntu デスクトップ環境を作ってみる - tmtms のメモ

    富士通クラウドテクノロジーズアドベントカレンダー2018の24日目の記事です。 qiita.com 3ヶ月ほど前から富士通クラウドテクノロジーズ(FJCT)という会社で働いています。 …という話をするとたいてい「何やってる会社?」と聞かれるのですが、「ニフクラというクラウドサービス」というと「ああニフティの」という反応。 「ニフクラは今はニフティじゃないんですよ」というと知らなかったというのがほぼ100%。 ニフクラの「ニフ」はニフティのニフでも日商岩井富士通の略でもなくて、「Navigate Innovative Future」らしいです(自分も最近知った)。 FJCTは、テックブログやってたり、社内LT大会やってたり、月イチでミートアップやってたり、IT勉強会向けに無償で会場提供してたり、「富士通」が名前に入ってる会社にしては面白い会社だと思います。 ただし会社のPCWindows

    WSL で Ubuntu デスクトップ環境を作ってみる - tmtms のメモ
  • 本当はこわいMySQLプロトコル - tmtms のメモ

    11/28 に Haskell で MySQL の Xプロトコルを実装したという話が聴ける Club MySQL というイベントがあったので参加してきました。 clubmysql.connpass.com MySQLのプロトコルの話ということで、平日の夜とは言え東京で参加者9人(発表者含む)というマニアックな集まりでした。 自分も1年前に RubyMySQL Xプロトコルを実装していたのですが、このツイートを最後に中断していたのでした。 MySQL X Protocol で Collection の追加はできるようになったが、検索がめんどくさい。条件文字列のパースはクライアントで行う必要があるんだな。— とみたまさひろ💎🐬 (@tmtms) 2017年2月20日 今回話を聞いて、無理に謎条件式文字列をパースするんじゃなくて、処理系で書きやすいように書けばいいんだという方式に目から

    本当はこわいMySQLプロトコル - tmtms のメモ
  • MySQLの日本語コレーション - tmtms のメモ

    4月にMySQLの日語コレーションについて語り合う場に呼ばれていろいろ話を聞いてきました。すぐにブログを書こうと思ったんですが、はや2ヶ月経過…。 ときどき、自分がMySQLの文字コードに関して発表する際に、次のようなスライドをいれてるんですが、 MySQL 8.0 でとうとう日語コレーションが入ることになったのに、なんか期待してたのと違いました。 で、その辺の話を聞きました(2ヶ月も経ってるのでうろ覚え)。 Q. わざわざ日語ロケール作るんだったら日人が扱いやすいロケールにしてほしい utf8mb4_ja_0900_as_csはMySQLが独自に考えたものではない。Unicode規格に従っている。過去にいろいろ独自にやって失敗してきてるので、もう独自にやるのは避けたい。 ai(accent insensitive)で「ハ」=「パ」=「バ」になるのも、ci(case insensi

    MySQLの日本語コレーション - tmtms のメモ
  • ZIP中のファイル名の文字化け - @tmtms のメモ

    こんな記事がありました。 gihyo.jp これはMacユーザー用の書籍の宣伝記事らしいのですが、「Windowsを使ってる人のためにMac側がひと手間かけてあげよう」なんて殊勝なことをマカーが言うとは時代も変わったもんです。([追記] はてブのコメントを見たらさすがマカーという意見が並んでて安心しました) まあ私はWindowsユーザーでもMacユーザーでもないのでどうでもいいのですが、文字化けなネタなのでいついてみます。 記事中に、「付物出稿.zip」というファイルを開いた時の画像が載ってます。 文字の並びからして、UTF-8文字列をシフトJIS(CP932)とみなして表示してしまった文字列でしょう(「繧ォ繝上y繝シ繝輔か繝ォ繧ソ繧・」の元の文字は「カバーフォルダ」で、「蟶ッ繝輔か繝ォ繧ソ繧・」は「帯フォルダ」)。 つまり、Macはファイル名をUTF-8ZIPに書き込み、Wi

    ZIP中のファイル名の文字化け - @tmtms のメモ
  • MySQL で utf8 と utf8mb4 の混在で起きること - tmtms のメモ

    MySQLUTF-8 で使おうと思ってハマりがちなのは charset utf8 を指定してしまうことです。 MySQLUTF-8 には歴史的事情により utf8 と utf8mb4 の二つあります。 UTF-8 は1バイト〜4バイトで1文字が構成される文字コードですが、MySQL の utf8 は4バイト文字を扱うことができません。ハマりたくなければ utf8mb4 を使いましょう。 utf8 を使ってしまった場合に4バイト文字がどのように扱われるか、自分でもうろ覚えだったのでメモしておきます。 登録 接続が utf8mb4 でカラムが utf8mb4 あたりまえですが、そのまま登録されます。 mysql> insert into utf8mb4 (c) values ('美味しい🍣と🍺'); mysql> select * from utf8mb4; +--------

    MySQL で utf8 と utf8mb4 の混在で起きること - tmtms のメモ
  • Ruby の Timeout.timeout に例外クラスを指定する時の注意 - tmtms のメモ

    ちょっとハマったのでメモ。 Ruby の Timeout ライブラリを使うと、一定の時間が過ぎても終わらない処理を中断することができます。 require 'timeout' def hoge sleep end def main Timeout.timeout(3) do hoge end rescue Timeout::Error => e p 'main: timeout', e.backtrace.first end main このスクリプトを実行すると3秒たってから終了します。 % ruby t1.rb "main: timeout" "t1.rb:4:in `sleep'" バックトレースから 4行目の sleep 中でタイムアウトが発生したことがわかります。 次に Timeout.timeout を入れ子にしてみます。 require 'timeout' def hoge T

    Ruby の Timeout.timeout に例外クラスを指定する時の注意 - tmtms のメモ
  • Gitで最初のコミットをどうにかする - tmtms のメモ

    最初のコミットの内容を変更したい Gitで最初のコミットの内容を変更したいと思って git rebase -i <最初のコミット> とやっても、最初のコミットは出てきません。 % git log --oneline 4f4f42c 二番目のコミット 9d4876c 最初のコミット % git rebase -i 9d4876c pick 4f4f42c 二番目のコミット このような場合は git rebase -i --root を指定すると良いようです。 % git rebase -i --root pick 9d4876c 最初のコミット pick 4f4f42c 二番目のコミット 最初のコミットの前に別のコミットを入れたい さっきと同様に git rebase -i --root で開いて、最初のコミットを edit にします。 % git rebase -i --root edit

    Gitで最初のコミットをどうにかする - tmtms のメモ
    slay-t
    slay-t 2014/05/29
  • 1