Do you want better gravy than you had last year? It's not too late to begin tonight.
The first step is to make dark turkey stock from scratch instead of using canned chicken broth. Yes, from scratch. You expected otherwise from this blog? Go to your favorite market or butcher and acquire turkey necks and backs, preferably from natural, free-ranging birds. One of each, minimum, for every 3 cups of the final stock. Then get a big bottle of interesting beer – something like Dogfish Head Theobroma or The Reverend from Left Hand Brewing. It's for you, not the stock. Let's presume you have carrots, celery, onion, white wine, sea salt, whole fresh peppercorns, bay leaves, thyme, parsley.
Open the beer and pour it into a large clean glass. Toss the turkey parts and chopped vegetables with a bit of canola oil and roast, in a pan in the oven, or in a skillet on the stove-top, turning several times, until everything is nicely browned and sticking to the metal. This sticky goo is called the "fond" and you want it like Gollum wants his precious. Go slow if you're new to this, you have a beer for refreshment. Don't burn the precious!
Transfer the browned chunks into a pot. Pour off oil and fat rendered from the bird parts. Don't lose the priceless fond, you want to deglaze it from the pan or skillet using half a cup of white wine, heat, and a wooden spoon or spatula. Transfer the wine and fond to the stock pot, add water to cover, and bring to a simmer. Do not boil the stock. Over the next 30 minutes, skim the scum that rises to the top as you savor your beer. Afterwards, add ground pepper, a bit of salt (mainly to assist the chemistry, you'll salt to taste on T-Day), thyme and parsely sprigs, and leave it simmering (not boiling) alone for an hour and a half while you tidy up the kitchen. Hopefully, you've paced yourself or had the foresight to get 2 beers.
Since you didn't do this on the weekend and are, like me, short of time in the evenings, do a quick wrap-up tonight and finish in the morning. Strain the stock into another pot or ceramic bowl, something you can cover, and set it to chill it overnight. Tomorrow morning, disturbing the settled solids as little as possible, spoon congealed fat off the top (at least 90% of it), and ladle it into a container suitable for freezing. Don't sweat a little cloudiness, you won't notice when it's made into gravy.
To seal the deal on T-Day itself, it's important to have a degreasing cup because the only thing worse than vendor lock-in is greasy gravy. Go get one over the next few days. The larger the better. It's like a measuring cup with a spout coming off the bottom. Pour in a greasy liquid mix, the fat rises to the top, and you carefully pour fat-free liquid from the bottom. Better gravy requires just the right amount of fat and no more. Your grandmother knew this. (Note: if your grandmother is making the gravy this year, disregard this post and just give her a hug and make sure that her beer glass stays full.)
After roasting your turkey, you'll have in the pan several cups of fatty juices and another marvellous layer of precious, precious fond. Spoon off a tablespoon of clear fat for each cup of dark turkey stock. Then add white wine to the pan, heat, and scrape up the fond. It is these resulting juices that you will carefully degrease using your new cup. Bring the turkey stock to a simmer in a saucepan and refill your beer glass.
While the juices are separating in the degreasing cup, make a roux with 4 tablespoons of flour to each 3 tablespoons of clear turkey fat. Stir together over medium heat in a pan. This frying step, without any water, lets the flour absorb fat and will help prevent lumps in the final product. It should bubble, and turn a nice light brown color. Roux is an interesting form of matter; the Cajuns are supposed to have as many kinds of roux as the Inuit do kinds of snow. Let it cool a bit so that it doesn't splatter when you add the stock and whisk the stock in, briskly, a bit at a time. Now added the degreased juices and bring it to a simmer, adjusting the salt and pepper. What ever you do, don't add more flour: thicken it via evaporation if you must. I've seen people try to thicken thin gravy by addition of "Freedom Roux" (flour and water), but you can avoid that by getting the roux right from the start, French style.
Bring it to the table hot, in a classy gravy boat, and indulge.
Curation of digital projects and media seems to be in my future. I'm not a repository critter of any kind, and have much to learn, but I know for certain what kind of architecture I want to use. Take the indexable, mashable feed (Atom, naturally) representations of collections that Leslie Carr writes about, pair with upload of Atom-wrapped items to the same collections ala SWORD, and then add hypertext-constrained methods for item and metadata modification and deletion. In a word: AtomPub. Less like EPrints, DSpace, or Fedora; more like Google's data APIs, more like what Peter Keane is doing with DASe. Why not?
If I were superstitious, I wouldn't post a link to http://pypi.python.org/pypi/Shapely/1.0.11. Tests pass, the release candidate checked out, it's good to go. There's a Windows installer (containing GEOS 3.0.0) as well as generic sdist.
GEOS 3.1 is now on the horizon. The next minor version of Shapely – presuming all its users haven't been shed – will use prepared geometries to make iterative operations rip, and we'll continue to refactor and improve the code. Integration with Numpy is not as efficient as it could be, and I'd like to switch to a cleaner implementation of memoization using a decorator. I've been asked if there will ever be a version of Shapely that works with Google's App Engine. Unless Google builds GEOS (or something like it that could be accessed through ctypes) into the environment, such a thing would require rather a lot of Python programming. I suspect an automated translation of JTS from Java to Python would produce sub-optimal code. In other words: doubtful, but patches are gratefully accepted.
Yesterday, I received in the mail my grandfather's cloth escape maps of France, Holland, Belgium, Luxembourg, and Germany. He flew a Piper Cub for the US Army, mainly shuttling brass between England and France. Never used, the maps went from a pocket in his jacket to an envelope in a foot locker; they're in great condition.
Above is a 1:2,000,000 scale map entitled "Zones of France", second edition, and dated "MAR 44". Silk or rayon. I know little about the origins of this one.
It features 4 hand-drawn "placemarks" South of Cherbourg. Positions of forces? Airfields supplied with beer?
I'll be having these framed soon.
Well, let's try that again: http://pypi.python.org/pypi/Shapely/1.0.10. Somewhere along the way I became too lax about testing compatibility with GEOS 2.2.3, and it was broken in the 1.0.8 release. I've mentioned before how handily zc.buildout makes isolated repeatable environments, and am now using this one with GEOS 2.2.3.
Upload of Windows installers to PyPI seems to be broken at the moment. The 1.0.8 installer bundles GEOS 3.0 and remains free of the recent problem: http://pypi.python.org/packages/2.5/S/Shapely/Shapely-1.0.8.win32.exe.
Shapely 1.0.9 works with a MacPorts libgeos. No need to upgrade otherwise.
The GeoJSON working group chose to omit links from the specification (outside of coordinate reference systems). In conclusion, GeoJSON 1.0 is not a hypermedia format. Without links there are no levers of application state to be seized, no hypertext constraint, and therefore no REST.
Consider, as an example of a hypermedia format, Atom and extensions in AtomPub: "alternate", "related", "self", and "edit" links are designed to satisfy REST's hypertext constraint and permit hypertext to be used as the engine of application state. Without links of the edit kind (especially), HTTP Geo-CRUD protocols using GeoJSON couple clients and servers together, an undesirable property in a system like the Web. This is not to say that coupling is going to kill your applications, just that the components don't have much freedom to evolve (think migrate or upgrade) separately.
Are there any good linking options for JSON? Subbu Allamaraju explores that question here and here and floats an object not unlike the only link example in GeoJSON. Both are inspired by atom:link and HTML's link.
Should GeoJSON become a hypermedia format? I don't know the answer to that, but I think it's more likely that GeoJSON geometry (and maybe feature) objects will find their way into other yet-to-emerge JSON-based media types.
A book excerpt meme is propagating through Python blogs. Why not?
If it should become necessary to reconsider the whole matter
William Strunk Jr. and E. B. White, The Elements of Style, 4th edition. The phrase demonstrates how to recast awkward usage of a possessive participle. I reread this book about once a season in my never-ending quest to suck less as a writer.
The viral part:
Grab the nearest book.
Open it to page 56.
Find the fifth sentence.
Post the text of the sentence in your journal along with these instructions.
Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.