Websites
--------

Other websites I maintain are:

* [Read Rust][readrust] -- an aggregator of news about the [Rust programming
  language][Rust].
* [Desktop Institute][desktop-institute] -- Documenting the search for a
  desktop environment that combines the, "it just works", nature of [GNOME] with
  the window management of [Awesome].
* [Bit Cannon][bitcannon] -- a blog that I designed and built with
  [Hugo] as a bit of an experiment, the exact nature of which is still
  evolving.
* [Linked List][linkedlist] -- "a semi-organized collection of knowledge
  that I have accumulated.", created as a reference for myself but also published
  publicly in the hope it may be useful to others as well. The code ([pkb])
  is open source.

[Awesome]: https://awesomewm.org/
[bitcannon]: https://bitcannon.net/
[desktop-institute]: https://desktop.institute/
[GNOME]: https://www.gnome.org/
[Hugo]: https://gohugo.io/
[readrust]: https://readrust.net/
[Rust]: https://www.rust-lang.org/

Open Source Projects
--------------------

I have a collection of open-source software on [GitHub] and [Sourcehut]. Some of the
more noteworthy projects are listed below.

[GitHub]: https://github.com/wezm
[Sourcehut]: https://git.sr.ht/~wezm/

### Read Rust

[Read Rust][readrust-git] is an aggregator of news related to the Rust programming language.
It is built with the [Cobalt] static site compiler along with some tools built
to make managing the content easier.

[readrust-git]: https://github.com/wezm/read-rust
[Cobalt]: http://cobalt-org.github.io/

### pkb

[pkb] is a personal knowledge base. It's a [Rails] application that allows you
to quickly publish snippets of knowledge. It powers
[linkedlist.org][linkedlist], which is my instance of pkb.

[pkb]: https://github.com/wezm/pkb
[Rails]: https://rubyonrails.org/
[linkedlist]: https://linkedlist.org/

### titlecase

[titlecase] is a command line tool and Rust crate that capitalizes English text
according to [a style defined by John Gruber][titlecase-style] for post titles
on his website [Daring Fireball]. titlecase runs on Linux, macOS, FreeBSD,
NetBSD, and Windows.

[titlecase]: https://github.com/wezm/titlecase
[Daring Fireball]: https://daringfireball.net/
[titlecase-style]: https://daringfireball.net/2008/05/title_case

### OCMustache

[OCMustache][ocmustache] brings the [Mustache templating language][mustache] to
Objective-C. The parser is built using the [Ragel State Machine
Compiler][ragel] in the hope that it will help ensure fast and correct parsing.

[ocmustache]: https://github.com/wezm/OCMustache
[mustache]: http://mustache.github.com/
[ragel]: http://www.complang.org/ragel/

### Weather Station

I previously had a weather station at my home for keeping track of the local
conditions.  I added support for [SQLite][sqlite] logging to [my
fork][open2300fork] of the [Open2300][open2300] project. The weather station
was connected to a Mac for data logging.  Every 5 minutes it logged the current
conditions, uploaded them to my server and invoked a [lua
program][weather-tools] to generate a [JSON][json] file, which was used to
produce the [Weather page][weather].

[sqlite]: http://www.sqlite.org/
[open2300]: http://www.lavrsen.dk/foswiki/bin/view/Open2300/WebHome
[open2300fork]: http://github.com/wezm/open2300
[weather]: /weather/
[json]: http://www.json.org/
[weather-tools]: http://github.com/wezm/weather-tools

See the following posts for more information on the weather station:

* [Weather Station Install](/personal/2010/09/weather-station/)
* [Weather Station Software Update](/technical/2010/09/weather-station-software/)

Old Apps
--------

* [SymbolMate][symbolmate] -- Quickly find and copy symbols and Emoji

[symbolmate]: https://binarytrance.com/apps/symbolmate