May
14
2008
I headed back into the hills of Pahaquarry this past weekend in search of an old road, and some old farms, and found quite a bit more of the former, and less of the latter, than I had hoped. The steep hillsides of Pahaquarry Township were once part of New Jersey’s rural agricultural heritage, and the remains of this past dot the forest floor, and line the old trails throughout the area. Accompanying this essay are pictures of an ancient lime kiln and not so ancient, but just as abandoned, power line, not to mention a dump full of broken bottles and the remains of a baby carriage.
My feet wandered back into the area of old Millbrook this weekend, and I expect they will tread that way again soon, and hopefully for years to come. This region, like the Pine Barrens in the Southern part of the state, completely fascinates me, and for the same reason. For such a small state New Jersey must be unique in having two such areas of restored wilderness. I say restored because in both the Pine Barrens, which make up much of the Southeastern corner, and the Highlands, which take up the Northwestern, civilization once thrived.
You can read the full article here, or view the gallery of images.
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.
May
13
2008
This is the part of the show where experienced Java developers laugh as the C# guy tries to tread water. I’ve been developing a Java console application to import some data files into a MySQL database. The development work has all been done in Eclipse on Debian, testing against a local DB. When the time came to test against a remote DB I was offered a Windows-based VPN client to use for the connection, but nothing for Linux. So I decided I might as well package the app up for deployment and run it on my XP system, where it could connect to the database and do its thing.
I jarred up everything (too much, in fact, but I’ll come back to that) and moved it over to Windows. When I double-clicked the jar file the VM popped an error dialog that said “Could not load main-class: ClassName, program will exit.” That sent me down a path of looking at the manifest and trying to figure out why the VM couldn’t find the main class. The package paths all seemed correct. Finally I tried running it from the command line instead of double-clicking (good thing, too, since as I said above it’s a console app). Now the error I received was “exception in thread ‘main’; java.lang.noClassDefFound: org.quartz.SchedulerException”. Well, that’s different.
Turns out I had naively packaged my dependent .jar files into the main .jar for the app, expecting everything to get loaded correctly. That doesn’t work without some additional plumbing. Once I moved them out to a directory and specified the locations correctly in the Class-Path variable in the manifest, all was well. Lesson learned: always execute my programs from the command line, lest the VM bury my exception in something misleading.
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.
May
13
2008
Sometimes it’s those little things that drive you nuts, like expecting that when Eclipse displays the Project Properties dialog and you click the Build Path and then click “Add Jars” the resulting list will contain whatever .jar files you happen to have placed in the project folders. Apparently this is not so. Today I needed to add a few .jar files to a project, so I copied them into the lib folder under my project, where the existing .jar files already live. I then went into the project properties to add the jars to the build path. But there were no jars to add. I stumbled around a bit like the idiot I often am, until I happened to click “File | Refresh” from the menu bar with the package selected. Bingo. Eclipse refreshed the package list and suddenly all my shiny new jars were there and available to be added to the path. I had to select the package first, however. If it wasn’t selected then the “File | Refresh” choice was disabled in the menu.
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.
May
09
2008
I recently took a Sunday afternoon off and followed the track of the Central Railroad of New Jersey’s Chester Branch along its century-old route from Long Valley to Chester and the site of the old Taylor blast furnace on the Lamington River. Along the way I saw some surprising things, and some that were not surprising, but impressed me deeply nonetheless. The railroads of Northern New Jersey played a key role in the commercial development of early America. Today many of them are no more than faint lines on a green and reforested landscape, or marks on a 120 year-old topographical map.
I entered the woods near Chester, New Jersey by stepping over a thin cable slung between two wooden posts and heading up a narrow gravel-covered track that disappeared in leafy dimness. The better part of forty-five minutes later I was barely a mile in, but then I had the camera with me, and had seen many things worth a short delay: a spring from which orange, iron-laden water bubbled; remnants of a 19th century sewage system; ancient stone walls lining a suspiciously regular cut in the earth; century old black cinders born in the firebox of a steam engine. The path I followed was unmistakable as an abandoned railroad right of way: unlike any forest track a railroad cuts long smooth slices through the terrain: no tight curves; no steep grades.
You can read the full article here, or view the gallery of images.
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.
May
05
2008
Peter Bright has written a multi-page post on Ars Technica explaining the myriad technical failures of Microsoft’s tools strategy that have driven him off the Windows platform and over to OS/X. It’s just been slash-dotted and is getting the predictable level of commentary from the nominally MS-bashing crowd over there.
Ok, let’s leave aside for the moment the simple fact that if Mr. Bright was free to drop Windows and move over to OS/X he’s not working on anything that matters very much. I mean that he doesn’t have a lot of people depending on what he’s doing, otherwise he wouldn’t be so free to make that choice. Whatever. If he’d rather work on a Mac then who the hell am I to comment? But along the way he feels the need to rant a little on the “miserable” Windows development experience on .Net, and that’s where he goes straight off the rails.
Not that he was really on the rails to begin with. Before getting to his laundry list of .Net’s weaknesses Mr. Bright felt the need to categorize the world of software developers according to his own schema. In that world, there are three types of programmers: Excel-wielding macro-cowboy pseudo-coders in business suits; lazy, uninspired cube drones writing clunky, misshapen enterprise applications that nobody really cares about; and those conscientious, intelligent, detail-oriented super coders like himself. Hilariously, he characterizes that last group as the people who might use C++ or “whatever beret-wearing funky scripting language was à la mode at the time.” Like anyone who uses C++ regularly considers a funky scripting language to be real programming (”Look, Bjarne! Anything can be an object!”). Hey, if we push hard enough maybe we can cram the mainly gray-haired, uber-serious C++ programmer community into the same can with all those cool, messy-mopped script-slinging web-onauts. Maybe, but I doubt it.
Continue Reading »
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.
May
05
2008
Fareed Zakaria has a lengthy but worthwhile article in Newsweek that dissects the current American malaise in terms of the perceptions of a changing world that drive it, and shows that many of those perceptions are flawed at best. According to various polls 81% of the U.S. population believes the country is headed in the wrong direction. This piece is a good antidote to the drumbeat of gloom from media and political elites that have a vested interest in dissatisfaction.
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.
May
01
2008
Join me for a walk North from the vanished town of Millbrook in New Jersey’s skylands, along some ancient roads that lead us through two hundred years of history. This area played a vital role in the early colonial commerce of New Jersey and Pennsylvania, and due to unique circumstances is home to some of the most fascinating intact structures and relics of that time. Heading north from the old village along a mountain track that hasn’t been regularly used in 150 years you can see stone walls stretching off through the forest, a reminder of the farmers and loggers who labored here for generations.
“Kittatinny Mountain begins at the place that is truly a water gap, thrusting its granite shoulder to the sky just East of the spot where the slim ribbon of interstate 80 skips across the Delaware River and enters the state of Pennsylvania. For many people this is perhaps all of the mountain that they see, as they speed across and over to the outlet stores of Stroudsburg, or the great expanse of the nation beyond. But the hill stretches more than forty miles Northeastward, well into southern New York’s Orange County, and is but one stony promontory of many in the long range that runs from New England deep into the south. Atop Kittatinny’s knife-edge summit runs the famed Appalachian trail, while at its feet the river lies like a sleepy snake, seeming in places to lap right up against the long ridge, marking New Jersey’s northwestern border in white-flecked silver.”
Read the full article here, or view the gallery of images.
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.
Apr
28
2008
In the process of setting up MySQL 5.0.32 on Debian Etch recently I ran into a frustrating problem. The server was installed correctly. The users were set up correctly, with the right established roles. I could connect to the server fine from the machine it was installed on, but not from any other machine on the LAN. I had run through the configuration in the MySQL Administrator three or four times to make sure I wasn’t missing anything, principally to keep squinting at the “Disable networking” checkbox to make sure it was clear. It was clear. It WAS CLEAR, dammit. But no matter: I could connect from the local system, but not from the Windows box sitting next to it. Trying from the MySQL Administrator program yielded the following…

From the command line it looked like this…
ERROR 2003 (HY000): Can’t connect to MySQL server on ‘192.168.0.105′ (111)
I Googled every combination of terms I could think of. At one point I ran across a discussion where someone seemed to be having the same problem, and about halfway down the page someone else suggested editing something in a conf file. Figuring I didn’t want to mess with conf files just yet (there MUST be a checkbox I missed SOMEWHERE) I kept butting my head against the problem. Finally, in a flash of what you wouldn’t call inspiration, given that I had been making no progress for thirty minutes, I tried the actual IP address rather than ‘localhost’ from the local host. No go. Aha… so it certainly acts like networking is disabled.
I went back and reread that discussion, and that’s when I learned about the variable bind-address in /etc/mysql/my.cnf. Here’s what it looks like after a default install…
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
What it means is that in the default install mysqld will only bind to localhost (127.0.0.1). That interface has no communication with the outside world. The solution is just to comment it out, and suddenly everything works. You would think that the default install would also show “Disable networking” as “true” in the administrator when networking is… uhm… disabled, but I’m probably just not getting it yet.
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.
Apr
15
2008
It’s not in my nature to throw away work I have done. I still have archives of project folders that were set up in 1990 on my hard disk. You never know when you’re going to need a quick answer to a Borland C++ 4.0 question. My physical workshop looks a lot like my virtual one: dusty shelves; boxes piled high with old components. You never know when you’re going to need a modem, or a PS/2 to USB converter.
I mention these things to illustrate that today represents a significant departure for me. For a few years I maintained a blog at modalogica.com, and a personal page at markbetz.net. The framework for these pages was derived from PopForums, a forum platform for ASP.Net 1.1. I made a lot of modifications to it over time, including the blog pages, file libraries, and some other things. It worked very well, but as my kids grew along with my responsibilities I realized that I wanted to program and write, not spend my scarce programming time implementing features to support writing.
Another change for me has been my increasing use of Linux over the last year. I was never a Windows zealot, and I am not now an anti-Microsoft crusader of some kind. It’s just that I have had to use it for work, and it has turned out to be easier for some things that I have done here at home, too. The situation has evolved to the point where I have a sort of geeky crush on Debian, but I wouldn’t prescribe it to my mother for her daily use. When it works, it works really well. When it fails, it fails in spectacularly arcane ways that take a specialist spelunker of old forum posts to figure out.
These trends all lead to to today’s re-launch of my blog site running in Wordpress on Linux. I’m pretty impressed with the platform so far, but will have much more to say on that later. Getting the content that I wanted out of the old blog has been painful, enough so that I have not brought everything, nor, for reasons of focus, will I. I intend this blog to be much more narrowly focused on programming, with a side dish of history, and occasional seasoning of games and literature.
I’ve spent about a week so far getting everything running the way I want it to, or pretty close. The theme is Paalam with a custom header image and some other small tweaks. In addition I am using NextGEN Gallery, and a few other widgets and plugins. Over the next couple of weeks I plan to add a lot of pictures and some of the files that I used to have linked on the old site. In the meantime, I hope you enjoy what you find here. Drop me a comment if you have any suggestions.
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.
Feb
04
2007
On Salon.com Andrew Leonard interviews Scott Rosenberg, whose new book Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software, has a ridiculously long title, and some genuine insights derived from its author’s four years spent watching Lotus founder Mitch Kapor’s Chandler project. Chandler is a development effort aimed at delivering the next generation of personal productivity enhancement, and it is going through much of the pain that any software project that is really attempting something new goes through. There’s nothing in here that experienced software developers don’t already know, but it is refreshing to see a non-technical journalist go through an epiphany on what it really means to create “made up stuff layered on top of more made up stuff.” An interesting read. By the way, I’ve previously written here on the same topic, and made some of the same comparison. You can read the piece here, if you’re interested.
Pass It On:
These icons link to social bookmarking sites where readers can share and discover new web pages.