Tuesday, May 29, 2007

I've moved my blog!

I've actually moved my blog over here to Blogger. I was a tough choice, but considering that when I was paying for it, the blog was costing me about three times what I was getting on AdSense, I decided to drop out of it. I'll be fully over here by this weekend, I think. Hmmm, what to do with the domain timallen.org now?

Thursday, May 24, 2007

Photos! Fotos!

PHOTOS! FOTOS! http://picasaweb.google.com/TimothyChenAllen http://picasaweb.google.com/sontida These are our new Google Picasa photo sites. We will put up new photos as they happen there.

Tuesday, May 22, 2007

Moving my blog

I've recently had troubles with my blog software (I had been using GeekLog), so I finally decided to bite the bullet and move my blog over to blogger. I figured out some Python code to move my stuff, though I've discovered that I can only post 50 posts every 24 hours via code. So it'll take a few more days to get everything over here. When I'm done I might post the code (though it's embarrassingly simple and basically just reuses code from the blogger API site).

Wednesday, April 18, 2007

A change in how I blog

No more politics

After talking with some good friends tonight, I've decided for my own good to close off part of my blog. I've written about politics a fair amount on this site. But I've decided that it's not for me any more.

The problem is that politics has the tendency to separate us at times when we most need to pull together. Sometimes, when we're arguing, saying, "as a nation we should go this way", we really need to be looking at each other and saying, "I really like you, and I need you to know that".

Why the change? Someone who I care about very deeply is sick now, not doing very well at all. He and I don't agree politically. But I love him. I don't want to waste another second trying to convince him of anything. He's a grown man and he's entitled to his opinions, and the fact is that compared to how he's feeling, I don't really care about his politics.

That goes for everybody. I'm done trying to convince you of anything. It's not that I don't care anymore. But I'll talk politics as soon as I've gotten around to telling my loved ones just how much I care about them. That might take a while.

Tuesday, April 17, 2007

10:28 Down Market and Back

This barely counts as a run, but it's been a while since I ran regularly and I just wanted to get started again. I don't want to injure my knees (again) so I'm taking it easy.

Wednesday, April 4, 2007

"Lost Values: A Study of Predatory Lending in Philadelphia" Released

I rarely write directly about the non-technical part of what we do here at my work. The one real mention I've made of our mission here was in hate. where I decided that the one best way to handle the problem of homeless guys on the street screaming at me for smiling was to do my job as well as I could-- building opportunity allows more people to live lives with dignity.

I work for The Reinvestment Fund. We're a non-profit financial services organization. We fund a lot of stuff-- under-privileged housing, sustainable energy, charter schools... stuff I'm proud to be a part of. I hold together the databases that help make our work possible, and help folks get their hands on usable data so we can do our job better.

TRF put out a publication today called Lost Values: A Study of Predatory Lending in Philadelphia. It is a study of predatory lending practices. It explains its concepts at both a macro and personal level. It also points to solutions that may lead to the regulation of the sub-prime lending market. In the right hands, this information may lead to more opportunity for people who need it. I'm proud that an organization I'm a part of does things like this.

Incidentally, the author of the study is Ira Goldstein, the husband of Linda from How We Evacuated from Hurricane Katrina. Small world.

Tuesday, March 20, 2007

John Backus, inventor of FORTRAN, dead at 82

John Backus, inventor of the FORTRAN programming language, just died at the age of 82. The very, very first program I ever wrote was in FORTRAN, on Hollerith cards. The obit is here: here.

Monday, March 19, 2007

New Orleans Trip

We just spent the weekend in New Orleans visiting family and friends. A few things stood out:

1) New Orleans has not recovered much since the last time I was there in October 2005. When I was there to pick up our stuff, I remember a feeling in the survivors that they were going to make things happen, that they were going to turn this city around. Now people are faced with the lack of progress and seem tired. Some people who were pretty sure about staying are leaving as well.

2) Disasters happen to us collectively, but recovery happens individually. That is, the storm and subsequent damage happened to everyone in New Orleans, but how people rebuild their lives is very individual. This was illustrated by the number of houses we saw in Lakeview that were pretty well rebuilt standing right next to houses that seemed not to have been touched since the storm. Each of the millions of people affected by Katrina has a story, and none is exactly the same as any other.

3) As soon as we got off the plane, we started having Katrina conversations. We did not stop having conversations about Katrina until we were on the plane home to Philadelphia. This is alive and real for the city of New Orleans. Sadly, but realistically, Katrina was over for the people of Philadelphia about 3 weeks after the storm.

It was so very good to see my family and our friends. Nothing could change that. We even got to have a party with the people we evacuated with (see How We Evacuated from Hurricane Katrina). It was also devestating to drive through Lakeview and see how less than 1% of the houses are inhabited.

Monday, March 12, 2007

SQL Server: How to reset an IDENTITY column

I recently filled up a big table that had an IDENTITY column. IDENTITY columns are "auto-numbering" columns that can be set up to increment every time you insert a new row in a SQL Server table. This can be used to make a convenient ID column.

But if you delete records from a table, or even TRUNCATE the table, the IDENTITY column will not go back to zero, or whatever initial value you set up. To do this, you use a DBCC CHECKIDENT command:

DBCC CHECKIDENT('MyTable')

This example sets the IDENTITY column of MyTable back to its original seed value, if that is possible.

Thursday, March 8, 2007

VB: Use a UDL file to create an unusual connection string

I write VBScripts and VBA stuff all the time to connect to SQL Server and other databases. You need a connection string to do this, and sometimes you don't know how to make a connection string for the database you are connecting to. I have in the past always Googled for connection strings when I didn't know what to do, but I recently learned a great trick to create my own. You use a UDL file to find it:

  1. Create a new text file. Change its name to "sql_server.udl" or something appropriate with UDL as the extension.
  2. Double-click this new file. The Data Link Properties application will launch.
  3. Configure the connection as you want, including selecting the provider, server, user name, password, etc.
  4. Test the connection if you like with the "Test Connection" button
  5. Close the Data Link Properties editor, then open the new file with notepad, gvim, emacs, or some other text editor
  6. The last line of the file will be your connection string! Here is an example for SQL Server:

; oledb
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Password=REALSECRET;Persist Security Info=True;User ID=tim;
Initial Catalog=master;Data Source=MyServer;Application Name=http://www.timallen.org

Some things to remember when configuring the connection:

  • The Provider will default to ODBC, so be sure to set the provider first, as all other properties will go blank when you select a new provider.
  • Don't forget that there is an "ALL" tab where you can set things like the "Application Name", which is nice if you will be trying to trace your app with SQL Profiler later.
  • If you click on "Allow Saving Password", the password will be saved in plain text in your UDL file, so be careful with the file when you are done with it.