そんな今日この頃の技術ネタ

本家側に書くほどでもない小ネタ用

Ubuntu on EVO-X2、llama.cpp ServerでGemma4 31BのMTPを動かす

LLM

前の記事でvLLmでGemma4のMTPを動かしていたんだけど、LLM運用以外にもサーバを使いたい身としてはVRAMがあればあるだけ食べてしまうvLLMはちょっと辛かったんですな。 で、一旦はOllamaでオフィシャルに配布されているQwen3.6:27bのMTPイメージに切り替えて…

Vllmでgemma4:31bをMTP Drafterで2倍速で動かしてCodex.appで使ってみたメモ

LLM

EVO-X2 128GB(Strix Halo)、Ubuntu24.04環境。個人的な主義としてDockerで動かしてる。 日記の方で雑にMTPを動かして早くなったねーというところまでは行けてたんだけど、Codex[cli/app]で動かすまでに意外と手がかかったので共有。 blue1st-diary.hateblo…

Chrome拡張のストア登録をしてみた

昔からちょくちょくChrome拡張を作ったりしていたんだけど、バージョンアップするたびに複数のPC環境にコードを持っていってインストールしたりするのも面倒くさくなってきたので思い切ってディベロッパー登録をしてストアに掲載してみた。 登録に少額とはい…

Searxngと連携してローカルLLMのウェブ検索を改善する

LLMをチャットとして実用的に使う上でWeb検索は欠かせない機能要素だろう。 ラフに訊ねた文言から検索キーワードを良い感じに定めて検索を実行し、複数のサイトから情報を拾って時には翻訳までして情報をまとめてくれる。 LLMの性質上どこまでいってもハルシ…

traefikでサブドメインを振り分ける

先の記事でドメインを手に入れたので、次はサーバでポート違いで運用しているサービスに対してサブドメインを振り分ける。 昔ながらの方法でいうと例えばNginxでserver name項で振り分ける手段もあるが、うちでは基本的にDockerを用いて運用しているので、も…

No-IPでドメインを入手するメモ

家庭内でサーバを運用していて、流石にIPアドレスそのままというのも不格好なのでドメインを取得したくなってきた。 どうせ家庭内だけからのアクセスが目的なので一番行儀が良いのはDNSサーバを立ててルーターでDNSサーバを指定する方法なのだが、あいにくう…

ローカルLLM(llama.cpp server+gpt-oss:120b)でiTerm2のAIプラグインを動かす

いつの間にかiTerm2にAIプラグインなるものが搭載されてたので、せっかくなのでローカルLLMで試してみた。 blue1st.hateblo.jp 前提情報 うちの場合、ローカルネットワーク内のマシン(EVO-X2)で動かしていて IPアドレスは192.168.1.33 ポートは10000 モデル…

テキストフォーム入力のちょっとしたイライラを解消するChrome拡張作ってみた

久々にこっちのブログも上げとこうということで、ちょっとしたローカルLLMでのVibe Codingでの作ったものの紹介でも。(作成環境的な話は本家の記事の方で) github.com 海外製のWebアプリなんかで、テキストの入力フォームがEnter押下で送信になっているの…

Nuxt3で作ったWebアプリをGithub Pagesにデプロイする

Gemini nanoで遊んでみるついでで久々にGithub PagesにWebアプリをデプロイしてみたので色々とメモ。 Github Pagesが出始めだったVue1系の時代(今からすると大昔だ・・・)やGithub Actionが始まったNuxt2の時代にも同じようにGithub Pagesを試したことはあ…

要ProxyなGCEインスタンスでgcloudコマンドを動かすためのno_proxy設定

前に一度やったことがあってふんわり認識はしていたけど、いざ調べようと思ったら意外と時間を食ってしまったので今後のためにメモ。 セキュリティ要件なんかで外部へのアクセスにProxyを介する必要があるGCEのインスタンス上でgcloudコマンドを叩きたいとい…

Google Cloud Functions / Go111からSlackに投稿してみる

Google Cloud Functionsで新たにgolangが使えるようになったので、試しにHTTPリクエストをトリガーとしてSlackにメッセージを投稿してみるコードを組んでみた。 1. Slackトークンの取得 ひとまずSlack投稿のためのトークンを取得しておく必要がある。 (毎度S…

claspでのGAS開発環境にLintを追加する

claspを使ってGASにデプロイする話のつづき。 blue1st-tech.hateblo.jp 前の記事でpush時に自動でTypeScriptをトランスコンパイルしてくれるということを書いたのだが、実際にゴリゴリ長いコードを記述するとなるとコード整形などで保守性を良くしておきたく…

golangの開発環境を整える

Go言語は年に何回か必要に迫られてちょっとだけ触る程度の使用頻度だったりするのだが、若い言語ということもあってツールやら環境まわりは調べる度に状況が変わっててちょっと戸惑ったりする。 いつの間にやら$GOPATHを明示的に指定しなくても良くなったり…

claspでGoogle Apps Scriptの開発環境を整える

Google Apps Scriptを使わざるを得ない案件があって調べていじっている今日この頃。 Apps Script – Google Apps Script Web上の機能もなかなか良くできていて簡単なものを作るだけならさほど不便は無いのだけど、流石に数百行ものコードをES5のシンタックス…

Makefileに定形作業をまとめて横着をする

月イチ更新を目標にしてたのに気づけばサボりにサボって約半年・・・そんなわけで、今回はリハビリがてら軽めのネタで。 makeというと普段Webの浅瀬でピチャピチャしてる系のエンジニアからすると縁遠いものな印象があるものの、その実態はMakefileにコマン…

Kubernetes関連の便利ツール: Helm

便利ツール紹介その2。 HelmはKubernetesのパッケージ管理ツールである。リポジトリに登録された構成情報(これをChartと呼ぶ)をinstallコマンドに適時引数で設定情報を与え、簡単に自分のクラスタに導入(これをReleaseと呼ぶ)することができるものである。 …

Kubernetes関連の便利ツール: stern

Docker for MacにKubernetesが載ったということで、今回は複数のPodのログをまとめて参照できるsternを紹介。(前々から書こうとは思ってたんだけど、機会を逸していたんだよね) github.com

Docker for Mac にKubernetesがやって来た!(ちょっと追記)

今朝メーリングリストで通知が来たので試してみた! docs.docker.com

Vue.jsで最低限文化的なクリッカーを作ってみる

個人的に新しいJavascriptフレームワークを素振りする際の定番がクリッカー(某クッキーのアレ)だったりする。今回はごくごく簡素なクリッカーを作りつつVue.jsの使い方を紹介したいと思う。 github.com

vue-cliでサクッと始めるVue.js

ここのところ仕事ではもっぱらVue.jsを使って(慣れない)フロントエンド開発をやっていたりする。 以前に触っていたAngular.jsと感触が近い部分もあって個人的にはReact.jsより親しみやすい。 昨今のフロントエンド開発というとbabelだのwebpackだのと最初…

Deep Learning学習その1 ひとまずChainerを動かしてみる

セミナーで学んだ内容を自分なりに噛み砕いてまとめて復習してみる。 ニューラルネットワークとは、さながら脳のシナプス結合のようにして個別に数値処理をするノードを積み重ねてた処理のモデルである -> 世の中の事象を何らかの数列操作として表現する -> …

GitHubとDockerHubを連携させて自動でイメージのビルドを行ってみる

ローカルにDocker Registry立てたりGCR使ったりはしたことあったけど本家たるDockerHubって使ったことが無かったので、思い立ってちゃんと使ってみることにした。 DockerHubにはAUTOMATED BUILDというGitHub(もしくはbitBucket)のリポジトリにDockerfileを…

GitHubに課金してプライベートリポジトリを使えるようにしてみた

自宅サーバにはGitLab立てて運用してたりしたけど、グローバルに非公開のリポジトリが欲しいタイミングもあるのでGitHubのDeveloperプランに課金してみることにした。 github.com 単にリポジトリが欲しいだけならbitBucketとかGitLab.comとかいった無料の選…

macOSで「dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib」というエラーが出るようになった

新しく買ったMacbook Proでhomebrewでansibleをインストールしようとした所、以下のようなエラーが出てきた。 dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib じゃあってんでreadlineなるものをhomebrewでインストールしようと…

OS X上にPythonの学習環境を整える(anyenv、pyenv、virtualenv)

最近の機械学習の流行もあってかPython環境を整える系の記事がいっぱい出回ってて「コイツラまた環境構築してるよ・・・」なんて揶揄されてたりするけど、調べてみると色々な方法があるようで、なるほど確かに人によって状況によって最適な手段は変わってく…

Docker/Docker ComposeのSecretsを試す

接続情報などコンテナ内への記述が憚られる情報について外部から与える方法としてsecretsがdocker 1.13/docker-compose.yamlのformat ver3.1からサポートされた。 予めdocker secretコマンドでファイルを登録するか、もしくはdocker-compose.yaml内でファイ…

kubernetes学習番外編 コンテナ起動時のコマンド実行

何かしらの設定ファイルが必要なアプリケーションをDockerイメージとして作成する場合、可搬性を考慮するならコンテナ内に予め特定の状況の設定ファイルを格納するのではなく、コンテナ起動時に環境変数から設定ファイルを生成するのが望ましかったりする。 …

kubernetes学習その4 GCRの認証

Dockerイメージの保管場所としてGoogle Container Registry(GCR)を用いる場合、同じプロジェクト内の例えばGoogle Container Engine(GKE)なんかでpullする分には認証も要らないのだけど、開発環境としてminikubeだったり他の場所でk8sを動かしたりしている場…

kubernetes学習その3 スケールとかB/Gデプロイとか

引き続きk8s学習話。 前回k8sでPodとServiceという概念や、その中で名前やラベルといった抽象的な表現を用いて扱うことを学んだ。 blue1st-tech.hateblo.jp 今回は実際にそれを利用してスケールしたりB/Gデプロイ的なことをしてみる。

kubernetes学習その2 最低限文化的なサービスを立ち上げてみる

引き続きkubernetesの使い方について学習。 前回作ったminikubeの環境で実際にyamlファイルを用いた操作を行ってみる。 blue1st-tech.hateblo.jp 最低限把握しておくこと 作業の前にザックリと用語と概念を把握。 Node: 実際にコンテナが動いているマシンの…