Monday, October 17, 2005

Moving

I think I have this set up now. Since Blogger is even being blocked by services now, it's time to move the blog. It's still powered by blogger, but its new home is http://benfulton.net/blog.

Blog design mistakes

This is a good article on web design as it applies to blogs. I'll try to take some of these messages to heart!

Friday, October 14, 2005

Why I am not a Republican

Chatting with a coworker one day over lunch, he told me, "Yeah, I would never vote Democrat. Those guys never do anything but spent our tax money." "But this Republican administration has taken us from budget surpluses to massive deficits in just six years," I pointed out. "Yeah," he said. "But at least the Republicans talk a good game."

Which got me thinking. Philosophically, I am one of those fiscally conservative, socially liberal types that some people like to call "libertarians" and others like to call "wussies". (I'll discuss that another day. Suffice it for the moment that I believe in balanced budgets, NAFTA, and gay marriage.) So where do I fit in? I can't possibly vote for massive social welfare spending or increased farm subsidies, so the Democrats are out. I can't vote for a constitutional amendment banning gay marriage, or outlawing abortion, so the Republicans are out too. In the '88, '92, and '96 elections I voted for the Libertarian party. I didn't see much difference between the major party candidates, so I voted on principle, hoping enough people would do the same to make the majors take notice, rather like the Socialist party in the teens. In 2000 I thought Gore was much in the same mold, a decent leader who wouldn't be able to make too many changes, same as Dukakis, Clinton, Dole, and Bush Sr.

But after eight years of peace and prosperity under Clinton, I was noticing that the Republican leadership suffered greatly by comparison. They seemed to have an us-and-them mentality and a feeling that they could do whatever they wanted, like the arms-for-hostages deals under Reagan, the breaking and entering under Nixon, and the witch-hunt that Kenneth Starr perpetuated on a sitting president who was getting a little on the side. Plus, I could not in any way see that the younger Bush had any qualifications for being President, so in 2000 I voted for Gore. He lost - maybe - but I wasn't terribly bothered. Give the man a chance, I thought. He surely can't be much worse than Gore.

Six years later, I think this administration will go down as one of the worst in history. It seems to have no sense of how to do anything but spin stories and mount massive propaganda battles against its enemies. Richard Clarke, for example. After reading his book I was convinced that 9/11 represented a massive failure of the Bush administration to deal with terrorism. It's unquestionable that Hurricane Katrina was poorly handled. And the vice-president's old company seems to be handed the keys to the Treasury.

So even though I am in agreement with many of the Republican party's stated goals, I think there is a clear pattern of corruption and poor management in just about every Republican administration of at least the last 35 years. Sure, they talk a good game. But when the rubber hits the road, they can't back it up. I'll be voting for the Democrats in 2008. The country just can't afford another Republican president.

Icerocket tags





General to soldiers: No Swimming

Wow, this is a strange story (via Maryamie and Tim) . Congratulations to FedEx and Direct Swimming Pools, and boos and hisses for General Harrel, who insisted that the pool should be taken down. Was there any reason for it, or was it an arbitrary display of bureaucracy?

Icerocket tags




Wednesday, October 12, 2005

JotSpot and the Annotated Constitution

I joined JotSpot today. I've been looking for a wiki to use; I put up a couple of pages at a free wiki site that I think is gone now, but they deleted your pages if you didn't update anything in 30 days. Jot still has some kinks to work out, but I like it well enough, and they have a proper pricing structure set up, which is nice. The first page I put up is an Annotated Constitution. If I've gotten it set up properly, it should be freely editable, so feel free to drop by and add your comments!

Icerocket tags



Tuesday, October 11, 2005

MFC applications leak GDI objects?

We've discovered a GDI leak in the Prosolv Analyzer application, but it appears to be a Microsoft leak rather than a Prosolv leak. According to this KB article, creating and destroying child windows with Windows XP Service Pack 2, with themes turned on, causes objects to be leaked. The article says that a hotfix is available, but it has to be downloaded rather than automatically retrieved via Windows Update. It seems pretty strange to me - why don't people hit this bug all the time? Are there just that many fewer MFC applications on the market now? Or are there some subconditions for use that mean that it doesn't come up all that often? Or maybe it's just that most applications don't create that many child windows. Anyway, if you're running Analyzer, you might be wise to get the patch mentioned in the KB article applied, or turn off the Themes service. We're looking into our options.

Icerocket tags





Monday, October 10, 2005

First principles

I'm changing the name of this blog. I chose Ramblings more or less at random, since that was what I was doing and I didn't have any real sense of the direction of the blog. Now, after a couple of years, I still don't have any sense of direction, but at least I think I have an idea of what I'm writing. Partly, it's reviews; books, plays, and operas, but generally when I'm writing on politics or programming, I'm trying to work out exactly what my position is, and to know that I have to start from the very beginning and work through it, step by step. In other words, I have to work it out from First Principles.

Early in my job at Interactive Intelligence, I was assigned to work on the COM API for the primary client application. I didn't know much about COM at the time, although I had tried at my previous job at Sunstorm to create COM DLL's for some games. It didn't really seem to buy much, though, and I eventually abandoned it.

Interactive Intelligence, though, sent me to a DevelopMentor's Guerilla COM, where I learned a lot more about why COM was superior to simple DLL's, and I started to see the point of using them. If I'd taken that class while working for Sunstorm I would have been able to apply it a lot better. Later, I was reading through a COM book - I think it was Don Box's Essential COM - and there was a line in there that said, "Most programmers have to convinced of the utility of COM, because they prefer to reason things out from first principles." This really struck a chord with me, because it was exactly why I had abandoned COM the first time - I couldn't figure out the utility of it - until I was able to work it out from first principles.

At the same time, of course, I also think it's important to have a set of principles in order to guide your life. I was thinking about joining a church a while ago, and when talking to the pastor she told me that ordinarily she would recommend to a candidate certain ways in which their life should change before they became members. She didn't really have any changes for me, though. I think the reason was that the first priority in my life is to have a set of convictions, and work from them. Inside that framework you have flexibility, but this is what you have to have First: Principles.

So hopefully this will help to guide me, both in my writing style and the subjects I choose to write about. If you're reading, I hope you enjoy it.

Icerocket tags



Saturday, October 08, 2005

Harriet Miers

It certainly is unquestionable that since President Clinton left office, the Republicans have been a far superior political machine to the Democrats. And of course, one of the primary benefits of being the party in power is the ability to get your Supreme Court nominee through the Senate approval process and on to the bench. Especially in the last 30 years, as lifespans steadily lengthen, this is a privilege that is rarely granted. President Clinton nominated two in his eight years; Ginsburg and Breyer. The current President Bush nominated none in his first term. His father was able to nominate two: Thomas and Souter.

But why is it such a privilege? Well, with only nine justices on the court, a single nomination can drastically change the structure of the court. For example, the test that everyone always talks about is Roe V. Wade; that is, the question of whether the right for a woman to have an abortion is one that should be protected by the federal government. The conservatives would like to see it overturned, while the liberals would be appalled. But the question then becomes: what would it take to overturn this decision? Is it just a matter of getting enough folks onto the supreme court who disapprove of abortion?

Well, it isn't. (Or at least, it shouldn't be.) See, when the court decided Roe v. Wade, they looked at a lot of different things: Historical precedents. Decisions made in other trials. Rights of the individual versus the interests of the state. Changing a decision made by the highest court of the land isn't just a question of getting five people up there who happen to think that abortion is icky. And even if you did, maybe a future liberal president might get lucky and nominate a couple of others who would swing the decision right back around again. So the issue that the conservatives should be trying to deal with is, "How do we get the decision changed in such a way that it won't be overruled by the next court?"

Here's how: Write up the decision in such a clear way, with such incisive reasoning, that it is very difficult for opponents to contradict. To do that, you have to have a brilliant conservative scholar on the bench; someone who's known to write impeccable, incisive decisions on the bench.

Harriet Miers will be confirmed; I don't have any doubt of that. Enough Republicans unwilling to contradict their president, coupled with enough Democrats thinking that she is the best they will get, will vote for her to get her through. She may be a good conservative, and vote the way the President hopes she'll vote. But there is surely no evidence to support the idea that she will be a shining conservative light; a justice who will write decisions both for the majority and in the dissent that will be referred to by future scholars and judges as a guiding path for the ages. This is what conservatives really wanted on the supreme court, and this is, with 99% certainty, what they did not get.

Icerocket tags




Friday, October 07, 2005

MSN Traffic in RSS?

Hey, Mr. Scoble, I have a request: The traffic reports on MSN are really nicely laid out and I'd like to check them every day before I leave the office. But I never remember to. It sure would be handy to have them in an RSS feed so my feedreader can remind me of them as they come in. As I look at the page, I see a link at the top that says "RSS", but it just leads me to a generic list of feeds. There's also a link at the bottom that says "Feedback", and I dropped a comment in the comment box there, but didn't get a response. Is there any chance of getting MSN to give me Indianapolis traffic RSS feeds in the near future?

Thanks!

Update: Yahoo does support this, according to this post. I subscribed, and got a couple of construction updates from last week, but of course it's not rush hour yet. We'll see how it does. Here's the relevant map.

Icerocket tags




Monday, September 26, 2005

Jazz Benefit for New Orleans

A day or two after Katrina, a blogger whose link I've now lost wrote a story about a little girl watching an ad for a benefit concert for New Orleans, and turned to her father and asked, "Why do they need to have a concert? Can't people just give money by themselves?"

I think about that now every time I see a benefit concert being advertised, so I wasn't overly enthusiastic when my wife wanted to go to this one, and left to my own devices to choose between this concert and Monday Night Football, well, pass the beer nuts. But I suppose that if you drive a backhoe you can help out; and if you're an electrician you can help out; and even IT guys can volunteer for some things. Musicians want to help out too, and hopefully concerts like this one will raise a nice piece of change for the Red Cross. The Indiana University School of Music brought in David Baker, Sylvia McNair, and Timothy Noble as headliners - all are alums - and it turned out to be a really good concert, and much better than the pigskin (as Denver rolled right over the Chiefs).

Although the lineup didn't include as much New Orleans jazz as one might hope, it was not surprising for as quickly as this concert had to be put together. So the arrangement consisted primarily of show tunes. The ensemble were upbeat on the instrumental pieces, and the soloists did a solid job. The lone female, Sophie Faught, did a fine job on Quincy Jones' Grace -albeit with a rather hissy microphone - and with a strapless gown and a shock of bright red hair amid a sea of tuxes, was the visual centerpoint of the evening, something I suspect she will have to get used to if she wants to continue in jazz.

Tim Noble performed admirably on a couple of Cole Porter tunes, while Sylvia McNair sang some swinging jazz melodies with perhaps more of an opera rhythm than a jazz one. But she did a great job on Over the Rainbow, and her performance of John LaTouche's Lazy Afternoon was nothing short of stunning.

Before the final song Mr. Noble pointed out a pair of music students in the audience who werre newly enrolled after coming from Louisiana, which was a nice way to point out the real purpose of the evening. Then he and Ms. McNair teamed up with pianist Luke Gillespie for a closing rendition of You'll Never Walk Alone. This concert was a reminder of how good jazz can be, and it left me wishing there was a good jazz bar in Bloomington, so we can hear music like this every night.


Icerocket tags:

Saturday, September 24, 2005

Pillars of Solomon, Jon Land

I haven't gotten around to reading the Da Vinci Code yet. I read Angels & Demons and liked it; I like the sort of book that combines history and mystery to reveal ancient secrets. It's what I was expecting about this book, which blurbs a "Secret born of the blood that forged a nation!" which sounds pretty cool. But I'm not sure that the recent forging of Israel holds a great deal of interest for me, taking place recently enough that many of the protagonists are still alive. Still, the five thousand year history of the territory makes for some interesting reading. The plot takes us from the murder of an Israeli businessman and the disappearance of a Palestinian schoolgirl to the uncovering of a child slavery ring, and then to the secret, going through a Jordanian archaelogical dig on the way, which presented some Indiana Jones-esque sequences. I wonder if that's a standard for Mr. Land?

The thing you always have to ask when reading a book like this, is "Does it hold together?" This one mostly does; the big difficulty I had - hopefully without giving away the plot - was in buying the complex nature of the warriors in the book who were partially responsible for the creation of Israel. Of course, all wars have irresponsible behavior on the battlefield and in the post-battle euphoria of survival; but I'm not sure that I can buy some behaviors under any circumstances. Ethics are one thing in the circumstances of hot blood and totally another after the fact, which is why the happenings at Abu Ghraib were inexcusable.

The writing is fair-to-good, with the occasional really awkward phrasing ( "Realized" is not a synonym for "Said". Ever.) The cover promises better writing than Tom Clancy, and that is not the case, but IMO Clancy is really in a class by himself for thrillers. Jon Land is a solid writer, and - the reason I'm actually writing this article is to make sure I don't forget - I will be picking up some of his other work. Isn't that all an author can really ask for in a book?


Icerocket tags:






Cosi Fan Tutte, IU Opera

It's a fun opera season this year, with the Barber of Seville, Carmen, and a couple of Shakespeare adaptations on the agenda. The opener was this Mozart opera, and it was...ok.

See, Mozart's operas to me seem like they're twice as long as they should be. The niceties of the 18th century required that the singers be given a nice slab of time for a solo on stage, and that's fine, but I wish the great one had managed to work more than one verse into each eight-minute aria. The fault of the librettist actually, I suppose, but if you choose a plot with 90 minutes of material, why make it into 200 minutes? That was the actual length of this piece, although the program said it would be 165.

With all that said, it's worth seeing. The plot goes something like this: Two soldiers make a bet with an older cynic that their betrotheds can stay faithful to them against all temptation. As part of the bet, each then tries, disguised, to seduce the other's fiance. The cynic, who is sure he will win the bet, thinks that "they're all like that", or, cosi fan tutte.

Highlights: The maid, Despina, comic relief played skillfully by Angela Mannino, with a very nice nasal voice for her turn disguised as a male. The two soldiers (Brian Stucki and Benjamin Czarnota) do a very funny slapstick bit being pulled around by a magnet. It's a truism that opera singers can't act for beans - Dorabella (Ann Sauder) for example, tended to go a bit overboard on the dramatic gestures - but I thought the two males worked very well together. I was surprised to learn that Ms. Sauder was an undergraduate, but she carried herself capably with a solid voice.

So go along and see it if you have a chance, but make sure you budget enough time for it, and be prepared to enjoy the music. You'll have to do that anyway, to keep your attention during the parts where the plot isn't going anywhere fast.


Icerocket tags:







Wednesday, September 21, 2005

Google's killer app

The blogosphere is abuzz about Google's plans for a WiFi network. There's a lot of talk going around about datamining and selling ads based on what's on your hard drive and stuff like that. But here's my take on what Google is after - it's something I've wanted for a long time: A VOIP cellphone.

If there's one thing everyone agrees on, it's that the cell phone companies are awful. Proprietary networks, $2 ringtones, basically everything they can do to monopolize and monetize absolutely everything their customers can do with their phones. The companies even have their own private networks, that no one but themselves can use. As a consumer, none of this is any good to me. I'm usually in range of a WiFi network - why can't I use my cellphone to make cheaper, easier VOIP calls when I'm in range?

If I'm Google, I'm looking at that and saying, wow, what a golden opportunity. What would we have to do to take on the cellphones? Let's see:
  • We'd need global wireless access.
  • We'd need a ton of wire to transmit all that data.
  • We'd need secure traffic.
  • We'd need our own voice application.
  • We'd need a way to determine the user's location for 911 calls.

Check, check, check, check, and check. GooglePhone, coming soon in your area. Sign up today!




Icerocket tags:







Friday, September 16, 2005

Using the pImpl idiom with an auto_ptr

Here's a interesting C++ fact I had never figured out. The pImpl idiom is a method of hiding implementation details of a class from users of the class. You define the class's interface in its .h file, and then add a simple forward-declaration:

class myClassImpl;

and in the class, include a member variable:

myClassImpl* pImpl;

(pImpl stands for Pointer to Implementation.)

Then, in the class's CPP file, the constructor news up pImpl and the destructor deletes it, and the declaration of class myClassImpl can be pushed off to a different file or even hidden entirely in the class CPP file.

But still, there's a step in there we might be able to get rid of. The standard class auto_ptr defines a pointer that will be deleted when it goes out of scope. So, instead of using a raw pImpl pointer in the class definition, we define it like this:

std::auto_ptr pImpl;

Now the auto_ptr goes out of scope when the instance is destroyed, so we don't even need to delete it in the destructor. But wait - there's a problem. If we happen to have a class destructor that's defined in the header file, it won't be able to delete pImpl because, at that point, it doesn't have a definition for it. This seems like a minor issue, until you realize that, if you don't define a destructor at all, that works exactly the same as if you had defined it in the header file. So, as Gene Bushuyev explains in the referenced article, you need to define a destructor explicitly as well, so the compiler has enough information to delete pImpl when it needs to. Thanks, Gene!


Icerocket tags:


Wednesday, September 07, 2005

Windows Services

At work my current task is to rejigger a bunch of applications into Windows Services. Prosolv has four primary applications that run as servers: An Archiver, a Dicom server, the Prosolv server, and a file server, or streamserver. We also have a series of other executables that handle data transfer for various machines such as the Acuson Cypress. Up until now, each of these applications has run as an application with a regular window, which is less than ideal for a server application - people tend to shut them down without meaning to - so I'll be reworking them into services. For most of these applications, this is no big deal - the only thing the windows do is hold a little config information. But the main server, the Prosolv Server, might be a bit tricky, because the server itself is actually nothing more than the original clientside-only application reworked into a server application! So it will have quite a few references to windows scattered through it. I think I've mentioned that all of these applications were written using Visual Studio 6, and it's not likely to be upgraded anytime soon. However, when the applications run as services, they'll need a separate config application, which I intend to write in C#.


Icerocket tags:



Book review: Secret of the Caves, Franklin W. Dixon

Frank Dixon and a cast of thousands, that is. But Caves was #7 in the original series, which means it was actually written by Leslie McFarlane, generally agreed to be the top Hardy ghost. I was a huge Hardy Boys fan as a kid, like my dad before me, and around 1974 he handed over a collection of probably 30 books that he had gotten originally in the 50's - Hardy Boys, Tom Swift, and others, such as the Mercer Brothers, which I've never seen again. Recently I've decided it would be fun to collect some of these old books again, so I picked up Caves at an antique shop for $9 - which may have been a bit steep, but better than the $15 they were charging for some old Tom Swifts.

I don't remember this one as being one of my favorites, though, and on rereading I can guess why - there really isn't a villain. The boys and their chums go in search of a man who has lost his memory, and the escaped prisoner from the local jail is more a distraction than anything else. There are a couple of cliffhangers - literally - which are pretty exciting though, and the missing man is discovered neatly.

I've also picked up a Battleship Boys book and a Submarine Boys book, which I'll review if I think of it. Between a couple of programming books, a spy novel, and a C.S. Lewis, my limited reading time is pretty split up :)


Icerocket tags:


Blogger toolbar broken?

I was easily able to get the Word toolbar to work on a machine where I have local administrative privileges, but I don't normally log in with those on my laptop. The Blogger toolbar does not show up on this machine when I log into an account without local admin privileges. Is that just a scenario the authors overlooked, or did I hose something up - I'm pretty sure I tried installing it without privileges before I did anything else. I used the Blogger support form, and got back some automated response, which I let sit for a couple of weeks before responding. We'll see if anything comes of it - I'm guessing not. Very disappointing; I'd like to use the toolbar.


Icerocket tags:


Friday, September 02, 2005

Fear of code

Kevin Barnes writes a nice article on Fear of code. The opposite of fear is courage, which is of course one of the core values of agile development. If you are afraid of changing your code, that is a code smell, which needs to be Lysol'd with lots of unit tests!

Tuesday, August 30, 2005

Monroe County Budget

Budget Numbers have been released for Monroe County. I haven't analyzed it carefully yet, but Kurt Van Der Dussen of the Herald-Times summarized it. (Password required). The budget is a little more than $50 million, including $12 million for juvenile services, $9 million for justice, and $9 million for adminstration.

Monday, August 29, 2005

Katrina

Here's a list of hurricane bloggers. It sounds nightmarish down there. Our prayers are with them. Some of these bloggers appear to be very near the heart of the storm, and it's unnerving to look at this list of people and have to seriously wonder whether the last post they've made, will be their last post, ever...