Technology and religion
filed under: benjamin, effectiveness, geek, kristina, lent, liam, life, netbsd, perl, pictures, pkgsrc, programming, rainskit.com, religion, reviews, tagging, tru_tags, vegetarian
57 days ago
This website
The plugin that provided the email notification feature for this website broke with a recent update to my blog software, and it’s not going to be easy to fix. So I’m not going to fix it.
Of course, that means that the affected people aren’t going to hear that they’re affected. Sorry about that! (I’ll tell personally the few I know.)
In fact, I’m likely to switch to ikiwiki …eventually. Textpattern seems to have lost its mojo, and there have been some long-standing issues with it (like no native tagging support!) that seem unlikely to ever get fixed. And I’m hip to the cool technologies now, so a more infrastructure-like framework (i.e. ikiwiki, with git) for my blog feels like a better answer. And schmonz volunteered to do most of the work :)
That also means I’ll probably abandon tru_tags …more than I already have. There hasn’t been anything to do with it in a long while, at least not that I felt was worthwhile to be done. Most of the features that remain to be implemented require a major refactoring of the core Textpattern code, and that just seems very unlikely to happen (by me or anybody else) any time soon. So hopefully it will remain useful to the people who still use it.
This year’s Lent
I have utterly failed at this year’s Lent give-up. I have been better at going to bed at a reasonable hour, sometimes for days at a time. But I simply can’t do everything I need/want to do in my life with the few hours that leaves me between work, kids, and chores. So sleep will continue to lose to projects – although less-so than it used to. There are some nice perks to getting more sleep – I’m much more on-the-ball and willing to take on mental tasks that otherwise seem hard. But that extra value doesn’t offset the lost value from just not being able to do all the things I need to do.
Vegetarianism
Speaking of Lent, I also broke a 5-year streak of vegetarianism a week or so ago. Benjamin, Liam, and I had some extremely delicious tilapia, also breaking both boys’ life-long vegetarian streaks. Kristina chose not to participate.
We had a bunch of reasons for deciding to do it. And a bunch of reasons to not do it (i.e. to stay vegetarian). I may blog about all the tradeoffs some day soon, but for now, suffice it to say that it was a very close decision, and I’m not sure what’s next.
I made a web app!
If you recall, I started using SmugMug for my online gallery a few years ago. But when I made the switch, I left behind an old gallery site (on Menalto Gallery 1) that I’ve been meaning to clean up for a long time. It broke a while ago, motivating me to finally migrate off that old software – to ZenPhoto, which had been my long-standing plan. It took a few days getting ZenPhoto to work (when it should have been easy!), but I got it there, and I shut off the old site.
I also started this exchange with the ZenPhoto dev in which I start by being too grumpy and then he finished by insisting that his software simply must be unsupportable for him to support it. Net effect: I had to get off ZenPhoto.
But I had no alternate destination for self-hosting my images. My long-term goal is to migrate the images to SmugMug, but I want to filter them down from “every picture I took during that time period” to “just the best ones, tagged and rated” (like all the other pictures I post to SmugMug). And it will take Nathan-weeks of work to get that done, so it keeps getting put off. So in the short term I just needed a new self-hosting product, and there just aren’t any good alternatives. They’re all either old or ugly or badly designed or some combination of those three.
So I made one myself. I’ve never made a web app from scratch before, but I am quite comfortable in perl, had used Catalyst from a prior job, and I’d heard then that Mojolicious is better. So I tried it.
And wow, was it easy. Probably 8 hours total from “install mojolicious” to “the gallery is up and running on the new software”. That’s only just a little more than I spent trying to get ZenPhoto to work. Many kudos to Mojolicious, perl, and pkgsrc.
Now… ZenPhoto does way more stuff. (TONS more… too much, actually.) And this new software isn’t really ready for someone else to use it. And it has no tests. And it only does one extremely simple thing (i.e. serve nested directories of images, in name-sorted order, with no metadata).
But the code is small, easy to read, and easy to modify. (Roughly 300 lines of code, 115 lines of CSS, and 80 lines of HTML template.) The site looks really good (in my opinion). And it doesn’t require a database – just a directory full of images. And with some app-level caching and the help of Mojolicious’s preforking web server and great documentation for setting it up under apache mod_proxy, it’s about as fast is it could possibly be on my old host and slow network connection.
So ZenPhoto is out and my home-grown software is in. Here’s hoping it doesn’t need maintenance!
Add a comment [1]
The long-overdue "I know what I did last summer" post
filed under: dogs, driving, family, geek, kristina, lent, life, motorcycle, politics, rainskit.com, truist.com, tru_tags, vegetarian
1628 days ago
Wow, according to my last post, it’s been 144 days since I blogged. Too long, but it’s a sign of how busy life has been. I’m going to use this post just to catch up quickly, then future posts will hopefully be more insightful:
- I’m still a vegetarian
- The new job is good (and I was promoted!), but time-intensive
- The dogs are awesome
- Buying the Honda Element was very much the right decision – it is perfect for the dogs and for Kristina’s plant (and dirt!) hauling
- The new house is great
- I did buy that motorcycle I had my eye on (and I love it!)
- I sold my domain (truist.com) and replaced it with the one you see before you (rainskit.com). (And truist.com now has some very interesting content. But it’s a dumb name for a company.)
- We all finally hired the right president
But of course, all of that put a ton of stress on my life and my wife, and we are still trying to recover from it. Speaking of which, she (my wife) also:
- Turned 30, and got through a party that I think she would have preferred to delay
- Took care of the dogs while I was traveling
- Worked an internship
- Took over as president of Pi Alpha Xi at OSU, and has had a stellar experience
- Took a full load of classes this fall
Regular life things also happened. I’m sure I’ve forgotten many of them, but notable items include:
- Discovered Pistacia Vera, an absolutely life-changing “dessert botique” (in Columbus!), that we now go to every weekend
- Found DropBox and Carbonite, which are similar services that finally make file sharing and backup (respectively) just work the way they should have all along
- Found Woot and its associated sites and got addicted; we’ve probably ordered 10 things from them so far
- Amitai visited and during that visit, I bought a first-gen iPhone and hacked it to work with T-Mobile. (I love it!)
- Had a very good Thanksgiving at my dad’s house, at which we learned some great news (that isn’t quite yet public)
- Released two new versions of tru_tags, and used one of those releases to make this site’s archive page
So anyhow, it’s been really busy, and many parts of our life have fallen behind where we’d like them to be. The busyness hasn’t really been a problem… it’s just prevented us from doing other things we might want to be doing. I think our priorities are in the right place, though – I’m doing what I love, and Kristina is working toward a new life where she gets to do what she loves. I think that’s how things are supposed to be.
Welcome to rainskit.com!
filed under: rainskit.com, truist.com, tru_tags
1784 days ago
Today marks the beginning of rainskit.com – welcome! It looks a lot like that other site, truist.com… but actually, it’s totally different. See, you have to type R-A-I-N-S-K-I-T now instead of T-R-U-I-S-T. I keep getting that all wrong. I’m sure I’ll get used to it eventually.
I think everything has been moved over – email, web, other sites I host, other email addresses, redirects, telling every company on the planet not to use my old email address, etc. If you spot something that still says “truist.com” and looks like it’s an accident, please let me know. (Note that I left the truist.com tag on a few posts, intentionally.)
If you are following the RSS feed and/or are subscribed to the email list – you need to update your URLs and/or resubscribe to the emails. I’ve made the email service much more reliable and much easier to use, by hosting it myself. Just wander over to the sidebar, find the section titled “Subscribe” with the text field that says “email” and type your email address in. Hit enter. That’s it, you’re subscribed. I still need to work out a few improvements to the email service, but for now, that will ensure that you hear about each new post. The best way to follow this blog, though, is still through the RSS or Atom feeds.
The planned transfer of truist.com to its new owner will be Tuesday evening (-ish). It looks like google has already recognized rainskit and is starting to find the new home of tru_tags, but it’s lagging a little behind on finding the new home of Nathan Arthur. Hopefully they will figure it all out before Tuesday :)
New "archive" page
filed under: programming, rainskit.com, tagging, tru_tags, usability
1814 days ago
I’m working on the next version of tru_tags and one of its major features is the ability to create a tag-based archive page, like this one. After implementing the feature, I tried it out, and I liked it so much that I decided to use it on this site. Specifically, I removed the old “About” page, merged some of that content into the “Links” page (and generally edited that page), and put the “Archive” page in where the About page used to be.
This should all make sense if you look at the menu links at the top of the site. For those of you reading this via the feed – click here to see it.
It’s a really interesting page to browse through – I find it strangely fascinating to see so clearly all the articles I’ve written, and how they clump together. I’ve also used it a few times as a faster way to get to a specific page. It’s somehow more powerful than the normal tag cloud, functionally and emotionally, and that surprises me.
Or maybe it’s just late :)
Add a comment [3]
tru_tags: Releases
filed under: geek, tagging, textpattern, tru_tags
2021 days ago
To learn more about tru_tags, check out the other tru_tags articles on this site.
Current Release
tru_tags 3.7 (for TXP 4.0.7 and above (including 4.2.0)) (download)
This release includes two major things:
- a change to the way URLs are encode for “tags with spaces” and “tags-with-hyphens” and “tags+with+plusses” and “tags that-mix+them”. See this commit message for a great explanation of the problem and the fix.
- a performance improvement as suggested by whocarez on the forums
tru_tags: Usage instructions
filed under: geek, tagging, textpattern, tru_tags
2021 days ago
To learn more about tru_tags, check out the other tru_tags articles on this site.
Installation
- Go to the releases page to get the latest release. Don’t save it – just open it in your browser.
- Scroll down a slight bit and follow the on-page instructions: copy/paste the big square block of characters into your Textpattern install, under admin -> plugins.
- Hit “Upload”.
- Remember to switch the plugin to “Active” in the plugin list.
- You can find help text for the plugin by clicking the “help” link in the plugin list.
Configuration
Step 1: Click the “read more” link :)
tru_tags: Feature list
filed under: geek, tagging, textpattern, tru_tags
2021 days ago
To learn more about tru_tags, check out the other tru_tags articles on this site.
Core features
- Tag any article with an unlimited number of tags
- List all the tags associated with an article
- Generate a tag cloud or simple tag list
- Search for all articles tagged with a given tag
- Clean URLs and
rel="tag"support without mod_rewrite or .htaccess modifications - RSS and Atom support
- Support for creating a tag-based archive page
- Clickable list of tags in the ‘Write’ page of the Textpattern admin
- Admin-side configurability
- Admin-side tag maintenance and redirection tools
- Tag links can go to external sites or alternate locations
- Show a cloud of “related tags” in the search results page
- Tag-based archive pages (like this one)
- Designed with site security in mind
- Clean, readable code
Advanced features
Adding tags to an article:
- Tags can be multi-word, with spaces. (use commas to separate tags)
Listing tags for an article:
- Supports standard textpattern attributes like
wraptag/break/class/ etc. (the defaultbreakis a comma) - Don’t have to generate links when showing tags
- Can render article tags as a mini-cloud, including sorting and advanced cloud features
Tag cloud:
- Supports standard textpattern attributes like
wraptag/break/class/ etc. (the defaultbreakis a comma) - Can filter a cloud to only show tags from specific sections
- Can exclude specific sections from the cloud
- Cloud automatically filters out future-dated articles and non-published articles
- Uses percentages for font sizes, so the cloud can be in any container, with fonts of any specified size
- Can specify min and max percentage sizes
- Can show the number of times a tag has been used, after the link or in the
titleattribute - Don’t have to generate links when showing tags
- Tags have the
classattribute set in various ways, so you can take complete control over tag styling - Infrequently (or frequently) used tags can be hidden
- Can sort the cloud by tag frequency (ascending or descending)
- Can limit the cloud to a max of ‘N’ tags, with the ability to keep only the most-used tags or a random set (weighted by frequency)
Tag search:
- Site admins can put the name of the tag currently being searched into titlebars or links to external sites (this is careful about scripting attacks)
- A handy txp tag (
tru_tags_search_parameter) to return whatever the user typed into Textpattern’s search field (this is careful about scripting attacks) - Renders search results just like the standard article list does. This means you have complete control over the tag search output formatting, and that it supports standard features like article excerpts, override forms, etc.
- Customizable support for standard 404 pages
RSS / Atom feeds:
- Includes article tags in the RSS and Atom feeds (which means that Technorati will correctly identify articles)
- Can include article tags in the feed body
- Can customise the feed body to change the look of the tags, and/or to add extra items to the feed
Admin-side:
- A few fancy javascript tricks to make it easy to use
- List can be turned off or styled using CSS (and another plugin) if there are too many tags
Known issues (in the latest release)
- tru_tags must use the Keywords field, and cannot use a custom field
- No support for multiple tags at once (e.g. “life AND books”) tag search (but see this post for possibilities)
- The tag cloud can be limited to just show tags from one section, but when you click a tag link from the cloud it shows articles from all sections
- The tag search doesn’t support pagination. (It will show all the articles associated with a particular tag, no matter how many there are.)
Add a comment [9]
tru_tags: Roadmap
filed under: geek, tagging, textpattern, tru_tags
2021 days ago
To learn more about tru_tags, check out the other tru_tags articles on this site.
This post contains an up-to-date list of all the (as-yet-unimplemented) feature requests that I’m aware of, with a rough indication of the order that I plan to implement them. If you have additional feature requests or want to suggest reprioritization of one of the features below, please add a post to the forum thread for this plugin. I’ll see it and update this page, and others will see the request also.
Group 1
- Fix txp:older and txp:newer, and the broken
limitattribute - Make txp:page_url work with tru_tags clean urls (see the forum post)
- Add
texttransform="capfirst"totru_tags_tag_parameter(see forum post) - Make it possible to show a tag list in a popup (option/value) (see forum post)
Group 2
- Limit cloud to tags from X recent articles, or within X time period
- Order list by (oldest? newest?) article date
- Color tags by age (of most recent article)
Group 3
- Related article list (for a single article), based on number-of-matching-tags
- Filter by section / category
- Second-level sorting by date?
- Limit cloud to a specific category
Group 4
- Multi-tag search (tag1 + tag2)
- General boolean logic ((tag1 or tag2) and tag3)
Group 5
- Grouped index of tags – by section, category, alphabetical, etc
- show articles for each tag?
- single page per group
- show tags (on the admin side) based on the category/section chosen
- see Markus’s forum post about it
- Grouping related keywords (admin-side)
- Grouped-tag search (public side)
- Color tags by category / section
Group 6
- Move admin-side tag cloud to a better location (for big clouds)
- Auto-complete typing in the Keywords field (admin-side)
Group “eventually”
- mintagcount / maxtagcount, but based on percentages
- Show a “related” cloud for general search-result pages (or other custom-generated article lists)
- “There are [x] posts tagged: [tag_name]”
- Alphabetical listing of articles in tag search result
- Figure out Markus’s ideas about tagging, from the “Pivot” site (see forum post)
- Sub-tags
Group “depends on the next release of Textpattern”
- RSS feeds for individual tags
tru_tags is semi-official!
filed under: tagging, textpattern, tru_tags
2388 days ago
I’m proud to say that tru_tags is the tagging plugin of choice over on Textpattern Resources v2 (a.k.a. textpattern.org). That makes it the preferred tag plugin of at least one of the Textpattern developers, and puts it in the spotlight on an official Textpattern site.
Check out the gorgeous tag cloud and the post describing the use of tru_tags.
Woohoo!
Add a comment [3]
Massive (paid-for!) update to tru_tags
filed under: business, geek, tagging, tru_tags
2505 days ago
I’m pleased to announce the public release of tru_tags v1.8, sponsored by Simon Finch, a consultant / web developer in the U.K.
This release of tru_tags contains two new features: a new type of tag cloud and the ability for article tags to render as a mini-cloud. I also massively refactored and condensed the code, making it much easier to read/understand and hopefully much easier to maintain.
The first new feature can be seen by clicking one of the links in my tag cloud (over in the sidebar). On the resulting page, you’ll see that a second cloud appears (in the sidebar) under the heading “Related Tags”. It is showing you all the tags that are related to the tag you clicked on.
I mentioned that this version was sponsored by Simon Finch, and it’s true – he paid for these specific features, because he needed them for a consulting project he was working on. That has me excited in all sorts of ways:
- My plugin is being used in the real world (in an online store!)
- Work that I originally did for my own benefit is now helping others
- I’m earning income that is derived from that original work
- I’m earning income from open-source software!
As usual, you can download this version from the announcement page and you can find out how to use it on the instructions page.
(For those of you waiting for other features, they’ll be coming soon in a v1.9. I wanted to get v1.8 out the door with just the features for Simon, so I’ve had to delay the rest of these.)
Thanks, Simon!
Add a comment [1]
tru_tags: A tagging plugin for Textpattern
filed under: geek, rainskit.com, tagging, textpattern, tru_tags
2637 days ago
When I first created this blog I wanted it to have tagging support, which doesn’t come built into Textpattern (my blog software). At the time (Christmas 2005), tagging plugins for Textpattern were virtually nonexistent. Hunting around the web, I found ran_tags, chh_keywords, rss_unlimited_categories, and ajw_technorati_tags. They were all unworkable for me, because of bugs or complexity or feature-set, so I was left without tagging support.
So I wrote my own, based on ran_tags. I published it on the textpattern forums and subsequently released about a dozen new versions, each with new features to make it more powerful and/or easier to use. The plugin has seen a lot of adoption, and seems to be popular among the textpattern community. You can see it in use on this site.
It’s written with ease-of-use, simplicity, and security in mind, and it has a very rich feature set. To learn more, please check out the features list. There is one (potential) downside for some users, though. To help keep the code simple, I call out to the Textpattern code to actually do the tag search. That means that articles can only be tagged via the Keywords field, rather than using a custom field. Some people use the keywords field for other purposes, so they can’t use tru_tags. There are also a few other minor annoyances documented on the features page.
tru_tags can be downloaded from the releases page, and you can learn to use it by reading the detailed usage instructions. If you have questions, please post comments to any of these articles, or in the forum, and I’ll get back to you quickly.
Enjoy!
Add a comment [46]
