Back Issues of the Oshkaabewis Native Journal

In my work at Bemidji State University, I recently helped Anton Treuer publish the Back Issues of the Oshkaabewis Native Journal of which he’s the editor.

Although published somewhat sporadically, the Journal has been in existence since 1990. It’s the oldest and (currently) only academic Ojibwe language journal. The Journal includes many Ojibwe stories with English translations and recent issues are accompanied by audio readings in Ojibwe. For a language learner, this is an incredible resource. The entire back catalog of the Journal, including dozens of mp3′s, is now published online. You can download all the content for free or order yourself printed copies from Lulu or Amazon.

I am impressed by Anton Treuer’s academic work and proud that Bemidji State is involved in this unique project. Treuer’s work is enriched by a deep understanding and personal experience with native peoples in and around Bemidji (and further afield). It was a privilege to assist him.

Full Disclosure: I am an employee of Bemidji State University. My views are my own and do not reflect those of the University.

Posted in web development | Leave a comment

Psalm 37:4-7

About a year ago, @SeamusMckeown and I composed a melody for Psalm 37:4-7.

Psalm 37:4-7

Delight yourself in the Lord;
And he shall give you the desires of your heart.

Commit your way unto the Lord;
Trust also in him; and he shall bring it to pass.

And he shall bring forth your righteousness as the light,
And your judgment as the noonday.

Rest in the Lord, and wait patiently for him:
Fret not yourself because of him who prospers in his way,
Because of the man who brings wicked devices to pass.

The recording is low-budget, using an iPhone held relatively near the guitar and my voice. It’s simple and I made mistakes, but I would rather give the melody legs than wait years to over-produce the song. There’s probably a sensible balance there, and your joining me on my journey finding it.

Posted in audio, bible | Leave a comment

Joost Grootens

I gotta say, it’s pretty often that Ace Jet 170 inspires me. Today I ran across a post about Joost Grootens and an issue of Eye mag that focused on his work. I decided that I had to have myself a copy of it too. One area of design that I’m most interested in is analytical design and it looks that Grootens has talent there. I might just have to pick one of his books. Any top recommendations? Here’s the video that Ace Jet included that got me inspired.

Posted in analytical design, art | Leave a comment

WordPress network on Dreamhost

WordPress, as of version 3.0, allows you to set up more than one site within the same installation. Each site uses the same core software and users can use the same credentials in all the sites they have access to across the network. Essentially, it allows you to set up a mini WordPress.com. Since I have a growing number of WordPress sites hosted at Dreamhost, I decided to set up a network of my own to reduce time upgrading and maintaining them and to simplify user management.

Also, I needed to move to secure (SSL encrypted) logins and admin areas. This is relatively easy to setup on a site-by-site basis, however, that would have meant a dedicated IP and SSL certificate for each site. With a WordPress network and domain mapping I can host websites at their own domain, but use one-centralized WP install, set of usernames and only one dedicated IP address and SSL certificate, securing all of the sites at the cost of one. Win-Win right?

I was a little wary of running the gauntlet and getting it all set up. Don’t be. It’s very easy, really. And you’ve got lots to gain by doing it. Here’s my instructions for getting a WP network set up on Dreamhost. The instructions would probably work on any other shared hosting with a couple changes. Let’s begin!

Things you’ll need

  1. A static, dedicated IP Address. (March 2011, costs $43.17 / year)
    This is required so that the mapped domains can default to your primary domain if the domain is not recognized. As a freebie it allows you to do secure logins and administration (highly recommended).
  2. Optionally, a yearly certificate. (March 2011, costs $15 / year)
    If you want to do secure login and administration and people other than you are accessing the system, having a legit certificate means that they don’t have to accept an ‘insecure’ certificate. The certificate from Dreamhost is cheap ($15) and means less fuss when people are using the admin area.

Step 1. Install WordPress

I’m assuming you’re familiar installing WordPress. If not, you can download the latest version and read installation instructions at WordPress.org.

Step 2. Setup the network

Follow the instructions on how to Create a Network. If, like me, you do not have a Dreamhost PS (Private Server), be sure to choose sub-directory type of network. This means that your primary site will be at example.com and the next sites would be at example.com/site2, example.com/site3 and so on. Without a Dreamhost PS you won’t be able to set up the sub-domain type network since it requires that Dreamhost manually add a wildcard apache directive, which they’re not wont to do for anyone, especially those without a PS account. A sub-directory network will actually work fine, you’ll just want to be installing a new site as your primary site, not converting a site that’s been round for more than a month as there could be collisions with the permalinks (there is a note about the reason for this in the link above). Since we’re planning on doing domain mapping anyway, sub-domains are not really necessary.

Step 3. Install the Domain Mapping Plugin

Installing WordPress MU Domain Mapping is relatively straightforward and there are lots of details about A and CNAME records on their site. You can go either way with A or CNAME records. I’m using A name records to get the mapping setup.

Step 4. Add the Static IP and (optionally) SSL Certificate

You need a dedicated IP address in order to get the network set up correctly. Without it, you can’t be guaranteed that your IP won’t change and you would also have issues with other domains on the same shared IP. The general idea is that WordPress will return the appropriate site if it recognizes the incoming domain name, if it doesn’t recognize it, then WP returns your primary site.

To add the static IP, login to the Dreamhost panel and go to your list of domains and click “Add IP” underneath the domain name. They’ll ask for some information and ask you to agree to the yearly or monthly charge. By default you’ll get a self-signed certificate which will make your site secure, but visitors will get an alert saying that the site is not trusted. To get a signed SSL certificate, you can purchase one from wherever you want, or from Dreamhost. Dreamhost’s is pretty cheap and no work at all to set up. As of March 2011, the signed certificate costs $15 / year.

After setting up the IP, you’ll want to make sure your primary domain’s DNS A record points to this new IP address. If you have the DNS for your primary domain hosted at Dreamhost you don’t have to worry about that.

Step 5. Mapping domain names

After you created a new (non-primary) site in your network, you’ll want to map that domain to the new WordPress site. In each site’s admin area under Tools you’ll find an option called Domain Mapping. That’s where you can enter the domain name so that WordPress knows about it.

You also have to edit the DNS for domain that you want to map and add an A record that points to your new static IP. Once the DNS propagates, WordPress should start responding for your new domain.

Update Otto has a good walkthrough setting up the Domain Mapping Plugin.

Step 6. Secure Login and Aministration

There are instructions on WordPress.org for setting up Administration over SSL. The conclusion is that you need to add the following lines to your wp-config.php file. Note that if the DNS change on your primary domain from a shared IP to a static IP hasn’t propagated, then this will lock up the admin area, so proceed accordingly.

[code]
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
[/code]

Posted in hacking, php, web development, wordpress | 5 Comments

Scotland’s West Coast – Places to Go

The west coast of Scotland is one of the most beautiful places in the world. The geography is bleak, stark, wind-swept. The people are few and far between, but are wonderful. Sheep abound. The West Coast embodies Scotland in perhaps it’s most distilled state. Here are some of my highlights from the West.


View Scotland’s West Coast in a larger map

Aviemore

Aviemore, in the heart of the Cairngorn National Park, though itself is not on the West Coast, is on the road to the west coast from the Northeast of Scotland, where I grew up. Aviemore seems like a mountain town, although at 748 feet you probably wouldn’t say it’s “in the mountains”. I’ve stayed at a pretty nice camp site on the shores (sandy even, though don’t think it’s warm) of nearby (15 min) Loch Morlich. Nearby are lots of hiking trails and nice views. You can also take a boat out on the Loch.

Fort William

Traveling Southwest from Aviemore you find Fort William. It serves as the hub for travel north and south on the west coast. If you’re coming from Glasgow or Edinburgh, Fort William serves as your gateway to the West Coast. I wouldn’t spend long in Fort William as the real gems of Scotland are on the wonderful coast!

Isle of Skye

Skye is perhaps the best known of the Scottish islands. It’s beautiful and there’s even a bridge to drive on to the island, saving you a ferry trip. You can’t miss Skye and should spend a couple nights there, driving around, visiting villages, going on walks. As a side note, there are tons of bed and breakfasts throughout Scotland and if you’re looking for a cultural experience, it would give you some close contact with the houses, lives, cuisine and personality of native Scots.

Isle of Mull

Mull is my recommendation for an island to go to that’s more off-the-beaten track. Perhaps one drawback is that you have to take a ferry to the Island, but perhaps that’s also a plus — it keeps out the riff-raff. When I was younger, my family spent a week or so driving around the Isle of Mull and I have some wonderful memories of narrow one-track roads, small towns, and a wilderness beauty that’s indelible.

Tobermory is the biggest town on the Isle of Mull. Since each house is painted a different color, it lends itself to pictures and so you’ll find pictures of Tobermory on many a Scottish calendar.

Also, off the southwest coast of the Isle of Mull is the little isle of Iona, which is about 3 miles in length and about half as narrow. You can take a small ferry to the isle from Mull. Iona was founded by St. Columba in exile from Scotland. Iona would be a great place to go if you wanted to get a taste of some of the rich history of Christianity in Scotland. Another island of a similar nature is the Isle of Lindisfarne (Holy Island), off the northeast coast of Scotland.

Mull of Kyntyre

The Mull of Kyntyre is quite remote, and made famous by a song written by Paul McCartney . It’s the southernmost tip of the Kintyre peninsula and there’s a awe-inspiring lighthouse on the edge of steep cliffs descending to the Irish Sea. I visited the lighthouse on one very foggy day. As we descended the footpath to the lighthouse, the fog dissipated and was quite surprised to find ourselves on hill above the lighthouse with a truly stunning view of the dark, grey sea.

—-

One can hardly mention all these beautiful places in Scotland without also admitting the England has its own most beautiful Lake District.

Posted in scotland, travel | Leave a comment

Published Benchmarks

I’ve begun a new resource that I’m calling Benchmarks. When I start learning about a new area or want to teach myself something my first plan of action is to find the resources in that area that define the landscape. Often these are books, but sometimes they can be blogs or other resources. My growing list of resources is I believe one of the most valuable results (apart from my own learning). These resources are like great teachers and dear friends. I hope they’re of at least a fraction of the use they are to me — if so, I’d be pleased.

My Benchmarks is still a work in progress and will remain so as long as I’m learning. Go on, have a look!

Posted in Uncategorized | Leave a comment

How to find a cover image for a book with an ISBN

Searching yielded the following options.

  1. OpenLibrary’s Cover API
  2. ISBNdb.com
  3. Amazon Product Advertising API
  4. Google Book API

Open Library Cover APIIt took me a while to find OpenLibrary’s Cover API, but it’s by far the best for my purposes. The following are my reasons for not choosing the others.

  • ISBNdb.com doesn’t actually provide the cover image. They have a useful API for finding out more information about a given ISBN, but not the cover image.
  • Amazon’s serving of images for this purpose seems against their License Agreement. It even seems that in order to be incompliance with the license, one cannot make any public communication about the license or your use of the service. (“You will not issue any press release or make any other public communication with respect to this License Agreement or your use of the Product Advertising API, Data Feed, or Product Advertising Content.”)
  • Google’s Book API has a number of required branding guidelines.

Hat tip to jrochkind of Bibliographic Wilderness for the following articles which lead me to OpenLibrary’s Cover API.

I’ll provide a link to my usage of it, once that site goes live.

Update November 2011: In January 2011 I launched a new website for the Bemidji State University Library. The New Books section uses the OpenLibrary covers where they exist. Unfortunately OpenLibrary doesn’t have covers for a lot of books, but on the positive side, you can easily contribute a cover for a book that doesn’t have one – getting one for yourself and contributing to the good of everyone.

Posted in web development | Leave a comment

Presentation: WordPress Off Road

Here are the slides from my presentation at WordCamp Minneapolis / St. Paul, 2010.

I talked about a PHP class I wrote called wp_posts, how to update options across multiple WordPress sites in a WordPress multisite installation, and how to get LDAP authentication for multisite WordPress up and rolling.

Posted in php, speaking, web development, wordpress | Leave a comment

First Steps with Google App Engine

I’ve been researching about Google App Engine recently. Google App Engine provides free web app hosting in the cloud. You can host either Python or Java apps. Once the app is in the the system you have an allotment of free usage and pay (it seems pretty reasonable) when you go over that. I’ve found the system to be really smooth for development and deployment. As a web programmer, it allows you to focus your efforts on writing great code.

My experience is still very limited with GAE. I went through a basic tutorial and put together a basic password generator. It’s really fun to get back to writing python code. My day job is mostly writing PHP/MySQL and it feels refreshing to be programming in python (I feel a much cleaner language) and using a MVC framework.

Since I use a Mac on a daily basis I used the Goolge App Engine Launcher which makes it a synch to start a project, test it in development mode and then deploy to the Google cloud with a single click. Things couldn’t be easier.

By using python on GAE you have limitless options for frameworks. You can use Google’s webapp which is apparently open soure (and possible to host on your own server if you wish). Also, you can use django (version 0.96 is already included in the framework) or any other python WSGI-enabled web framwork like CherryPy, Pylons, webpy, and so on.

One of the major differences about using GAE is that you have to use the Google Datastore, a non-relational database, for all your storage needs. The python API for the Datastore is really nice and succint, however it is a mindset shift when coming from a relational DB background. Although I haven’t yet built a fully-fledged web application, my sense is that the limitations will require you to think differently, but won’t make things impossible. Clearly, Google has found that this is an efficient way to store data for the web and it seems to be working very well for them.

To get started, I read What is App Engine, and then followed the Python Getting Started guide and tutorial.

Here’s some resources I’ve ran across so far.

Documentation:

Posted in web development | Leave a comment

Speaking at WordCamp MSP, 2010

I’m going to be speaking at WordCamp Minneapolis 2010 on November 13.

My presentation is titled WordPress Off Road. I’m going to talk about integrating WordPress with a multi-faceted (non-WordPress) website. I will be introducing a PHP class called wp_posts for exporting WordPress posts, scripts I’ve developed for maintaining multi-site WordPresses and experiences setting up LDAP authentication.

Register now – I look forward to seeing you there!

Posted in php, speaking, web development, wordpress | Leave a comment
+