サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
blog.tomoya.dev
みなさん、ローカルLLMで遊んでいますか? 昨年末に、Ollamaが登場してから誰でも簡単にローカルLLMで遊べる時代がやってきました。そこで、僕もローカルLLMでどんなことができるんだろうと思って触りはじめたのですが、ローカルLLMを最大限に活用するためには、まずはどうやったらEmacsからローカルLLMを使えるようになるのかと考えるのはあまりにも自然な流れでした。 この記事では、ローカルLLMに関する基本的な知識から、EmacsからローカルLLMを扱う方法までを解説していきたいと思います。 ローカルLLMの基礎知識 # ローカルLLMとは、LLM(大規模言語モデル)をローカル環境、つまり自分のパソコンで扱えるようにしたモデルです。Facebookが開発しているLlamaが業界のトップランナーで、それをベースにしたモデルを色々な組織(中には個人もいるのかも)が開発しています。 そのLla
2024年7月8日月曜12時、ポッドキャストラジオ番組「エンジニアの楽園vim-jpラジオ」がAuDee(TOKYO FM)公式番組として配信開始されました。 ほかにも以下のプラットフォームから配信されていて、毎週月曜更新となっています。 Apple Podcast Spotify Amazon Music まだお聞きになっていない方は、冒頭から圧倒的なクオリティを感じられますので、騙されたと思ってぜひ一度だけでもお聞きになってみてください。 今回は、こちらのラジオ番組を作った経緯や、どのようにして作ったのかを記録しておきます。 構想5年、実働2ヶ月半で配信開始 # きっかけは、vim-jpでつぶやいたこちらの一言でした。 何気なくつぶやいた「そういえば、vim-jp ラジオ立ち上げたい」という、この発言をきっかけにして、パーソナリティとしてありすえさんが手を上げてくださり、ほかにもたくさ
2022年の末ごろからRemixを使って小さめのアプリケーションを開発をしています。2023年の3月ごろにプロダクション投入したので、早いもので稼動してからもう1年が経過しました。 その間、大きな機能追加もなかったので基本的に放置していたのですが、問題なく稼動していて要件にあったいいスタックで開発ができたと自我自賛していました。 そんな中、今年に入ってわりと大きめな機能を追加することになり、久しぶりにRemixのコードを書いているのですが、当時のように手探りで行っていた開発ではなく、経験を積んだ分だけ前よりももう少しいい感じのコードが書けそうだったので、今回の開発にあわせて全面的なコードのリファクタリングも行いました。 loaderモジュールとactionモジュールをどう書くか # RemixのページはRouteファイルを作成します。Routeファイルには、サーバー側で実行されるコードとク
はじまりましたマイノリティ自慢のコーナーです。 最近では、多様性とか、ダイバーシティとか、LGBTとか色々と言われるようになってきましたが、僕の中のマイノリティはそういうものではなく、「我少数故我有」みたいなシンプルな思想で、苦労しつつもいまではそれを誇りに思って日々過しています。 というわけで、僕のマイノリティ特性と、それらをどう感じているかについて語ってみたいと思います。 色弱 # 色弱(しきじゃく)は先天性色覚障害と呼ばれるもので、元は一般的に色盲(しきも、しきもう)という言葉で表現されていましたが、盲は差別用語だということで、あるときから色弱と呼ばれるようになり、いまではそちらの方が普及した気がします。 僕の色弱は赤緑色弱で、色弱の中では一般的です。日本の場合は男性の約20人に1人いると言われていて、クラスで1人2人はいる程度のマイノリティでしかありません。 色弱についての詳しい説
HHKBはプログラマーに愛されるキーボードであると同時に、万能な単位としても有名です。具体的な説明としては、kyoh86さんの次の説明がわかりやすいです。 エイチ エイチ ケイ ビー【HHKB】〔←Happy Hacking Keyboard〕 ① 株式会社PFUが提供する高性能コンパクトキーボード。 比較的廉価でありながら、シンプルかつコンパクトで性能の良いキーボードとして人気がある。 その正式名称からハッピーハッキングキーボード、とも。 ② 長さ、重さ、面積、体積、金額の単位。 「このオーブンの内寸は底面が2───程度だ」 「今月は120───程度しか:spin_keizai:してない」 ─── たんいけい【───単位系】 現在国際的に使用されているガジェット評価の単位系であり、 長さ、重さ、面積、体積、金額の5つをHHKB基準とした物理量として構成し、 またそれの乗法、除法で導かれる
コロナ禍で人と会う機会が激減していたのですが、最近少しづつ久しぶりに人と会う機会がちょこちょこと増えてきたこともあり、2021年くらいから2022年あたりの近況を整理しておこうと思いました。 最近のお仕事環境 SI的なお仕事をしています # 第1子が生まれるタイミングで、保育園の関係もありフォーコード株式会社という会社を設立して、エンジニア向けの学習サービスを作ろうかと色々と試行錯誤しつつ、知人からの相談ベースで他社のお手伝いしていたのですが、その延長で、2020年に某大企業の開発案件をアーキテクトとして手伝ってもらえないかと某コンサルの人から相談されました。これまでSI業界とは無縁でやってきたけれど、SIの人たちがどんな問題を抱えているのかを知るいい機会だなと思い、時給2万ですけどいいですか?と言ったらOKを貰えたので、参加してみることにしました。 そのプロジェクトは紆余曲折を経て半年ほ
インプレスは回収して内容修正するべきと書いた書籍「いちばんやさしいWeb3の教本」ですが、その4日後となる2022年7月25日に出版元であるインプレスより、本書の回収についての発表がありました。 弊社2022年7月20日発行の書籍『いちばんやさしいWeb3の教本 人気講師が教えるNFT、DAO、DeFiが織りなす新世界』の内容に関しまして、SNSを中心に読者の皆様よりさまざまなご意見をいただき、著者ならびに外部有識者、編集部において内容の検証、精査を行ってまいりました(※)が、ご意見いただいた誤りやわかりづらい表現箇所を修正・反映しての本書の販売継続は難しいと判断し、本書の販売を終了させていただくことといたしました。つきましては、本書の回収を実施いたしますとともに、第1章・第2章の無料公開を中止とさせていただきます。改訂版の発売につきましては決定しておりません。 ※検証方法について 202
2022年7月26日追記:インプレスの「いちばんやさしいWeb3の教本」回収判断についてという記事を書きましたので、こちらもあわせてご覧ください。 著者の方には申し訳ないのですが、下記のツイートで存在を知った「いちばんやさしいweb3の教本」という書籍が本当に酷い内容です(内容が気になる人は、2022年7月31日までインプレスのサイトで1、2章が無料公開されていますので、ぜひご覧ください) 。 Web3の説明ではだいたいGAFAがディスられるけど、「TCP/IP、SMTP、HTTPはGoogleやAmazonに独占されてる」というのはさすがに理不尽すぎる pic.twitter.com/amgEU3Gmpg — catnose (@catnose99) July 19, 2022 #いちやさWeb3 実在する技術用語をやさしく噛み砕いているようで実際のところ意味不明なワードサラダなので悪質
6月30日、GitHub CopilotというAIプログラミングツールのテクニカルプレビューが発表されました。 コメントなどから自動的にコードが生成されるアニメーションは、とてもセンセーショナルで今後のプログラミングのあり方を変えてくれそうな予感がします。AIコード生成は以前からTabnineなどがありましたが、GitHubが参入したことで、今後より一般的に普及しそうです。 そんな中、AIコード生成とGPLライセンスについてのツイートが少し話題になっているのを目にしました。 github copilot はgplのコードを学習してんならgithub copilotが生成するコードはgplなコードのderivative worksでしかあり得ねえだろうが、という指摘がされており一考の価値がある https://t.co/pacomctOzW — 7594591200220899443 (@s
最近、Denoの開発をはじめたことにより、EmacsでTypeScriptの開発をするときに、lsp-modeで起動するLSPサーバーをプロジェクトによってNode.js(ts-ls)とDeno(deno-ls)で切り替えたいと思いました。 lsp-modeはすでにJavascript/Typescript (deno)をサポートしているので、おそらくできるはです。 公式回答はディレクトリローカル変数を使う # 調べてみたところ、公式ドキュメントのFAQに次の記載がありました。 I have multiple language servers for language FOO and I want to select the server per project, what can I do? You may create dir-local for each of the project
2019年の1月からNetlifyの無料プランでブログを運用していたのですが、直近記事でEmacsの操作をわかりやすく伝えるため、富豪的にアニメーションGIFを多用した結果、無料枠のデータ転送量制限(無料プランは1ヶ月100GB)を越えてしまい、1日20ドルを請求されるようになりました。 もちろん、これは自分のミスなのでNetlifyは悪くないのですが、この制限を知らなかったのでいつからあるのか調べてみたらどうやら2019年の2月にアナウンスされていて、そりゃ知らなくても仕方ないよなと思いました。 制限超過の通知メール # Netlifyからの通知はこんな感じのメールがきました。 一番上にYou’ve got more room to grow!とか書いてあるから、何かいい話なのかなとか思ったけど、請求って書いてあるし何だろと思いながらダッシュボードを開いてみると、40ドルの請求と表示され
先日、ネイティブコンパイルEmacsが登場でElispをネイティブコードにコンパイルすることによりEmacsの高速化が実現されたという記事を書きましたが、Emacsに到来している新しい波はこれだけではありません。Emacsを華麗に操作するユーザーインターフェイス(以下、UI)にも新潮流がきています。 百聞は一見にしかずというわけで、まずはこちらの動画をご覧ください。 この動画ではEmacsの起動時点から次の操作を行なってファイルを開いています。 ghqでリポジトリ検索 → fdでファイル検索 ghqでリポジトリ検索 → ripgrepでテキスト検索 利用している外部コマンドはさておき、標準のEmacsと大きく違うところは、コマンドを実行するとミニバッファが縦に伸びて補完候補が表示され、キー入力による候補の絞り込みをしてファイルを開いているところになります。 Anything/Helmと違っ
前回のエンジニアの楽園 vim-jpでは、Emacsユーザーである僕が「なぜvim-jpに参加するのか」について書きました。 今回は前回書ききれなかったvim-jp Slackのチャンネル案内について書こうと思います。ちなみに、タイトルの『vim-jp案内』は、僕の好きなSteve Yeggeの名コラム『tour-de-babel』(日本語は青木靖邦訳で『バベル案内』)」のオマージュです。 vim-jpのチャンネル数は百八式以上あるぞ # 「ワシの波動球は百八式まであるぞ」はテニスの王子様の石田銀の名ゼリフで、圧倒的な戦力をあわらす言葉なのですが、vim-jpのチャンネル数は2021年5月21日現在、なんと114個もあります。 つまりは石田銀を吹き飛ばしたデュークホームラン級と言えます(面白いから携帯で撮っていた写真が役に立つ日がくるとは)。 とにかく、vim-jpはチャンネル数が多いため
インターネットが大好きな人の多くは、どこかしらのコミュニティを拠点として活動を続けることが多いです。 僕は2003年からのネットユーザーなのでそこまで古くはないのですが、かつて、はてなダイアリー、IRCなどを拠点として、ネットで活動してきました。現在であれば、Twitter、Qiita、Zennなどを主軸として活動している人が多い印象です。 そんな中、最近僕が最も居心地よく滞在しているコミュニティがvim-jpのSlackです。 なぜvim-jpなのか # 僕を知っている人であれば、「お前はEmacsユーザーだろう?まさかVimに乗りかえたのか?」というツッコミたくなるかもしれませんが、それにはおよびません。なぜなら、いまもEmacsユーザーであることに違いないからです。 では、なぜvim-jpに入っているのか?それは次の理由があるからです。 幅広い分野の話題が可能 # vim-jpは、い
2021年4月26日のiOS 14.5のリリースでApple Watchを使ってマスクを着けたままFace IDでロックを解除する機能が入ったため、これを目当てにApple Watchを初購入しました。 購入したApple Watchのモデル # 購入したApple Watchは、Series 6(GPS + Cellular)の40mm(小さい方)で、スペースグレイアルミニウムケースとNikeスポーツループにしました。 先日、予約したAirTagをApple Store渋谷に受け取りに行った際、ついでにApple Storeで本体とバンドの組み合わせを色々試させてもらいました。その結果、 本体は僕の細い手首だと44mmがデカいと感じた バンドはマジックテープやつが一番軽くて付け心地が良かった という印象で、最終的には服にも合わせやすいNikeの白いバンドとスペースグレイの本体の組み合せに
食事は子供の成長にとって一番大事な要素です。 離乳食を完了してからの食事は、子供の成長にダイレクトに差が出てくるため、できるだけバランスよく十分な量を食べさせる必要がありますが、実際に子育てをしてみるとこれが実に大変で、毎日戦争のようになります。 今日はそんな戦争の日々で闘いに勝利するためのノウハウを共有したいと思います。 ある日の晩御飯主食: ごはん/主菜: ラムチョップ/副菜: サラダ、ほうれん草 子供に必要な食事量 # 東京都幼児向け食事バランスガイドからダウンロードできる指導マニュアルによれば、P.6「幼児の1日分の食事摂取量の適量と献立例」に次のように書かれています。 「日本人の食事摂取基準(2005年版)」〈厚生労働省〉では、3〜5歳における推定エネルギー必要量は男性1,400kcal、女性1,250kcalとなっている。 また、大人の1日分のカロリーは農林水産省の一日に必要な
日本時間の2021年4月26日午前3時6分、Emacsのmasterブランチにfeature/native-compブランチがマージされました(コミット:Merge branch ‘feature/native-comp’ into into trunk)。これにより、HEADのEmacsをビルドすると、Native compilation機能を兼ね備えたネイティブコンパイルEmacs、通称Gcc Emacsが使えるようになりました。 ネイティブコンパイルEmacsの機能 # ネイティブコンパイルEmacs(以下、Gcc Emacsと呼びます)は、Andrea Corallo、Luca Nassi、Nicola Mancaの3名によるBringing GNU Emacs to Native Code という論文で詳細が説明されています。 簡単に説明すると、これまでのEmacsは、Elisp
QNAP NASにTailscaleをインストールしてVPN接続できるようにするで解説したように、とても便利なTailscaleには、Magic DNSというパブリックベータの機能があり、これを利用するとVPNで名前解決によってそれぞれのマシンへアクセスさせることもできます。 VPNで名前解決が利用できると、IPアドレスよりも覚えやすい上に、もしIPアドレスが変更されても影響がなくなるので、大変便利な機能です。 このMagic DNSの機能を利用して、更に色々とできないかを模索してみました。 CNAMEによる独自ドメインの利用 # まず最初に思いついたは、CNAMEによる独自ドメインの利用で、イメージとしてはこんな感じです。 パブリックDNSを利用するとドメイン名は一般公開されますが、VPNに接続しないかぎり各端末へのアクセスはできません。そのため、公開して問題ない名前であれば、パブリック
先日購入したQNAP NASのTS-453Dですが、やはり外部ネットワークからアクセスする手段を確保しておきたいところです。 一般的にQNAP NASを外部から接続するには、QNAP NASの中でVPNサーバーを立ち上げてVPN接続することが多いと思いますが、我が家では現在Tailscaleを使って、Windowsマシンに接続したりしており、QNAPもできればTailscaleを使ったVPNで接続できればと考えました。 調べたところ、自分でTailscaleをビルドすればインストール可能だということが分かったので早速試してみました。 Tailscaleのqpkgをビルドする # QNAP NASのQTS OSにアプリをインストールするには、qpkgというパッケージを作成する必要があるらしいのですが、ivokub/tailscale-qpkgというDockerを使ったTailscale QP
TSUKUMOのオンラインショップ購入は初めてでしたが、注文翌日には発送されその翌日には到着しました。 TS-453Dの起動とセットアップ # 【QNAP】初期セットアップ ~ NASアクセスまでの手順 – TS-453Beを参考にして、TS-453DにHDDを挿してLANケーブルを繋いでから電源を付け、macOSにインストールしたQfinderを起動すると、無事にTS-453Dが表示されたので、スマートインストールガイドによる初期化を行いました。 初期化が完了すると、ブラウザでhttp://IPアドレス:8080から管理者としてログインできるようになりました。 ひとまず無事にNASに接続してログインできることを確認したので、我が家のサーバー設置場所である靴箱サーバーラックへとNASを移動させました。 Time MachineのバックアップとNASの騒音 # NASが稼動したので早速Tim
vim-jpのSlack(登録はこちら)に#hobby-gadgetというチャンネルがかあるのですが、そこでは強すぎる物欲の持ち主たちが日々欲しいと思った製品のURLを流しています。 IT関連の人が多いためか、ベアボーンPCに関する記事も多く、日々流れるオススメベアボーンを見ていると、1台くらい持っているのが普通なのかも!?という気持ちになり、気づいたら僕も1台買ってしまいました。 目的としては現在サーバーとしての余生を送っているMac mini(2014モデル)のリプレースになります。 パソコン工房でパーツ購入 # パーツ一式は秋葉原のパソコン工房 秋葉原 BUYMORE店で購入しました。 ベースとなったのはASUSのPB50-BBR015MVというベアボーンで、本当はPN50-BBR026MDを狙っていたのですが、在庫がなかったのでこれにしました。 ASUSのベアボーンにした理由は、
先日、Emacsに一生入門できねえ2020という記事を目にした。 確かにEmacsは難しい。まったくもって増田の言う通りだ。うんうんと頷きながら、過去に自分が書いた「風になりたい奴だけが Emacs を使えばいい。」という記事が脳裏に浮かんだ。 10年間の出来事 # 僕が「風になりたい奴だけがEmacsを使えばいい」と言った記事は2010年9月4日に投稿されていて、あれから実に10年の月日が経過していた。とても懐しい。 振り返ればこの10年間でエディタの世界は大きく変わった。次世代エディタを銘打ったAtomが誕生し、エディタにおける表現の限界をぶち壊した。そして後続で登場したVSCodeが一気にシェアを奪い、一瞬でトップシェアの座に立ってしまった。予想しなかった未来があった。 一方、Emacsはどうなったかと言えば、メジャーバージョンが23から27になった。しかし、起動したてのEmacsは
9月14日に技術評論社のWEB+DB PRESS Plusシリーズから『CircleCI実践入門──CI/CDがもたらす開発速度と品質の両立』が発売されます。 執筆終盤にコロナ禍の影響を多大に受け、ギリギリまで完成するかどうか瀬戸際の状況が続きましたが、なんとか無事に完成を迎え出版することができて、みなさまのお手元に届けられることができたことを本当に嬉しく思います。 なお、今回は3冊目にして初の共著、初のエディタ以外の本になりましたが、くくりで言えば、またもや開発環境ということで、どうやら僕は開発環境(そして最適化)が本当に好きなのだということを、今更ながらようやく自覚しました。 なぜ本書を執筆したのか # 本書を執筆することになったきっかけはWEB+DB PRESS Vol.107でCircleCI特集を寄稿したのがきっかけです。自身3度目の寄稿となりましたが、お陰様で読者から高評価を頂
リモートワークが推奨される昨今、オンラインミーティングが増えてくると、通話環境をもっと良くしたいという要望が沸いているのではないでしょうか? そこで、リモートワークが多い僕が、一昨年くらいから色々と調達して試したヘッドセット的デバイスを紹介したいと思います。 オンラインミーティング用オーディオデバイスはJabra最強説 # 今回紹介するのは両方ともJabraのデバイスです。 Jabraはコールセンターなどの業務用ヘッドセットに特化しているメーカーで、Sennheiser、Sony、Plantronicsなどなどのオーディオデバイスを試した結果、個人的にJabraデバイスがマイクにのるノイズが少なくオンラインミーティング用としてはベストだと感じました。 マイク性能が良いワイヤレスイヤホン Evolve 75e # 現在、メインで使っているのがこのEvolve 75eです。主に移動先のカフェな
継続的な学習は、僕の中で近年のひとつの大きなテーマとなっています。といっても、どうすれば継続学習ができるのかという話ではなく、世の中には日々の学習を行わない人がいるけど、どうして学習をしないのか、というのがこのテーマの中心課題です。 今回は、そのテーマについて論じる前に、僕が日々実践している学習方法を紹介したいと思ったのでブログに書いておきます。 毎日学習するための方法 # 僕が実践している毎日学習するための方法はとても簡単で、具体的には次の通りです。 特定のリポジトリを毎日git pullして、追加されたコミットを見る 面白い変更があればシェアやメモする 見ての通り、とても簡単です。僕は毎日これを1日の作業開始前に行っています。 毎日リポジトリをチェックすることで得られるメリット # これを続けていることで得られるメリットは色々ありますが、僕が考える代表的なものは次の通りです。 そのプロ
今年というか去年末に35歳になりまして、いわゆるプログラマ35歳定年説の歳になったのだということに、最近気づきました。 35歳になってまだ2ヶ月くらしか経っていないのですが、いわゆる35歳定年説について、どのように感じるかを記録しておきたいと思います。 ここからは実感値として以下の5項目について触れていきます。 学習能力 集中力 体力 速度 品質 学習能力は上がっている # 学習能力については上がっていると思います。最大の理由は次の2つの能力が20代に比べて向上しているからです。 知識量が増えた 英語の文章を読む速度が上がった この結果、検索能力は20代と比べようもないほどに上がっているかと思います。そのため、分からないことがあっても、回答を得るまでかなりスピーディーですし、新しいことを学ぶときにも、ポイントを絞って要領よく学ぶことができるようになりました。 これらの能力が向上した理由とし
AtomからEmacsに引越しする中で、AtomにあってEmacsにはなく、これがないと快適なプログラミングは厳しいというパッケージや機能が幾つかありました。 その中のひとつが、コードの自動修正機能を提供するパッケージです。 エディタでコードを自動修正する # 個人的な感覚ではGo言語とgofmtの登場以降、いわゆるインデントのタブ・スペース論争やコーディングスタイルについては、プロジェクト毎に利用するコードフォーマッタに任せるという流れで決着がついたと思っています。 最近良く書くJavaScriptやTypeScriptでは、ESLint、TSLint、Prettierが主流になったお陰もあり、僕みたいな様々な会社のプロジェクトで開発を行う人間も、インデント、クォート、文末のセミコロンなどの修正はプログラムに任せて、僕は適当に書いて保存するだけで自然に統一がはかられるようになりました。
2018年の年末にAtomからEmacsにスイッチしてしようと決めてから、年末年始を利用して快適にコードが編集できるようにEmacsを鍛えていました。 Atomは大変素晴しいコードエディタで、初心者がプログラムを書く上で、必要な機能が最初から備わっています。これはVSCodeも同様でしょう。まさに生まれながらのプログラミングエディタと言えます。 Emacsに復帰してあらためて思ったのは、Emacsは生まれながらのプログラミングエディタではないということです。Emacsの初期設定でプログラミングをするには、自動補完もなければGitの対応も不十分で、あまりにも機能が足りていません。 ですが、Emacsが他のエディタと比べて劣っているかと言えばそうではありません。 Emacsの最大利点は即時拡張性 # 僕が感じたEmacsがAtomやVSCodeと比べて優れている点は「即時拡張性」です。 Ema
2019-03-04 追記 後にドメインを blog.tomoya.dev へ移行しました。 はてなダイアリー終了のお知らせから、ブログをどうしようか悩んでいたのですが、はてなダイアリーが終了するのであれば、はてなブログもいつかは終了するかもしれないということで、自分でブログを運用することにしました。 自分で運用する場合は、サーバーやソフトウェア(CMS)などのメンテナンスが面倒なのですが、いわゆる静的 サイトジェネレーターのHugoと静的サイトホスティングサービスのNetlifyを組み合わせれば、基本的に無料でhttpsにも対応したサイトが運用できるのでは?ということに気付き、自分で運用しても良いかなと思った次第です。 Hugoを選択した理由 # HugoはGoで書かれた静的サイトジェネレーターです。同様のもとしてはJekyllが老舗で、最近ではGatsbyなどが有名です。 そんな中、今
このページを最初にブックマークしてみませんか?
『blog.tomoya.dev』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く