Older blog entries for cinamod (starting at number 148)

I'm headed back to the Tel Aviv area again this weekend. If any of my Israeli friends would like to meet up sometime between June 2 and June 7, email domlachowicz AT gmail DOT com.

This comes on the heels of a thoroughly enjoyable trip to Montreal this past weekend. I spent most of last Saturday lying on sunny, green Mont Royal with Ruth. On Sunday, we went to a chocolate festival in nearby Bromont. I'll have to post pictures when I get a few spare moments to myself :)

29 May 2007 (updated 29 May 2007 at 16:03 UTC) »

Late last year, my favorite restaurant in Boston was forced to close when its liquor license wasn't renewed. At the time, I was furious. What had happened is that "neighbors" of the restaurant (read: white yuppies that live 7+ blocks away) objected to the "undesirable element and noise" that the restaurant attracted in their "up-and-coming" Jamaica Plain neighborhood. Since this was an inexpensive Ethiopian restaurant, I'm going to assume that "undesirable element" was code for "relatively poor black clientèle." I petitioned the Boston City Council, pointing out all sorts of interesting data like the fact that no one lived near the restaurant (using photos of the parks that surround it...), that the clientèle was largely blue-collar blokes trying to make ends meet (usually as taxi drivers) and weren't causing anyone any trouble. But to no avail. The burgeoning property owners had won. Fasika closed, neighborhood property values rose slightly, and I begrudgingly moved on with life. I bought a house, moved further away from JP, and assumed that was that.

Until today, that is. Pat Lam just told me the greatest news ever. Fasika has reopened. In Somerville. Five blocks from where I now live. I'm so happy that I could cry! This white yuppie property owner proudly welcomes Fasika to his up-and-coming Somerville neighborhood. And I'll happily watch my property value (and most likely, weight) go up because of it.

SoC status

Google's SoC program hasn't officially started yet, and already my two students are busy hacking.

Rob Staudinger has been busy refactoring AbiWord's build system so that parts of AbiWord might be turned into a proper library. In the process, he's managed to get AbiWord to cross-compile to Win32.

Due to its relatively light footprint, AbiWord has seen an upwelling of adoption on "embedded" platforms, like the Nokia Maemo or OLPC runtimes. These devices have wildly differing constraints, but at the core, all see a need for a rich-text widget. Rob's work is critical for us to fully exploit these emerging markets.

Meanwhile, Gabriel Bakiewicz has been hacking away at improving AbiWord's grammar checking. He's managed to hook up AbiWord to CoGroo. Initial screenshot here. Gabriel's plans for the summer are pretty ambitious. In the end, we may have an Enchant-like interface for grammar checking. I'm lucky to have help mentoring this project from one of Gabriel's professors, Carlos Menezes.

This is impressive, considering that SoC hasn't officially started yet. Great job, guys! Keep up the good work.

21 May 2007 (updated 21 May 2007 at 16:55 UTC) »

I watched the OLPC segment on CBS' 60 Minutes program yesterday. In my mind, Intel are clearly engaging in predatory practices under the guise of benefiting underprivileged children. The net result is that this will harm not only the OLPC project, but the children in the longer-term (unless you expect Intel to perpetually sell these laptops at a significant loss). Here are some comments by EntropyMan @ Digg that highlight the the underlying issues that 60 Minutes (at best) glossed over.

If Intel -- which is not in the business of selling laptops, and is in fact losing money on every laptop sold -- wants to get its processors -- its actual business -- into the hands of the world's kids, all it had to do was offer its CPUs to OLPC at a lower volume price than AMD. It would be in the market with first mover advantage, AMD would be out, and Intel would win this round without breaking any laws.

Instead, it builds a whole new laptop and dumps it at a massive discount below cost wherever OLPC tries to sell theirs. OLPC can't use the heavily discounted Intel CPUs in those, because Intel effectively won't let them.

If I were Intel, I'd be peeved that the (potentially) largest laptop roll-out ever won't be using my chips. But the free-market solution to that is "simple": make better performing, lower wattage chips at a lower price than AMD's Geodes, and make them in bulk. You've shown that you can do that with your high-end chips. You can do it for the low-end market too. Let your products compete on their own merits.

Dear lazyweb,

I own a Cowon iAudio X5 portable music player. I've had it for a little longer than a year. In that year, its battery life has gone from a reasonable 8-10 hours to about 2.5 (if I'm lucky). I've also had some problems with its proprietary "adapter".

Fortunately, I people sell the adapter for a reasonable price online. But I've had a tougher time finding information about a replacement battery or anything I might do to increase the existing battery's running time. The best I've seen is "buy a XXX brand mobile phone battery and a soldering gun."

Would switching to Rockbox make a difference. Any ideas? Thanks in advance.

domlachowicz AT gmail DOT com

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)

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?

139 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!