NetBSDからneocities.orgにウェブサイトを展開してみる

この記事は、NetBSD Advent Calendar 2024の25日目の記事です。

はじめに

NeoCitiesというウェブサイトのホスティングサービスがあります。 クラシックな感じな静的なファイルをホスティングしてくれるサービスですが、さすがにこの時代にftpでファイルを転送するというようなことはできません。 もちろん、ウェブサイトから操作できますが、使い勝手は良くありません。 ただし、APIがあるので、用意されている専用クライアントを使って、ファイルのアップロード等をすることができます。

これも、タイミングが悪くてpkgsrcにインポートできていないのですが、7月にはコミットしたいと思いますので、 使い方を書いておきたいと思います。

インストール

専用クライアントは、The Neocities CLIで公開されています。Rubyで書かれたクライアントです。 以下のようにインストールすれば良いでしょう。

# cd /usr/pkgsrc/www/ruby-neocities
# make install

私はpkgsrc/lang/ruby34からインストールしているRuby 3.4を使っていますので、 これで/usr/pkg/bin/neocities34コマンドがインストールできました。neocities34と実行すれば使い方は分かるでしょう。

おわりに

非常に遅れた最終日にふさわしい話題だったかどうかは不安ですが…。

NetBSDでEPUB形式の電子書籍を読んでみる

この記事は、NetBSD Advent Calendar 2024の24日目の記事です。

はじめに

EPUB形式の電子ファイルで、縦書きなものを読みたいと思います。 ですが、とりあえず既にインストールされていたpkgsrc/print/mupdfは、縦書きのEPUBファイルを正しく扱えないようです。 また、ルビ(よみがな)の扱いもうまく行かないようです。 pkgsrc/print/foliateであれば、縦書きも縦書きの時のよみがなの表示も正しいようです。 一部、扉ページの表示は正しくないようですが、本文を読むには支障はありません。

インストールと利用方法

以下のようにインストールをしたいと思います。

# cd /usr/pkgsrc/print/foliate
# make install

起動は、以下のようにします。 今回は、アジア諸国の現代文芸作品の日本語翻訳出版「アジアの現代文芸」シリーズからダウンロードできる 「ラオス現代文学選集」(ファイル名: rao_gendai.epub)を読んでみることにします。

$ foliate &

トラブル対処方法

私の環境も問題ですが、foliateがクラッシュして、再度起動させるとエラーが発生して再度正常に起動できないことがありました。 その原因が~/.config/glib-2.0/settings/keyfileというファイルが壊れている場合がありました。 常にこの原因とは限らないと思いますが…。

おわりに

NetBSDでも無事にEPUB形式の電子書籍ファイルを読むことができました。

NetBSDでClojure言語に入門してみる

この記事は、NetBSD Advent Calendar 2024の23日目の記事です。

はじめに

Java Virtual Machineで動く言語を使いたかったのですが、JavaもKotlinも何となく気が進まなかったので、Clojureを試そうとしてみました。

環境を設定する

もたもたしていて今日時点でpkgsrc/lang/clojure-leiningenはインポートできていませんが、LeiningenはClojureで開発する場合には必要なようです。 ですが、まずは、pkgsrc/lang/clojure-leiningenをインストールします。

# cd /usr/pkgsrc/lang/clojure-leiningen
# make install

以下のように実行してみましょう。 https://dev.classmethod.jp/articles/instaparse/を参考にしてみます。

$ mkdir ~/tmp
$ cd ~/tmp
$ lein new pj1
$ cd pj1
$ cat project.clj
(defproject insta "HEAD"
  :dependencies [[org.clojure/clojure "1.11.1"]
                 [instaparse "1.5.0"]]
  :main pj1.core)

$ cat src/pj1/core.clj
(ns pj1.core
  (:require [instaparse.core :as insta]))

(def as-and-bs
  (insta/parser
    "S = AB*
     AB = A B
     A = 'a'+
     B = 'b'+"))

(defn -main [& args]
  (print (as-and-bs "aaabbaabbb")))
$ lein run
[:S [:AB [:A a a a] [:B b b]] [:AB [:A a a] [:B b b b]]]

おわりに

NetBSD上のClojureで有用なプログラムを書くことができそうです。

Mozilla Thunderbird (pkgsrc/mail/thunderbird)でNetBSDからMatrix chatに参加してみる

この記事は、NetBSD Advent Calendar 2024の22日目の記事です。

はじめに

pkgsrc/mail/thunderbirdは現状では138.0.1です。 手元では139.0.2にしてあるので、以下のスクリーンショットは139.0.2のものになってしまいます。

私は、thunderbird-128.2.3から、Matrixチャットに参加するのに、pkgsrc/mail/thunderbirdを使っています。 WebRTCサポートが必要だったのかなという気がしているのですが、確認できてはいません。

参加するMatrixチャットを探す

NetBSD WikiにあるMatrixについてのページを見ると、 matrix.orgにあるNetBSDとpkgsrcの2つのチャネルが紹介されています。 これらに参加することにしたいと思います。

設定方法

Thunderbirdのメニューバーより、Editを選んで、その中のAccount Settingsを選択して開きます。+New Accountという青色のボタンをクリックします。 その中に、Chat accountを選択する、Chat Account Wizardのポップアップが開きます。 IRC、Matrix、Odnoklassniki、XMPPがchat networkの選択肢にあります。 今回はmatrix.orgに参加するので、Matrixを選びます。

次にユーザーとサーバー情報をを入力します。 もし、mnatrix.orgに一度もログインしたことがなければ、ユーザーIDもないと思います。 私自身がどうやってアカウントを作ったのか、以前のことなので覚えていませんが、今回は既に存在するものを使います。 アカウントがない場合には、https://account.matrix.org/registerから作ることができそうです。

次にパスワードを入力します。

Advanced Settingsの内容は、とりあえず使うには設定変更しないで構わないでしょう。 今回はそのままで次に進めます。

次に、Summaryが表示されたら、Connect this account now.のチェックボックスをオンにしてFiにボタンで完了させます。

Account Settingsで下図のように設定されていれば、問題ありません。

使ってみる

Thunderbirdのウィンドウに戻り、左端のチャットマークのアイコンをクリックすると、Chatタブを開くことができます。 私の場合にはIRCの設定さ既にされていますが、無視してください。

画面丈夫のJoin Chatボタンをクリックして、参加するroomを指定できます。 下図はNetBSD roomへの参加時の入力状況(#netbsd:netbsd.org)ですが、pkgsrc roomの場合は#pkgsrc:netbsd.orgになるだけで同様です。

以下のように表示されれば正しく設定できました。

おわりに

一番手軽かは分かりませんが、MatrixチャットにNetBSDから参加することができました。

NetBSDからneocities.orgにウェブサイトを展開してみる

この記事は、 NetBSD Advent Calendar 2024 の25日目の記事です。 はじめに NeoCities というウェブサイトのホスティングサービスがあります。 クラシックな感じな静的なファイルをホスティングしてくれるサービスですが、さすが...