Ollamaで利用するmodelのcontext sizeを強制的に変更する

年末は色々忙しいな、と思っていたら年が明けていました。今年もゆるくやっていきます。ゆるすぎではないかとも思いますが。 ...

February 1, 2025 · derui

tabbyをvulkanで使えるようにしてみた

暖かくなったり寒くなったりと格好が定まりませんね。 さて、最近tabbyというツールを知ったので、NixOS上で使ってみました。 ...

November 14, 2024 · derui

Ollamaをnixos上で使えるようにしてみる

やっと秋めいてきましたが、なんか台風がきたりと落ち着かない感じですね。 今回NixOSに移行したことで、色々やっても戻せるという確信が大体ついたので、Local LLMに手を出してみました。 ...

November 2, 2024 · derui

NixOSというかHomeManagerとEmacsを組み合わせる

一気に秋になったり夏になったりで服装が定まりません。 NixOSでHomeManagerを利用していて、dotfilesとかEmacsの設定ファイルを利用していくにあたって、色々試行錯誤してみました。 ...

October 20, 2024 · derui

NixOSでRTL8126のNICを使えるようにした

3連休がNixOSのセットアップで溶けました。どういうことなの。 New PCでNICが使えなかったのを、強制的にNixに習熟することでなんとかしてみました。 ...

October 14, 2024 · derui

NixOSに入門してみた

一気に凉しくなって、いきなり着るものに困っています。極端ですな(2回目)。 最近PCを新調しまして、そのなかでNixOSに興味がでたので入門してみました。 ...

October 13, 2024 · derui

改めてQEMUを使って仮想マシンを起動してみる

一気に凉しくなって、いきなり着るものに困っています。極端ですな。 昔から知っていましたが、よく思い返してみると触ったこともなかったので、QEMUをきちんと触ってみました。 ...

October 5, 2024 · derui

swayでwindowのタイトルを出したい

7月も半ばに差し掛かりつつありますね。今年はオリンピックのために4連休なので、このタイミングで小旅行に行く予定です。 今回も大分ライトな話題で、swayに今利用しているアプリケーションのタイトルを出したいという話です。 <!–more–> swayとswaybar swayには、swaybarという最上部にあるbarを表示するためのアプリケーションが付属しています。これはi3にあるi3barとほぼ同様の機能を提供しています。 ・・・が、このswaybarには一つ不足している機能があり、 アプリケーションのタイトルを表示する という機能が無いのです。 https://manpages.debian.org/experimental/sway/sway-bar.5.en.html 個人的に、 https://github.com/takaxp/org-onit を利用して時間を計測するようなワークフローになっているため、タイトルが出ていると非常に助かります。 モードラインに出せば?という意見もあると思いますが、モードラインはすでに色々な情報で一杯なので、これ以上増やしてもなー、というのがあります swaybarの代替探し swaybarの代替としては、自前でスクリプトを書くというのもありますが、代替もあります。 その中で一番使われている(と思う)のが、waybarです。 https://github.com/Alexays/Waybar swayのみならず、wlrootをベースとしたcompositerで利用できるようになってます。 こいつだと、タイトル以外にも、色々と表示させることができますし、カスタマイズ性もかなり高いです。というわけで、これを使ってみることにしました。 waybarのカスタマイズ さて、waybarには二つの設定ファイルがあります。一つはwaybar自体の挙動 = 表示する位置やモジュールの種類、位置や設定を設定するためのJSON、そしてスタイリングをするためのCSS、という設定ファイルがあります。 { "layer": "top", "modules-left": ["sway/workspaces", "sway/mode"], "modules-center": ["sway/window"], "modules-right": ["temperature", "memory", "clock"], "sway/window": { "max-length": 50 }, "memory": { "interval": 10, "format": "{used:0.1f}GiB/{total:0.1f}GiB" }, "clock": { "interval": 5, "format-alt": "{:%4Y/%2m/%2d %H:%M:%2S}" }, "temperature": { "hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input", "critical-threshold": 80, "format": "{temperatureC}°C" } } 設定ファイルはこんな感じにしています。temperatureのところは個々人で違いますが、私の場合はCPUの全体的な温度となっています。これ以外にもGPUの温度を出したりもできるはずです。 CSSですが、これはかなり巨大なので、 https://github.com/derui/dotfiles/blob/master/waybar.style.css を参照してもらった方がよいかと・・・。ちなみに、変更点としてはbar全体の高さやフォントの設定くらいです。 カスタマイズしていきましょう せっかくlinuxやswayを利用しているのであれば、かなり自分の好みに合わせて変更していくことができます。これはMac/Windowsにはない利点です。当然ながらそのためには色々調べたりしないといけないですが、その結果として自分のやりやすいようにできていけば、それはそれでよいんではないでしょうか。 ちなみに私は結構デフォルトで満足してしまう(最近はデフォルトでも十分なケースが多い)方ですが、やりづらい場所はできるだけ改善していきたいなぁ、と思ってます。

July 7, 2021 · derui

Linuxで音楽を聞く時に使っているもの

大分前に購入していたけど、ほとんどやっていなかったshapez.ioというゲームを久し振りにやったら、ずっと黙々とやってしまいました。これは時間が溶ける系統や・・・。 さて、今回もライトな話題で、Linuxでの音楽鑑賞をどうやっているか、について書いてみようと思います。 <!–more–> GUI or CUI まず、Linuxでのプレイヤーとしては、CUIベースかGUIベースか、に大別されます。 CUIベース mplayer mpv GUIベース smplayer celluloid VLC …など CUIベースであるmplayer/mpvは、他のplayerのバックエンドとして利用されている(smplayerやcelluloidといったものは、mplayer/mpvのフロントエンドです)ので、実際には本当にインターフェースがCUIなのかGUIベースなのか、という違い程度だと思います。 Spotifyとかは? 私は基本的にオールドタイプなので、ストリーミング(有料会員ならオフラインにダウンロードとかできるらしいですが)で聞く、というのは基本的にやってません。購入した楽曲は手元に置いておきたい、という感じですね・・・。 Youtubeとかで見つけても、その後には楽曲をあらためて別サイトで購入したりするのが私にとっては一般的です。 楽曲の保存 基本的に全ての楽曲はNASに保存しています。ちなみに使っているNASは二代目で、以下を使っています。 https://www.synology.com/ja-jp/products/DS218 これに、WesternDegitalのNASむけHDDを組み合わせて利用しています。 LinuxとはNFSで接続できるので、まー特に問題ありません。Windowsとの相互運用も問題ないので、普通にWindows機とのファイルのやりとりにも利用しています。 何を利用しているのか 私は上記に書いたプレイヤー全部を利用したことがありますが、現状は以下のような形に落ち着いています。 音楽をディレクトリごととかで再生する mpv 動画や、頻繁にシークする音楽ファイルを再生する celluloid プレイリストを見たい celluloid mpvでもシークはできるんですが、どうしても視覚的に直感的ではないため、シークが頻繁におこなわれるものとしてはcelluloidを利用しています。あと、動画とかを一気に見たりする場合は、プレイリストとして常に表示できるGUIの方が便利です。 まぁ、最近は動画についてはストリーミングでしか見ていないので、ほとんどcelluloidは使っていないのですが・・・。 なぜCUIを利用するのか 私が思うCUIの楽さ加減としては、 tmuxとかのターミナルマルチプレクサと併用すれば、裏で流しっ放しにできる ディレクトリ内を一括で入れたりするのが簡単 ファイル数が多すぎると、コマンドラインの最大長を超える可能性もありますが GUIが無いのでとても軽い という点です。私の環境ではWMとしてswayを利用しているので、GUIを起動するとどうしても邪魔になりやすい、というのがあります。 floating windowは、場所をずらしたり調整したり、後邪魔になったときに避けないといけないので、あんまり利用してません。 他の人はどうやってるんだろう 最近はもう基本的にストリーミングサービスを利用している、という方が大半だとは思います。私は今でも専用のメディアプレイヤーにmp3なりを突っ込んで聞いている、という人なので、基本的にはオフラインで聞けることを優先しています。 ストリーミングを利用している人の場合、基本的にはそのサービスのクライアントを利用するんだと思いますが、それって無駄に重いし邪魔じゃない?という思いもあります。機会があれば聞いてみようかなー、と思います。(私の周辺はみんなオールドタイプなので)

June 13, 2021 · derui

shellのpipeを使いつつ入力とかを受け付ける方法

ちょっと最近やり始めた(正確に言うとやり直し始めた)ツールづくりで、どうやったかを毎回調べてしまうので、備忘録的に書いておきます。 <!–more–> pipeしたときの標準出力とかの状態 Unix(Linux)で、shellからプログラムをpipeで繋いで起動した場合に、標準入出力がどうなるか?というのは、以下の記事にわかりやすく載っています。 Qiita Linuxのパイプをちょっとだけ理解する さて、pipeは標準入出力、特にinteractiveな操作を必要とする場合、標準入力が別コマンドの標準出力が繋がっていることが問題になります。上の記事にもある通り、キーボードを受け取る口が無くなるので、pipeの右側にあるコマンドは、そのままではdaemonみたいな感じになっています。 また、この状態でさらにpipeで繋がれると、当然ですが標準出力が別のコマンドの標準出力につながることになります。進捗などを表示したりするときに標準出力に出したりすると、別のコマンドに余計な出力をすることにもなり、あんまりうれしくありません。こういうのをどうやって解決したら良いか? /dev/tty を使う そんなときには、character deviceである /dev/tty を使います。 http://tldp.org/HOWTO/Text-Terminal-HOWTO-7.html#ss7.3 この辺りに説明が書いてありますが、 /dev/tty は、 現在のprocessに対するterminalの制御 を行うためのデバイスです。つまり、このデバイスファイルに対して出力するとターミナルに対して入力したものとして扱われ、このデバイスファイルを読み込むと、書き込んだものを読める、ということになります。 試してないのであれですが、異なるプロセスが同時にこのファイルを開いても、最終的には /dev/pty/N というキャラクターデバイスに割り当てられるはずです。なので、競合とかは考えなくていい、と思います。 簡単に書くとこんな感じになります。入力のみ受け付ける、とかであれば、 RDWR を RDONLY にすると良いです。 (* OCamlで書くとこんな感じ *) let () = let fd = Unix.openfile "/dev/tty" [Unix.RDWR] 0o666 in let stdin' = fd and stdout' = fd in (* stdin' stdout'を使う *) Unix.close fd かなりシンプルですが、これでちゃんと動きます。Windowsでは確か仕組みが異なるため、それも対応するとなると、また別の方法が必要ですが。実際に別のptyが割り当てられていることを確認する場合、以下のような手段があります。 tty コマンドというそのまんまの名前のコマンドを使うと、今のプロセスで標準入力に接続されているファイルがわかります ps コマンドのtty欄を見ると、そのコマンドの標準入力に繋がっているファイルがわかります 特にpsコマンドの方だと、shell scriptの中から起動されたコマンドのttyは、起動元のshellのttyと同一であったりと、仕組みが思い浮かぶような感じにもなっていて面白いので、覚えておくといいと思います。 最後に 今回は久しぶりにhow to 系の記事でした。またこういうのも書いていこうと思います。How To系ってちゃんと書こうとするとハードルが高いのと、調べればわかるので書く気力が湧けば、ですが・・・。 ...

July 12, 2020 · derui