Older blog entries for cinamod (starting at number 143)

I know that I and my projects haven't been the most responsive when addressing bugs. And for that I must apologize. Truth be told, there are always a lot more reporters than there are developer hours.

As a free software user, I understand closing a bug due to lack of feedback or insufficient information. As a free software user, I understand closing a bug because it can't be reproduced by the development team. As a free software user, I understand closing a bug because it's been filed against the wrong project and there's no good way to migrate the bug between the two projects. I may sound a little like JWZ here, but I don't understand a project closing all of its bugs because it changed its name and moved its bug tracker to another server.

I got this gem in my inbox yesterday from Gaim's SourceForge.net bug tracker:

As we have now renamed the project, and are migrating to developer.pidgin.im, I am closing this ticket. Please create a new ticket at http://developer.pidgin.im if this issue persists with 2.0.0

At least in JWZ's "Cascade of Attention-Deficit Teenagers" post, all of GNOME and its supporting libraries were basically rewritten from scratch when the bugs got closed. It's like saying "we changed and accomplished so much that we're hopeful that these bugs are gone. Please try again, because there's some non-zero chance that your bug got fixed."

Here, the project in question ran `sed 's/gaim/pidgin/g'`, moved their bugzilla to another machine and thought that those actions justified closing all the bugs rather than migrating them. This is hardly a spongeworthy accomplishment.

I really do appreciate all the hard work that the Gaim/Pidgin crew has done. I use it daily, largely without issue. I advocate it to my friends and co-workers. It's a good piece of software. Unfortunately, I haven't personally helped them out in any way beyond filing a few bugs. And I understand that migrating bugs from SF.net's tracker to your own might not be the world's easiest task. But those bugs are nonetheless a contribution to the project, and I'd like to think that those contributions wouldn't be thrown away with such reckless abandon.

Oh my word. This is just awful. My condolences to the friends and family of all VA Tech Hokies out there. The killer got off too easy...

RIP Kurt Vonnegut

From "Back to School":

[after Diane gives Thornton an 'F' for his report, which was actually written by Kurt Vonnegut]
Diane: Whoever *did* write this doesn't know the first thing about Kurt Vonnegut!

[cut to Thornton's dorm suite]
Thornton Melon: [on the phone] ... and *another* thing, Vonnegut! I'm gonna stop payment on the cheque!

[Kurt tells him off]
Thornton Melon: F*ck me? Hey, Kurt, can you read lips, *f*ck you*! Next time I'll call Robert Ludlum!

Microsoft Woes...

I'm doing some work that peripherally needs to talk with a database. The queries are simple enough, but it happened that all of my long-lived processes crashed over the weekend at the same time, seemingly in that benign database-related area. So I'm thinking that maybe I've just encountered a network failure, and I set off to bullet-proof my code against them.

I fire up the debugger, unplug the network cable, and give it a whirl.

MSFT's ODBC layer sets a member variable, "m_nResultCols", to -1 to mark an error or uninitialized condition, which seems reasonable. However, the code checks for errors using the following snippet (dbcore.cpp):


	// If there are no fields quit now
	if (m_nResultCols == 0)
		return;

This fails, so it executes the next line:


	// Allocate buffer and get the ODBC meta data
	m_rgODBCFieldInfos = new CODBCFieldInfo[m_nResultCols];

Or, it tries to, anyway. That'll malloc (MAX_UINT * sizeof(CODBCFieldInfo)). And needless to say, that won't work. So fine, I can live with that, so long as the "array new" operator throws some sort of std::exception or CMemoryException like it's supposed to when it can't alloc that much memory. But instead, it insists on looping while it can't malloc any memory (afxmem.cpp):


void* __cdecl operator new(size_t nSize, int nType, LPCSTR
lpszFileName, int nLine)
{
	for (;;)
	{
		pResult = _malloc_dbg(nSize, nType, lpszFileName, nLine);
		if (pResult != NULL)
			return pResult;
	... // try in vain to free some resources
	}
}

If the first bit of code checked for an error condition properly and returned an error condition (as documented), my code would handle that condition properly. Or, if that didn't get fixed and the new() operator threw an exception (as spec'ed), my code would handle the exception properly. But instead, the combination of the two errors leaves me with _malloc_dbg() popping up an error dialog saying "I can't allocate MAX_UINT bytes of memory. Press OK." from here until kingdom come. *Sigh*

13 Mar 2007 (updated 13 Mar 2007 at 17:12 UTC) »

My brother Andrew graduated from the Philadelphia Police Academy yesterday. Ruth and I drove down from Boston to see the ceremony. We're both very proud of him and hope that he's found his calling in life, stays safe, and protects and serves the community to the best of his ability.

Mostly, the presenters/officials talked about how the graduates faced almost-certain death and how 2/3 of them were being sent to Philadelphia's worst neighborhood. About how some officers recently got mangled underneath a car. And how they'd be understaffed and probably wouldn't have backup when they needed it most. Or if they did, it would be at the expense of protecting another neighborhood. It really reminded me of RoboCop. There was a local college representative present, urging the graduates to continue their education so that they could "ride a desk" instead of being killed in the line of duty.

Perhaps it's a realistic assessment of what faces these young men and women. And maybe it's what the graduates needed to hear. I know that I couldn't do the job. But I didn't find the speeches particularly upbeat (eg. "Congratulations. You're starting a new fulfilling career in serving the public."). They were more somber - perhaps even morose. If I were in my brother's shoes, I probably would've crapped myself, gotten up, and left. But then there's a good reason that I didn't apply to be on the force and I'm glad that people like my brother have the courage to do those jobs that I can't do. We owe them a debt of gratitude and the highest respect for putting their lives on the line each and every day they don a uniform.

What follows is a post-game recap of the day's irony, double-speak, hypocrisy, and pandering. At the end of the ceremony, I wanted to laugh, cry, and vomit. It is in no way is a condemnation of the police, the very important jobs that they do, or the day's graduates. Instead, it should be read as a criticism of the city's leadership and perhaps their speech writers' collective ignorance and ineptitude.

---------------

Mayor John Street:

"I've been all around the country and around the world, and the only place our police department doesn't get the respect it deserves is in Philadelphia itself." <thunderous applause>

(30 seconds pass)

"There's no place in the world that respects and appreciates its police force as much as we do in Philadelphia." <thunderous applause>

---------------

Mayor John Street:

"No one here today is here because of nepotism, favors, or because they have family on the force. They've all made it here on their own merits." <deafening applause>

This comes from the man who is the self-proclaimed king of nepotism. Amongst other things, he put his brother in charge of Philadelphia's international airport, and has tried to anoint his brother as Philadelphia's next mayor. Neither worked out too well.

(30 seconds pass)

"Will everyone graduating who has a family member in the force, please raise your hand?" [75% raise their hand] ...

(30 seconds pass)

"We have in our audience the previous chief of police. His grandson is graduating today." <applause> ...

(5 minutes pass)

Police commissioner:

"Everyone on this stage today (i.e. the heads of the police department) has been promoted or appointed by John Street. Let's give him a hand." <applause> Err, what's that about political nepotism? Bueller? Bueller?

---------------

Mayor John Street:

"Everyone who has lived in this city all their life, raise your hands." (90% of the grads raise their hands) "That's how it ought to be. People who run this city should have lived and devoted their whole lives to this city."

Perhaps true. And certainly the mayor is a self-made man who worked tirelessly to get to where he's at today. He's served the city as a lawyer, teacher, city counselor, and mayor for most of his life. But I had to chuckle thinking that those words came from a black man who was born and raised in one of Philly's relatively well-off, predominantly white, Montgomery County suburbs.

---------------

District Attorney Lynn Abraham:

"You must uphold the Constitution. And remember that there are cameras everywhere watching your every move. You must serve the public and hold yourself to the highest standards."

This, coming from the district attorney who is prosecuting a man for photographing police during a drug-related arrest while on his own property. What's that about cameras, standards, and the Constitution again?

---------------

Police commissioner:

"You must remember that as police officers, you will be held and must hold yourselves to higher standards."

(1 minute later)

"Neighborhoods are outraged that [the police department] shot and killed 20 people last year, some of which had pulled weapons on officers. But where was the outrage when drug dealers killed a little girl walking down the street with school books in her hands?"

Ignoring for the moment that the community was outraged and heartbroken at the latter crime, who are the community's citizens to hold the police to higher standards?

Snow in Boston

So we're in the middle of the "Blizzard of 2007". By "blizzard" I mean "a few cm of snow." Considering the way that radio and TV over-hype these storms, I'd swear that it was a conspiracy between them and the infamous BREAD AND MILK INDUSTRY. Sneaky devils...

My trip to Israel was amazing. I managed to have a really productive work-week and still sneak in some sight-seeing. Friday was a whirl-wind adventure. My coworker, Nadav Grossaug, and I drove down to the Dead Sea area, passing by various parts of the West Bank and Palestinian Territories, including the infamous wall.

The highlight had to be Masada (or in video form, if you like). We also saw the Ein Gedi National Park, stopped to see a monastery (and be totally touristy, having my picture taken wearing a turban, with some Bedouin kids near Jericho). Watching tourists on camel rides was amusing - 7 shekels to go up and 8 more shekels if you wanted to get down :)

From there, we headed up to Jerusalem, which we entered via the Jaffa Gate. Was whisked away to the Western Wall amidst a throng of Orthodox Jews at 5pm on Friday (i.e. Sabbath). Saw the Church of the Holy Sepulchre and the Dome of the Rock, shortly after some unfortunate events took place. Then for some gorgeous views of the city from Mount Scopus.

Afterwords, had a pleasant Seder dinner with Nadav's family in the outskirts of Jerusalem.

I spent most of my time at my company's office in Ra'anana. Marveled at the high-tech companies setting up shop around there - Novell/Suse, Texas Instruments, Intel, Computer Associates, ... When I wasn't working, I was either at the exquisite Sharon Hotel in the Mediterranean beach resort town of Herzliya or exploring nearby Tel Aviv. The food was wonderful (is there anything that these people can't pickle?), and I finally met Nadav Rotem, of Open Text Summarizer fame. It was truly a pleasure meeting him and all the Israelis and Palestinians I encountered in my week's travels.

I didn't take nearly enough pictures and my camera's batteries died halfway through Friday's adventures, but those I did take, I uploaded to my gallery.

I'm proud to say that my city was paralyzed yesterday by a friggin Lite Brite. People need to shed their cornered-animal mentalities and learn to lighten up. Other cities have had been part of this "guerrilla marketing" campaign (I refuse to call it a "hoax", as the media are referring to it), and not panicked in the slightest. But I guess this was the sort of response that the Department of Homeland Security's terror alert system and "constant vigilance" campaign were supposed to elicit. Bravo on a job well done. Panicked animals are easier to control. Unless they lash out and behave unpredictably, that is.

When I was visiting family in Philadelphia around Thanksgiving, they had these there too, as well as a giant billboard of a Mooninite giving passing cars the middle finger along one of the USA's busiest highways, Interstate 95. Hundreds of thousands of people saw this billboard every day. Ruth and I just about split our sides laughing.

28 Jan 2007 (updated 28 Jan 2007 at 23:00 UTC) »
Housing

So, Ruth and I got our potential new place inspected yesterday, and I took photos. There are a lot of little and not-quite-so-little things wrong with it (as with any house), but we're really happy with it. We counter-offered, hoping to have the relocation company take care of some of the issues, or lower their price accordingly so that we could take care of them (insufficient insulation and a cracked chimney are among the top outstanding items).

Work

To all of my F/OSS and college friends in Israel, I'll be heading to the Tel Aviv area for about a week. I get there at 9:15am next Saturday, and I'll be around until 11am the following Saturday. I should have the first Saturday free as well as evenings and the following Friday (which I'm hoping to see Jerusalem on). My company has a satellite office near Herzliyya. It looks like I'll meet up with Nadav Rotem of Open Text Summarizer fame. If I'm lucky, I'll be able to find my college friend Nir too and maybe play a quick game of basketball with him too :) My contact info.

I'd just like to thank the folks over @ Nokia for giving me a discount on the N800. It looks like a cool little device, and I can't wait to get my hands on it. Ruth has already promised to commandeer it, but hopefully not until after my trip to Tel Aviv next week.

134 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!