Firefox 2.0 -> Firefox 3.0 -> 2.0 -> 3.0

January 15th, 2009

Back when Firefox 3.0 came out, I downloaded it to try it out. At the time, several of the extensions I use did not support Firefox 3, so I promptly downgraded again. Since Firefox 2.* just got end-of-life’d, I figured it was time to update to 3.* for real. I did so at work with no problem, but had to spend several hours tonight getting 3.* working correctly at home. No matter what I tried, I couldn’t get 3.* to recognize my new bookmarks since my initial install.

I tried new profiles, deleting default profiles, uninstalling, reinstalling, and just about everything else I could think of. I finally stumbled across the answer after lots of frustration. Turns out Firefox 3.* changes the serialization format for bookmarks. When I’d initially installed 3.0, a new bookmark file had gotten created. Every new version above 3.0 looks for the places.sqlite file before the traditional bookmarks.html. To make Firefox 3.* re-import from 2.* you need to manually delete the places.sqlite file from your profile directory. WARNING: You will loose any bookmarks you’ve added in Firefox 3.* before switching over for good.

This is probably an edge case, but I thought I’d mention it for anyone else who stumbles into the same situation. As of this time, I do not know of a way to merge a changed bookmarks.html into a places.sqlite database you want to keep. If you make changes to both, I think you’re going to loose one set or the other.

FYI, if you’re interested in why the serialization format changed, go read about Places (advanced usage, technical design). Its a major new feature in Firefox 3.0.

2008 Christmas List

December 6th, 2008

I’m posting my Christmas list for this year so I can easily share it with friends and family. It’s a fairly simple list; there’s only one thing on it! I’m requesting that all of my Christmas gifts be in the form of a donation to a charity. Most of my gifts in recent years have been gift cards of one form or another. Given the economy this year and the probability that some companies may be going bust - and thus not honoring gift cards - I’d much rather have that money go to a good cause. Besides, I’ve still got plenty of cards from last year!

I would prefer a charity that is involved in one or more of the following areas: youth issues, homelessness, education, or gay (GLBT) rights. Below I’ve included some suggestions for charities that I consider worth of donations, but I will accept a donation to any worthy cause. The only requirement I have is that the charity in question does not discriminate based on sexual orientation, gender identity, race or citizenship status. For example, Covenant House, Catholic Charities, or the Minutemen would not qualify. The one exception to this I will make is that I will except donations to the Boy Scouts of America.

When you make your donation, please let me know the charity and amount. I will be tracking the total amount raised and will post it here at the end of the season.

Suggested Charities

Point Foundation (National) - Point is a scholarship fund for GLBT (gay, lesbian, bisexual, and transgender) youth. Statistically, GLBT youth are much less likely to go to college than their straight counterparts. Point tries to do something about that. I’ve been contributing to them regularly since my first year in college.

Sylvia’s Place (New York, NY) - Sylvia’s Place is a homeless shelter in NYC for GLBT youth. I volunteer at the shelter regularly. Sylvia’s Place is run on an absolutely shoestring budget; every penny donated is much appreciated.

Avenues for Homeless Youth (Minneapolis, MN) - Avenues is an emergency shelter for homeless youth in Minneapolis. I’ve never worked with them directly, but did have a chance to interview the director while in Minneapolis for MBLGTACC 2007. I was impressed with the programs, in particular their GLBT Host Home program. Avenues is not exclusively an GLBT shelter, but is very welcoming for GLBT youth.

Lamda Legal (National) - Lambda is one of the premier legal organizations fighting for gay rights in the United States. They have been fighting the good fight for many years, both at the national level and in partnership with statewide organizations. They have been instrument in some of the most important legal victories of the last decade: Lawrence v Texas and Goodridge v. Mass. Department of Public Health for two. A donation to Lambda goes directly towards changing the laws that make GLBT individuals second class citizens in our own country and states.

Boy Scouts of America - I am an Eagle Scout and can say first hand how much good this organization does for so many youth. I disagree with their discriminatory policies, but support them non-the-less. Keeping in mind the national policies, I request that you make any donations directly to your local council rather than the national umbrella organization. List of Councils, Orange County Council

Electronic Frontier Foundation (National) - If you’re not on their weekly email list and you care about freedom of speech on the Internet, you really should be.

“I disapprove of what you say, but I will defend to the death your right to say it”

November 25th, 2008

Despite the title, the LA Times article below is well worth a read. It touches upon one of the issues that has arisen after the Prop 8 loss in California*: the silencing of the opposition. Personally, I feel that Prop 8 was an immense miscarriage of justice. However, it is very important to remember that there are a number of people out there - some in surprising spots - who whole heartedly disagree with me. That is their legal right. It is entirely inappropriate to go after anyone who may have supported Prop 8 on a personal level. No one’s job should be at risk for their politics. Discrimination based on support for Prop 8 is still discrimination. If nothing else folks, think about how you would feel if the shoe were on the other foot! (ENDA anyone?)

* In case you haven’t heard, the CA Supreme Court has taken up a case considering the constitutionality of Prop 8. I’d say there’s a close to even chance it gets struck down. Let us hope not.


Liberal Hollywood ponders next step in fight for same-sex marriage

After the passage of Proposition 8, some are calling for boycotts and firings. Others worry about free speech rights being trampled.
By Rachel Abramowitz and Tina Daunt, Los Angeles Times
November 23, 2008

In case you didn’t recognize the quote from the title of this post, it’s a famous one in support of free speech by Voltaire (probably).

Using an ostrsteam correctly

November 20th, 2008

At work, I recently ran across a bug in some legacy code using ostrstream. As it turns out ostrsteam is extremely bug prone. In fact, ostrsteam has actually been deprecated in favor of stringstream. If you’re writing new code, do yourself a favor, stop now, and go use stringstream.

If you can’t - say you’re maintaining legacy code - I strongly advise checking to ensure that your code follows the pattern below. If you’re not - and you’re using dynamic buffering (the default) - you probably have at least one bug and one memory leak in your code.


/* By default the constructor allocates a 512 byte block of memory which is managed by the object itself. */
ostrstream stream;

stream << /* some data */;

/* This is the first bug fix. An ostrstream is a BINARY stream. It is not NULL terminated by default, even when calling str(). Since an allocator is not guaranteed to give you a zeroed block of memory, your string may be much longer then you expect. This could cause memory corruption, data corruption, or stack dumps. (Mine was the first two and was a royal pain in the ass to track down.) */
stream << std::ends;

/* Not absolutely required, but the second parameter is an example of paranoid programming. Just in case someone comments out the line above, you'll still be safe from memory corruption. Note: Depending on you're implementation of string, you might get a string with two null characters at the end. This shouldn't cause any problems, but is worth mentioning for clarity sake. */
std::string str( stream.str(), stream.pcount() );

/* This is the fix for the memory leak. The str() call above gave the caller (you) responsibility for deleting the dynamically created buffer. Rather than worry about how that buffer was allocated (new[] versus malloc), you can just tell ostrstream that you don't have a reference to its internal buffer and it will take ownership of the buffer again. Thus the dynamic buffer gets deleted when stream goes out of scope. */
str.freeze(false);

Now if only more UI designers would read this

November 18th, 2008

I have occasionally been tempted to write a post/rant about about interface design. Instead, I’ll just refer you to a couple of useful resources, and say “what they said!”

What reading Tufte won’t teach you: Interface design guidelines - Simply stated rules for designing UIs.

User Interface Design for Programmers by Joel - If you haven’t read this, and you claim to be a UI programmer, who the heck are you kidding?

more to come.. Suggestions welcome.

Join the Impact Rallies/Protest TOMORROW Nov 15th

November 14th, 2008

If you’re friends with me on Facebook, you just a got an event invitation for a series of rallies that occurring all over the nation tomorrow. I usually don’t spam everyone I know with political events since I hate it when people do so to me. This time though, I’m making an exception.

Enough is enough folks! Proposition 8 was a f*cking slap in the face. Its time we, queer folks and straight allies alike, stood up and said something about it. Please take some time tomorrow and join a local protest in your town. Don’t just stand by and let this go unopposed.

To find out about a rally in your town, see http://jointheimpact.com/. Or if you’re as much of a Facebook junkie as I am, check out http://www.facebook.com/event.php?eid=33598248873#/event.php?eid=45356108205. There are events in literally every state in the nation. You won’t have to go far to find one.

Please make a gift that matters

October 26th, 2008

Everyone, I have a birthday coming up at the end of November and I’d like to ask a favor of you. If you were otherwise considering giving me a gift, please don’t. Instead, I ask you to do two things: 1) Vote against Proposition 8 if you’re a California resident, and 2) make a donation to the No on 8 Campaign whether you are a Californian or not. The upcoming vote is likely to be a very close one and your support is much more valuable to me than any physical gift could be.

Here’s a few (of the many) reasons you should oppose Proposition 8:
- You believe in separation of church and state. Proposition 8 is a direct effort to introduce religious morality into the state constitution. Even if you don’t personally support gay marriage, the thought of having one particular religion’s idea of morality inscribed in the state constitution should scare you.
- You don’t believe a minority should be at the whim of the majority. Proposition 8 takes rights away from a minority group. If it passes, the majority of the population will be voting to directly strip rights from a minority. Given that everyone is a minority in some way (race, sex, age, occupation, etc..), do you really want to be setting that precedent?
- You believe in equal rights under the law for all. However you look at it, the CA Supreme Court has very clearly stated that denying gay people the right to marry is discrimination. Proposition 8 wouldn’t change that fact; it would simply inscribe discrimination into the state constitution.
- Finally, and most importantly, because I’m asking you to. This is an issue that is important to me personally, and I am asking for your support.

For the record, the above is not a generic form letter or anything like that. I wrote it (from scratch) because this is a cause I personally believe strongly in. I would greatly appreciate your support in opposing Proposition 8.

Yours,
Philip

I am sending an email with the text above to many of my friends and family in California and around the country. This is a cause I believe in, and I’m asking my friends and family to stand with me.

If you’re reading this, I encourage you to do the same. From what I’ve heard, this is going to come down to a very close vote. Every single person you talk to, and every single dollar you raise will make a potentially critical difference.

Update (11-20-08; Yes, after we lost.): Pam’s House Blend has a really good argument about why everyone - gay or not - should be downright scared by the Prop 8 decision. Go read it! But first, I’ll leave you with a poem to think on.
“In Germany, they came first for the Communists, And I didn’t speak up because I wasn’t a Communist;
And then they came for the trade unionists, And I didn’t speak up because I wasn’t a trade unionist;
And then they came for the Jews, And I didn’t speak up because I wasn’t a Jew;
And then . . . they came for me . . . And by that time there was no one left to speak up.”

CT has marriage! (was: Connecticut marriage case to be announced shortly)

October 10th, 2008

The case that has been before the Connecticut Supreme Court on marriage equality has been decided. They’re announcing the results within the next 1/2 hour. We don’t know what they are yet, but we know it was a very close decision. If you’re a person of faith, please join me in praying for a pro-equality result. I will be.

Love Makes a Family

CT Supreme Court

UPDATE (10:40 am): The case has been released and is a pro-equality decision! Connecticut is the 3rd state to have gay marriage!

Check out the actual decision!

Nice to see some public officials have a backbone

October 9th, 2008

I ran across the news story below and felt like cheering. Apparently, the banks have - no surprise - not being doing their legal duty before evicting people from foreclosed homes. The Cook County sheriff has essentially said “enough is enough!”. Frankly, I couldn’t agree with him more.

I absolutely loved this quote from the Illinois Bankers Association:

“The reality is that by ignoring the law and his legal responsibilities, he is carrying out ‘vigilantism’ at the highest level of an elected official,” it said. “The Illinois banking industry is working hard to help troubled homeowners in many ways, but Sheriff Dart’s declaration of ‘martial law’ should not be tolerated.”

Bullshit. The sheriff is doing his job and saying that the banks must do theirs. If they haven’t met the legal requirements for eviction, he shouldn’t be evicting anyone. Period. End of story. He is in the right here; not them.

Illinois sheriff scolds banks for evictions of ‘innocent’ renters
CNN, 10-9-08

Thoughts on the VP Debate

October 2nd, 2008

I’m currently listening to the VP debate live. Honestly, I’m somewhat surprised at how well Palin is handling herself. I was expecting this to be somewhat like watching a train wreck. Instead, she’s actually doing a fairly damn decent job. Of course, even as I type this she just dodged the question about restricted budgets and first things to cut.

For the record, I love this moderator. She’s cutting them off and forcing them to actually answer the questions!

<--- Missing sections first 1/2 hour --->

Update (9:32pm): Climate Change
Palin - “we’re allowing them to …pollute more than America would ever stand for.” - Any body else concerned by that wording
Biden - faced man-made impact face on, support for clean coal & safe nuclear, export clean coal technology

Update (9:34pm) - Carbon Caps
Palin - Seemingly ignored carbon caps question. Two word answer. (”I do.”) Support for large scale domestic drilling and energy production
Biden - Yes, strict caps.

Update (9:38pm) - Same Sex Rights
Biden - Support for equal constitution rights. Do not support same-sex marriage.
Palin - Can’t support “redefine marriage”. Emphasizing tolerance. No civil rights discussion. Dodged the equal civil rights part of questions.

Update (9:43pm) - Iraq
Palin - Plan for withdrawal, but no early withdrawal. Emphasis on surge and NATO allies (what allies?). Attack with “white flag of surrender”. Slander about voting not to fund the troops.
Biden - Shift responsibility to Iraqis and draw troops over 18 months. Defense of Obama.

Update (9:50pm) - Pakistan vs Iran
Biden - Solid comparison. Redirect issue towards Afghanistan. Build schools to compete for hearts and minds. Point about control of Iran not in the hands of nut job (whose name I can’t remember.)
Palin - Mention nut job leader of Iran and says should not have nuclear power or weapons. Attack on “meet without preconditions”.

Update (9:53pm) - Israel solution
Palin - Two state solution is the solution. Israel is our strongest ally and we will not allow a second holocausts. Enough is enough looking backwards. (After everything she’s said so far? Hah!) Divert to domestic issues.
Bidin - Both friends on Israel. Attack on elections in Gaza strip, not putting NATO troops in Lebanon. “I haven’t heard how his policy on [] will be different from George Bush’s”

Update (10:10pm) - Usage of Nuclear Weapons
Palin - Dodged main question. Went in direction of proliferation. Then went to Afghanistan. Disputed claim of general in Iraq.
Bidin - “Facts matter”. General said, surge will not work. 3 weeks in Iraq is more than 6.5 years in Afghanistan. Caught own over extension about McCain’s record, stepped back.

Update (10:05pm) - Interventionism
Biden - Dafur (no fly zone, “rally the world to act”). genocide -> does not have right to national sovereignty
Palin - Attack on Biden for reversed stance war vote. Agreement on Dafur. Also “all options are on the table” statement. (Does that worry anyone else? Isn’t that a Bushism we can avoid?)

Update (10:07) - “A heat beat away”
Bidin - Carry out Obama’s policies. Rinse repeat.
Palin - Acknowledge differences in positions. Continue policies. Rinse repeat.

<--- Questions are less straight forward and descrete. As such, I'm breaking out by issue, not question now. -->

Education (from a couple of different questions)
Palin - More focus on education, need flexibility in NCLB, profession of teaching, working with special needs
Bidin - NCLB not funded properly

VP Power
Palin - Flexibility of VP office in congress etc. (Very dangerous expansion of past policy in my opinion.)
Bidin - Cheney violated article 1 of constitution. Very dangerous. (I agree entirely.)

Own weaknesses
Palin - Did not answer at all. (Amusingly she drew attention to her own record, but refuses to let Bidin use McCian.)
Bidin - Faced question straight on.

Unfortunately, I have to stop now. My laptop battery is about to die. I may add some extra comments latter.