JavaのDIコンテナは言語機能の補完でありinjectはimport

というブログを書こうとしたら、すでにあった。 Dependency Injectionでやりたいことはモジュールimport - きしだのHatena 依存性の注入って要するにimportなので。 まず、DIコンテナを実装してみるとどういうものかがわかりやすくなります。 このときの結論…

時代がstaticおじさんに追いついてきた(追記あり)

この文章みてください。 オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、オブジェクト指向なんてものは、理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばGUIのコンポーネントとかはオブジェクト指向に基づ…

ジョギングを始めた。700mほど。

そういえば、去年から雑なジョギングを始めている。 バスが間に合わなそうで走ったときに、ちょっと走れなすぎてヤバいなと思ったので、走るという行為をたまにやっとこうと思ったのがきっかけ。 その程度のモチベーションなので、何キロも走ったりとかせず…

報道ヘリがうるさくて救助の邪魔になるという話はどう広まったのか

報道ヘリがうるさくて救助の邪魔になるという話はどう広まったのか、というのを調べてみていたのでメモ そもそもとして「報道ヘリがうるさくて救助の邪魔になる」ということなんてあるのか、という話は、1995年1月17日の阪神淡路大震災にさかのぼる。 震災後…

今年おもしろかったマンガ2023

今年読んで面白かったマンガをまとめておきます。 葬送のフリーレン アニメがヒットしてるフリーレン、最近やってた黄金郷編がめちゃよかった。 葬送のフリーレン作者:山田鐘人,アベツカサAmazon 転生してハイエルフになりましたが、スローライフは120年で飽…

今年買ってよかったもの2023

今年買ってよかったものまとめ フライパン テフロンのはがれたフライパンを惰性で使い続けていたのだけど、餃子やいてもはがれないし、タマゴを炒めるとくっつきまくりで気になっていた。 で、インターネッツぽちぽちやってるときに、なんとなく買ったら、や…

Google ColabでJavaを使う

Jupyter for JavaというのがInfoQで紹介されていたので試してみました。 Java News Roundup: JDK 22, Spring CVEs, Liberica JDK, JDKMon 21, Jupyter for Java, Gradle 8.5 Jupyter notebookでJavaを使うためのいろいろをまとめたGitHub organizationらしい…

Javaを中心に偏見ベースでプログラミング言語の関係をまとめた

オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジ…

きれいなコードは互いに似通っているが、クソコードはどこもその趣が異なっている

先日のJJUG CCC 2023 Fallの懇親会でクソコードを研究しているという学生がいたのだけど、クソコードの研究は難しいという話をした。 人工的にクソコードを再現しても、あの野生のクソコードのクソさには全く足りないわけで。 トルストイが言うように「すべ…

x=x+1がわからないのは逐次実行がわかっていないからで、記号を変えても解決にならない

x = x + 1がわからないという話が流行ってました。 で、「=ではなく:=を使えば」とか「イミュータブルにすれば」とかいう話が出たりしてますが、問題をあとまわしにしてるように見えます。 結局のところ、逐次実行がわかっていないことが表面化している場合…

味噌汁

雑に味噌汁を食いたいときがあるわけですね。 でも、味噌を常備して鍋に湯を沸かして煮るとかめんどくさい。 と思ったら、なんか出汁入り味噌をお椀にとってお湯をいれるだけでいいという話をききつつ、そうするとチューブのやつがあるねってなりつつ、探す…

rinnaのYouri 7Bで8GB GPUでもLLM翻訳ができるかも

LLM

rinnaからLlama 2 7Bに日本語を追加学習させたYouri 7Bが公開されました。 rinna、Llama 2の日本語継続事前学習モデル「Youri 7B」を公開|rinna株式会社 このうち、Youri 7B Instructionが指示に応じた返答をするモデルになっています。このモデルを使って…

LINE LLMをMacで動かす

LLM

先日、LINE(現LINEヤフー)のNLP Foundation Devチームから日本語言語モデルが公開されました。(以降LINE LLMと表記します) 36億パラメータの日本語言語モデルを公開しました Instruction Tuningにより対話性能を向上させた3.6B日本語言語モデルを公開します …

画像対応モデルのLLaVAをMacで動かす

画像認識対応モデルのLLaVAで、おうちでも設計画像からコードが生成できるようになりました。 LLaVAを使っておうちのパソコンでも画像からコード生成 - きしだのHatena llama.cppが対応したことでMacでも動かしやすくなりました。 https://github.com/ggerga…

LLaVAを使っておうちのパソコンでも画像からコード生成

ChatGPTが画像対応して、画像からいろいろなコードが生成できて楽しいことになっていましたが、同じようなことをおうちで動かせるLLaVAが出ていたので試してみました。 GPUはVRAM 12GBあれば十分、8GBはギリギリという感じ。 LLaVA-1.5 先週、LLaVAのバージ…

ツイート埋め込みテスト

サムネイルにタイトルや概要が表示されなくなってるけど、埋め込みだと表示されてる。 ICU4Jで文字をカウントするhttps://t.co/uiihK9Y6IQ— きしだൠ(K1S) (@kis) 2023年10月5日 サイト上だとこう。 一応、執筆時点での埋め込みのキャプチャ

ICU4Jで文字数をカウントする

Javaでは文字数をlength()で数えることができます。 1996年にJavaが出てきた当初は「半角も全角も1文字に数えれて便利だなー」などと思っていたわけです。 けれども、同じ1996年に策定されたUnicode 2.0で2文字分のコードを使って1文字を表すサロゲートペア…

画像対応ChatGPTで設計図からコードの世界が実現しててやばい

アマチュア驚き屋のきしだです。 ChatGPTが画像入力に対応するよという話があって、来週くらいに使えるようになるかなーと思ったら、もう使えるようになってました。 で、写真から「カレー食べてる男の人です」くらいを言えるイメージで試してたら、なんかふ…

Stable Diffusion Web UIにFooocusのスタイルを取り込む

FooocusというStable DiffusionのUIではスタイルを設定するだけで呪文が不要のシンプルなプロンプトでの画像生成が可能になっています。 そのスタイルをAUTOMATIC1111/Stable Diffusion Web UIに取り込めるようにしてみました。 いろいろ過程を書いてるので…

ネットワークプログラミングの練習にインターネット自由協会の電子公告表示プログラムを作ろう

登さんがインターネット自由協会の電子公告をTELNETで公開されていました。 TELNETであれば簡単に内容を見れるので、誰でも見れることを目指すべき電子公告には適していますね! 登さんがこういうツイートをされていました。 最近の法務局登記官のインターネ…

ChatGPTで構成された仮想のソフトウェア会社にシステム開発を行ってもらうChatDevがおもしろい

ChatGPTによるメンバーで構成された仮想のソフトウェア会社にシステム開発を行ってもらうChatDEVが結構おもしろかった。 ChatDEVは、ChatGPTによってCTOやプログラマー、レビュアー、テスターといった役割をもつエージェントをやりとりさせることでソフトウ…

100年前の小学5年生がひらがなばかりの作文を書くのはおかしいのか

100年前(大正12年)の小学5年生の作文がひらがなばかりなのを見て、幼稚園じゃないんだから漢字かけるだろというのがあったので、当時の漢字教育どんなんだったんだろと調べてみたら面白かった。 まず、文化庁の「国語問題要領」の「国語問題の歴史的展望」を…

ChatGPTに時計を作ってもらったら完璧だった

Macで時計を表示しようと思って、ウィジェットというのがあるなと表示してみたら常時表示はできなくて、じゃあJavaで作るかーと、とりあえずChatGPTで雛形つくってもらおうと思ったら欲しいものが完璧にできあがってしまった。 とりあえずGPT4に「Javaでアナ…

Code Llamaのinstructを試す

Llama2をコーディング用にチューニングしたCode Llamaでてますね。 そして、対話モデルもあります。 けどどう使うかわからなかったのでいろいろ試したら、なんとなくわかったのでメモ。 モデルはHugging Faceにあるので、ふつうのTransformersモデルとして使…

Stability AIの日本語画像言語モデルをWindows+RTX 4060 Ti 16GBで試す

Stability AIから日本語画像モデルが出ていたので試してみました。 Windows + RTX 4060 Ti 16GBです。 Stability AIのリリースはこちら 日本語画像言語モデル「Japanese InstructBLIP Alpha」をリリースしました — Stability AI Japan モデルはこれ。 stabil…

Javaやさんに優しいローコードフレームワーク、OpenXavaを試す

OpenXavaという、JPAエンティティだけ定義すればCRUDな画面を作ってくれるローコードフレームワークがあるので、試してみました。 Javaわかる人には手軽に使えてよさそう。 https://www.openxava.org/ OpenXavaプロジェクトの作成 Maven Archetypeが用意され…

Stable Diffusion Web UIの解像度をSDXLにあわせたドロップダウンにする

Stable Diffusionの新しいバージョン、SDXLが出ています。 ただ、SDXLは大きい画像で学習しているためか、ちゃんとした画像を生成するにはそれなりの解像度を設定する必要があります。 ということで、Stable Diffusion Web UIの解像度設定をスライダーからド…

MetaのMusicGenに90年代コムロJ-POPを作ってもらう

AI

Metaがテキストから音楽や音声を生成するAIを公開していました。 https://audiocraft.metademolab.com/ AudioGenが効果音とかを生成、MusicGenが音楽を生成ですね。 MetaのMusicGenに「90年代コムロJPOP」って言ったらそれぽいものが生成された、気がする。h…

コミュニティノートがTwitterを壊している

コミュニティノート、案の定暴走している。 どんな改悪、利用制限よりも大きくTwitter*1を壊してるんじゃなかろうか。 ※ 2024/3/12追記 コミュニティノートの、「追加の背景情報が必要ない理由を説明するノート」がうまくまわって、初期に見られた正義の暴走…

rinnaの画像対話モデルをUIで試す。あとGradioの練習。

おうちで日本語で画像を使った会話ができるようになりましたよ、ということで、試してみます。 rinna 画像対話モデル おとといrinnaから日英バイリンガルモデルが発表されました。 rinna、日英バイリンガル大規模言語モデルをオープンソースで公開|rinna株…