Almost exactly a year ago I posted a piece here about hiking out onto the Pequest Fill, perhaps the greatest mound of dirt and rock ever pushed up in one place by the hand of man. The so-called “Lackawanna Cut-off” that rode the top of that long dike provided the Delaware, Lackawanna, and Western Railroad with a straight, 70 MPH shot across the heavily wooded, steeply ridged terrain of northwestern New Jersey. That meant steam locomotives pulling long trains filled with the rich resources of the west would no longer have to follow the circuitous “old route” with its crumbling, single-tracked tunnel at Oxford. If that goal required burying an entire river valley, well this was the age of progress. On with it!
Features
Various things I’ve written that are longer than a post
A Walk on the Pequest Fill
County route 517 leaves Hackettstown, NJ as High Street, heading north. Not far past the huge Mars candy plant on the outskirts of town the road lifts itself up and over the shoulder of Allamuchy Mt., and then it is just 517, the road to Andover and Sparta. As you drive northward past the little crossroads town of Allamuchy,sheltering in the shadow of two highways and what is really a large hill, a broad valley opens up on your left. It is typical northern New Jersey farmland, rolling and rich, stitched into quilted patterns by old stone walls, bits of forest, and wandering streams. This is the valley of the Pequest River, which has its start in Stickles Pond high on the slopes of Wawayanda, where they call it a creek. Down here in Warren County it is a river, whatever those Sussexers might say.
Playing With Blocks: Episode 4
Last time out I introduced the DragHandle class, a small control that can be placed on a Canvas and moved around with the mouse. DragHandle is meant to provide one of the building blocks of shape editing in an application I have been working on. I ended that post with the DragHandle built and working, but still requiring quite a bit of plumbing to do what it was designed for: affect properties of shapes. In this post I’m going to show you the class that provides the rest of the mechanism for dragging objects: the DragHandleConnector. After that I am probably going to take a break and actually write some more code. As with the previous post I have linked the source file(s) at the bottom. I am not going to distributed binaries on these because they are part of larger libraries that I am not ready to publish, but you can easily build the control and supporting classes from the source files.
Playing with Blocks: Episode 3
In my last post on the Silverlight drawing project I said I was going to stay away from the design and talk about code next. Quite a bit has changed, though, since then. For one thing the DrawStylus class has fallen victim to shrinking relevance and has been removed. The operations I initially envisioned for it kept leaping to other classes until it was nothing more than a forlorn wrapper around the mouse events. Oh well. Sometimes you have to be ruthless. Some additional classes have appeared, notably the StyleBox and StyleControl, which have about the same relationship as ToolBox and Tool, but are focused on editing styles. StyleBox derived from a StackPanel, and I’ve found that works very well, so I will probably be going back and changing ToolBox to derive from one as well.
WPF Container Controls and Layout
I see a lot of questions on the Silverlight.Net forums about control layout. Typically they follow the general pattern “I placed a {insert control} into a {insert container}, but {insert problem} is happening. Can you help?” I thought it would be useful to cover the main types of control containers available in WPF and Silverlight, and catalog the differences in their default behavior with respect to layout.
Playing with Blocks: Episode 2
When you start to design an application for producing drawings in Silverlight, there are some things you don’t have to worry too much about. You don’t have to come up with definitions for shapes, or figure out a fast way to render them. You don’t have to define a color space, and gradients, and geometries for clipping and filling. You don’t even have to define what a surface is and how shapes interact with it. Windows Presentation Foundation takes care of all of that stuff, and quite nicely too.
What you do have to think about is how to organize and present that capability to the user, and how to connect the user’s intentions to the underlying systems. You need to think about how to do all that in a robust and extensible manner, in an environment that is quite a bit more constrained than the context in which a normal WPF app runs. In other words, you need everything but all the stuff I mentioned above, and that still leaves quite a lot to chew on.
Playing with Blocks: Episode 1
I’ve decided to write a couple of posts about the design and execution of a Silverlight application I’m working on. If you’re not familiar with Silverlight, here it is in one sentence: Silverlight is a downloadable subset of the WPF containing just enough of the framework to execute specialized WPF applications in a browser window. It’s a competitor to Flash, without doubt, but since I never really went in for doing games and demos in Flash I don’t really think about the positioning. Silverlight lets you animate, and play sounds, and do all that cool stuff that I think of when I think of Flash. But Silverlight also has everything you need to do lightweight, browser-hosted, net-delivered applications. I don’t know if people do many apps in Flash, but that’s the part of Silverlight that gets me excited. If you think about all the datacenter cycles that get spent pushing ASP roundtrips to update the front-end, Silverlight starts to look pretty damn appealing.
A Hard Look at Warhammer Online
This post is about an online fantasy role playing game called Warhammer Online: Age of Reckoning. It is developed and operated by Mythic, now a division of Electronic Arts. I’ve been playing it for about a month now, on the Iron Rock server, with a bunch of former Dark Age gaming buddies. You would think I am too old to be wasting time on something like that, and, in the end, the point of this essay may be that you’re right. At least, it may be that online role playing games have moved on, and I haven’t. In any case, this isn’t going to be a very positive post, and I’m sorry about that. Mythic got monthly subscription dollars from me for Dark Age of Camelot for years. I wanted Marc Jacobs to succeed with Warhammer Online, and it may well be that he will, but it doesn’t look good from here.
The Lehigh and Hudson River Railway
There’s something a little melancholy, for me, in walking along an abandoned railroad. I feel it whenever I explore the remains of our national past, but old rights of way bring it out most strongly. Partly this is because I was always a little bit of a railfan, and partly it is the significance of these narrow strips of landscape, empty and overgrown where once great steam engines chugged along hauling the commerce of a young country. A century and a half ago the great men of the day gathered in smoke-filled rooms and clinked their glasses in celebration of the last rail layed and the last spike driven, and yet now it is all just memory.
Broken Pipe(dreams)
The sandy loams of the Pine Barrens of Southern New Jersey are a porous filter for the water that trickles through purifying layers to feed one of the largest aquifers on the East Coast. Hours after the rain has fallen the ground is for the most part dry again, and undisturbed. Into this same ground has been poured, over the centuries, the hopes and dreams of generations of entrepreneurs. The woodcutters, colliers, iron and paper mongers, would-be glass barons, and land speculators have all thrown their best shots at these seemingly endless miles of forest, meadow, river, spung, and swamp, with as little effect. To decamp in the middle of these woods today, in Lacey Township, or perhaps old Shamong, is to find yourself set back 200 years to the turn of the eighteenth century. Before and behind you are the miles of rutted sand roads. Around you the wind moans in the cedars and oaks. There seems to be no sign of the place this once was, and yet, something gleams dully from under a thick carpet of spring greenery.