The Death and Life of American Cities

Fred Siegel comments on the arc of the progress cities made in the 90s and points to Philadelphia as one that is slipping back into old bad habits.

…In the early 1990s, Mayor Rendell made a reputation for himself as an urban reformer by rescuing Philadelphia – which was losing jobs and population – from near bankruptcy. This was a city that had raised taxes 19 times in 11 years, and in which municipal workers could take off one workday in five. Rendell knew that Philadelphia’s traditional patronage politics had come to a dead end. He faced down the city’s powerful unions, which he said hadn’t “had a bad day in 30 years,” by trimming paid holidays and eliminating work rules that required, for example, three workers to change a light bulb at the city-owned airport.

But successor John Street, who was elected in 1999 with the support of those same unions and interest groups, has shown little inclination to buck the city’s permanent political class.

…Philadelphia lost 68,000 people – 4 percent of its population – in the 1990s.

…As Rendell’s council president, Street had controlled Philadelphia’s empowerment-zone monies. He produced consulting contracts and several large holes in the ground, but virtually no new development. In fact, the population inside Philadelphia’s empowerment zone dropped 17 percent in the 1990s, or four times the city’s overall rate of decline, despite an infusion of $79 million in federal funds. Suspicions were therefore aroused that the blight money was intended largely for Street’s friends and donors. The mayor himself, never bashful on this point, has explained that “the people who support me in the general election have a greater chance of getting business from my administration.”


Mayor Street appears to view all policy choices through a special-interest lens. This year the state threatened a takeover of the city’s violence-ridden, financially bankrupt school system, in which fewer than half of the students graduate and the teachers’ workday is among the shortest in the country. Street initially welcomed the takeover as a chance for reform. But when the NAACP, the strike-prone teachers, and the contractors and suppliers objected, Street changed his tune. His staff and allies devised a secret plan to subvert reform. The 67-page plan explained how Street could undermine the state by shifting key educators to the city payroll to “cripple” school operations.

A Costly Affair

With so much talk about why software sucks and bugs are the norm, it’s refreshing to finally hear what I feel is a core issue being mentioned. Nicholas Petreley nails it in the a great ComputerWorld article A Costly Affair.

That brings us to the one remaining obstacle to stable client software, the unpleasant problem nobody likes to address. I’ll give you a tip on how to track it down. Sit down at a Nintendo GameCube or a Sony PlayStation 2 and play some games from start to finish. Then do the same on a PC. Chances are, you finished the console games without encountering any quirks, bugs or game crashes. At most, you might have been able to exploit a programming bug to cheat at the games.

In sharp contrast, you probably encountered your first problem with the PC games when the installer complained that your version of DirectX was out of date. (DirectX is the Microsoft graphics API designed mostly for PC games.)

Assuming you had enough CPU horsepower and memory to make the game enjoyable once it was installed, the game probably crashed at least once, if not several times, before you were done.

Console games are more stable because a game console is a highly predictable platform with a stable API. If you can find any differences between the hardware or software in two PlayStations or GameCubes, the differences will be subtle and unlikely to affect the way a program behaves.

Pick any two PCs, however, and they are likely to have radically different display cards and drivers, different DirectX APIs or different versions of the operating system. They probably won’t even have the same chip sets on the motherboard!

The video game console is the holy grail of application development – a stable environment in which to develop and deploy software. I’m not sure I agree with Petreley on how to get there in the PC realm. Network computers again? I don’t know. You would think that Java itself would get you there….

Some Java notes for today

Congratulate creator of Roller, David M. Johnson, his family is celebrating the birth of their third son!

Elliotte Rusty Harold writes 10 Reasons We Need Java 3.0 at O’Reilly. I largely agree with him.

java.sun.com has a short tutorial I’m reading on Deploying Software with JNLP and JavaTM Web Start.

Scott McNealy suggests Open Source Could Be Hurting J2EE. Read theServerSide.com and the resulting thread. Why is it always the politics of confrontation instead of cooperation?

It was 1985 and I hated Bruce Springsteen

Local musician and editor of the Philadelphia Weekly Joey Sweeney recalls 1987 in Salon

In the 1980s, after the “Born in the U.S.A.” juggernaut has run over the entire United States, it is as easy as it will ever be to misinterpret Bruce Springsteen. Although this is probably not what is on my mind when I see Bruce Springsteen in the flesh for the first time. What probably is on my mind is something pretty harsh, for I am now 13 years old, have discovered the willy-nilly world of punk, post-punk and the accompanying disdain for all that has gone before. Karen Akers and I are in the stands at JFK Stadium on a late-September night, tiptoeing on the bleachers so that we can see U2, nearly 100 yards away as the crow flies. Karen is goth before goth is goth — Siouxsie hair, blue-black lipstick and nails, and so on — and this is also that strange moment when U2 are playing stadiums and can still be considered alternative.

In the fall night, we are exhilarated — not only by the band, which is already playing stadiums and will soon be even bigger than that, but also by the fact that we were almost crushed at the gates of the show, on the way in, like English soccer fans. We’re happy to be alive, but when Springsteen comes onstage to perform the Ben E. King classic “Stand By Me” with U2, it is like someone has farted in our sleeping bag. For this is the era when as much as he doth protest, the Boss was in his darkest hours of synthesizers (and not even the cool kind that OMD used) and jingoism, mislaid or not. It is all I can do not to boo him, because I am a teenager now, and that vulnerability and sincerity that Bruce so naturally tapped into feels like a kind of death. Everything is affected cynicism now, and I believe that Bruce has no place here, onstage with my avowedly political and anti-establishment Irish band. And playing that corny song to boot! Send him away, the creepy Little Lord Fauntleroy inside me intones.

For me it was 1985. I was thirteen myself then. And listening to Black Sabbath. Ozzy. Metallica. If it had synths, it was compromised. If it was on the radio (like U2), well it wasn’t any good. James Hetfield had scrawled on the back of his Gibson Explorer the words “Kill Bon Jovi”. I understood them ๐Ÿ™‚ Back then, I really hated Bon Jovi too. “Pop metal” we called it.

Man was I closed minded! It took a few years but my mind opened considerably. It was probably Guns N’ Roses that did it for me. They were undeniable. And yet, still popular. “Pop metal” didn’t seem so bad to me any more. And I listened with new ears all sorts of music. Bon Jovi especially. I became a fan. As a teenager, the band’s songs had all sorts of relevence to me. Some of their songs seem custom written for my relationship with my wife to be.

Well I was 17, and a new aquaintence of mine, one that would become a good friend (yes it’s you Steve.. if you’re reading this), introduced me to the Springsteen album “Nebraska”. Just like Sweeney, it was my first apartment.

Joey Sweeney is standing in the living room of his first apartment, a hovel in South Philadelphia that is, at this moment, completely dark save for the blue light of the television and the snow reflected in the night outside. He is on mushrooms. Between the TV and the snow outside — from a blizzard that only subsided in the last 18 hours — there is an otherworldly glow and when he remembers this, even to this day, he still cannot remember if he is alone in the room or not. On the stereo is a record he rescued just days before from the dollar bin at the Book Trader — “Nebraska.” And if the cover image of bleak, high, lonely plains beyond a windshield suggests his soul, when he places it on the turntable and turns it up, it sounds like that even more so.

Joey Sweeney has been doing a lot of drugs lately, because it is the early ’90s still (and the late teens, still), and, well, it just seems like that’s what people are doing. He listens to “Nebraska” all the way through. That dull fire-alarm whine of the harmonica resonates with him to a degree that it feels like all he has ever known. When it is over, he just sits in the room, listening to the hail on the snow and the red light changing outside the window and he feels as bleak and as exalted as he ever has.

It had that same effect on me. Thanks Steve.

Getting HTML text with timeouts rediculously hard in Java

Creating a web crawler in Java is easy – if you don’t need to set timeouts shorter then the defaults. Here is a JavaWorld article and a Sun Developer Connection article on doing just that. But the moment you do require control over timeouts… ouch does it get confusing. Note that this post covers version earlier then 1.4.x.

Here goes some of the major issues I’ve found: 1. The HTTP enabled classes do not expose a timeout property setting method. 2. The lower level socket classes do expose that method, but require a crap load more programming to utilize. This great JavaWorld article covers that approach. Run it on this site though and watch what happens. 3. Trying to hack your way to a timeout with the HTTP classes and threads exposes a registered bug – the HTTP operation may not properly close.

Anyway, after much searching, jGuru pointed me towards Jakarta’s HTTP Client. I recall reading about it over at rebelutionary. But guess what? After who knows how long digging I discovered the timeout property was not exposed in the last release build. Ok I figure, I’ll go grab the latest nightly build and cross my fingers. Now some undocumented depencies are exposed. You will need to download and install the Jakarta Logging Component and Sun’s Java Secure Socket Extention to get it to work.

I could have written the low level Socket code…. but there is a strong part of me… the lazy programmer in me… that believes in never re-writing the wheel. I knew there had to be a set of packages that would allow me do this with as little as possible coding. By finding those packages, especially from a reliable source such as the Apache Jakarta project, I can have a higher degree of confidence in what I’m putting together. And oh yes… just write about 50 lines of code ๐Ÿ™‚

Anyway… anyone else with these findings or did I just take a walk I didn’t need to?