james

Oct 052012
 
English: Stream

English: Stream (Photo credit: Wikipedia)

While I am trying to round out the content management aspects of OokOok this year, I’m starting to think ahead to next year’s work on databases and processing. Part of the goal is to offer a platform that lets you take advantage of parallel processing without requiring that you be aware that you’re doing so. Of course, any such platform will be less powerful than hand-coding parallel code in C or using your favorite Hadoop library. Less powerful is better than not available. I want OokOok to make available capabilities that would otherwise be hidden away.

Map/reduce seem like the simplest way  to think about parallel processing. We have two kinds of operations: those that look at one item at a time (mappings), or those that have to see everything before they can finish their calculation (reductions). Reductions can get by seeing one item at a time if they can keep notes on a scratch pad. We could put operations then into two slightly different camps: those that need a scratch pad (reductions) and those that don’t (mappings).

Continue reading »

Declarative Perl

 Posted by at 7:40 pm  OokOok  No Responses »  Tagged with: , , ,
Sep 152012
 

I’m making rapid progress in getting OokOok to a stable programming scheme. I haven’t made a lot of changes in its capabilities, though I did add the ability to archive themes and projects as Bagit files yesterday, I’ve been working on making the important stuff declarative. By hiding all the details behind a veneer of relationships, I can fiddle with how I manage those relationships without having to touch every relationship every time I make a change in the underlying schemas (and schemes).

For those used to an older style of Perl programming, this might come as a surprise. For those who have dealt with things like MooseX::Declare and CatalystX::Declare, you’ll be shaking your head at my foolhardiness in jumping into making an OokOok:Declare that hides the details of how to construct certain types of classes.

Behind the scenes, OokOok consists of controllers, models, views, REST collections/resources, SQL result objects, a template engine, and tag libraries for the templates. Almost two hundred classes in all.

If I built all of these the usual Perl way, there’d be a lot of boilerplate code around. By moving to a declarative approach, I can isolate all the boilerplate in a few core meta-classes. When the boilerplate has to change, I only have to touch one place. Everything else comes along for the ride.

For the rest of this post, I want to walk through how I use some of these declarative constructions. I won’t get into the scary details of how to make declarative constructions in Perl (at least, not in this post).

Continue reading »

Aug 052012
 

OokOok is coming along nicely. It’s been a couple of months since the last update, so I’ll outline a bit of what I’ve done since the last post.  I’m nowhere near being able to throw up a demonstration server for anyone to play with, but I’m getting closer. With a little more testing, a reasonably decent administrative interface, some simple themes, and full authorization management, we’ll be good to go on a first demo. I’m aiming for the end of the year. I’m trying to think about what a good, simple demonstration project might be that is just text on-line. Perhaps a curated collection of creative-commons licensed works on a subject?

OokOok isn’t meant to do everything for everyone. I’m designing it with opinions. I think they are well researched and thought out opinions, but they are opinions. I hope the pros can outweigh the cons, but that’s something you’ll need to decide when considering which platform to use for your project.

I’m designing the system to enable citation, reproduction, sustainability, and description. You should be able to point someone at exactly the version of the page that you saw (citation), be able to see the same content each time you view that version of the page (reproduction), see that content “forever” (sustainability), and leverage computation through description (composing the rules) instead of prescription (composing the ways). I’ve based all the opinionated choices in the system on trying to meet the needs of those four “axioms.”

Continue reading »

Jun 072012
 

“Miscellaneous fancy work.” From the Project G...

“Miscellaneous fancy work.” From the Project Gutenberg eBook of Encyclopedia of Needlework. (Photo credit: SWANclothing)

Last week, I talked about the basic model I’m considering for managing static web content in a way that lets us find it based on when we looked at it. The idea is that if I want to cite something, I should be able to point at what I’m citing and know that someone else following my citations will see the same thing I did.

Today, I want to explore what it means for something to be citable.

I come from the sciences, where citation is a shorthand for bringing in a body of work that you don’t want to reproduce in your text. It’s like linking in a library in a program. You’re asserting that something is important to your argument and anyone can find out why they should believe it by following the citation. You don’t have to explain the reasoning behind what you’re referencing.

If you use citations to give shout outs to people in your field, then you don’t need what I’m thinking about. Readers understand that these citations are to remind them about the other people and their body of work, not the particular passage pointed to in the citation. The details aren’t important enough to look up.

I’m interested in the citations that people need to follow.

Continue reading »

The Editing Process

 Posted by at 2:27 pm  Writing  No Responses »  Tagged with: ,
Apr 192012
 

I’m almost half way to my goal of 150,000 words for my next novel. Given how it’s paced so far, I might need to aim for 200,000. However long the first draft ends up being, I intend to cut 20%. Hopefully, I’ll cut the worst 20%, leaving a fairly decent 80%.

I’m a process kind of guy. If I know that I’ll get to something later because of the process I’m going through, then I won’t worry about it now. I’m this way when I program, and I’m this way when I write. Processes can make it easier to get around the tendency to overlook things that we’re already familiar with. 

I’m planning on a twelve step process for editing based on the chapters in Self-Editing for Fiction Writers. The book is an excellent resource for anyone who wants to try their hand at editing their manuscript. You still might want to pass your work by someone else, but going through Self-Editing will make subsequent edits less painful.

Continue reading »

Going Digital

 Posted by at 10:12 am  Digital Humanities  No Responses »  Tagged with: , ,
Apr 122012
 

keystone 8mm model B8

keystone 8mm model B8 (Photo credit: B.S. Wise)

You might think that working in a digital humanities group would mean a lot less paper, but that’s not the case. I have a folder for each project I’m working on, each filled with papers showing things like milestones, budgets, and work plans. Every time I have a meeting about a project, I pull out the folder(s) related to it and go through the papers to catch up with where we are.

The problem with having everything on paper is that I have to be where the paper is. If I’m at home, I don’t have access to it. Same goes for the bus, or if I’m out-of-town. If I had everything digitized, or at least in some digital form, and available in the cloud, perhaps in Evernote, then I could use it anywhere, as long as I had wi-fi or cellular access.

What got me started thinking about this was the fact that in a few months, I’m going to have a 600 page (more or less) manuscript to edit. I don’t want to have to print it out and lug it around, or take sixty pages at a time with me on the bus. It wastes a lot of paper and is difficult to manage.
Continue reading »

Mar 292012
 

This image shows a technique that can be used ...

This image shows a technique that can be used to plot prime numbers in binary. (Photo credit: Wikipedia)

While eating breakfast this morning, I decided to finish watching “Will We Survive First Contact?,” an episode of Morgan Freeman’s Through the Wormhole, a nice series on Science that does a reasonable job of translating science into laymen’s terms without simplifying too much. This episode dealt with how we might know when we encountered alien communication. The topic of aliens was just a vehicle for talking about information theory. Topic modeling made its appearance, though no one called it that.

One of the segments talked about efforts to understand dolphins. The problem with all the languages we already know is that they all come from the human mind. Trying to understand a language developed by a non-human mind helps us know what problems might crop up when trying to understand a language not from Earth.

Continue reading »

Silent Rain Progress Report

 Posted by at 3:00 pm  Writing  No Responses »  Tagged with: ,
Mar 242012
 

The silent winter woods

The silent winter woods (Photo credit: Wikipedia)

I’m a quarter of the way through the first draft! I’m on schedule to finish the first draft by mid-June. Then, I’ll spend the rest of June and all of July editing. If that goes well, I’ll be formatting in August and publishing in September. I’ll be writing about the editing process as I go through it. For now, I do most of my writing on the weekends. Evenings can net me about 500 words. I had hoped to get a lot more written during our spring break, but the days we had off weren’t good for me. I did get other things done, and I’ve gotten back to some fast action, which is always easier to write.

If I divide the novel up into thirds, then we’re almost at a third. Only 12,500 words to go. That’s enough for about three more broad scenes or bits-of-things-happening. The reason this is important is because the first third of the novel needs to set up the overall problem, the second third needs to find the solution, and the last third needs to carry it out. There are always complications along the way, but that’s the big picture for me.

Continue reading »

Some Writing Observations

 Posted by at 11:59 am  Writing  No Responses »  Tagged with: ,
Mar 202012
 

The working title for my new novel is Silent Rain. When the novel opens, it’s already been raining non-stop for a week or two. The reservoir up river from Sherman’s family is overflowing and the dam is showing signs that it might go at any time. Pretty soon, it does collapse and all the water races downstream to wipe out the town below it. This sets off a series of events that finds Sherman searching for his family after he sees them get taken by an armed gang.

At this point, I have almost 31,000 words. Sherman hasn’t found his family yet, but he has an idea of where they might be. He’s run into a monster, scavenged for food, and escaped from someone. I think he’ll eventually meet up with the rest of his family, but it may be a little while. Or it might not. He’s about to open a door and explore a place where he might find them, eventually.

Continue reading »

An Adventure!

 Posted by at 4:01 pm  Digital Humanities, MITH  No Responses »  Tagged with: ,
Mar 152012
 

In my last post, I talked some about the need to look across projects and find common elements that could be factored out. I’d like to start a series of posts in which I talk about some of the work I’m doing at MITH in developing some foundational libraries that we are using to build digital humanities projects. Along the way, I’ll discuss some of the philosophy behind those libraries and our approach to the projects.

Today, I want to walk through the design of an example application I’m working on that implements the classic Adventure game as a JavaScript web application. I’m not finished with it yet, but the framework is there. I’m just adding content and tweaking some behavior now, such as handling darkness. You can go into the hut, pick up the key, and then go down and open the grate to get into the cave.

Continue reading »