Wednesday, July 16, 2008
Tuesday, July 15, 2008
Monday, July 14, 2008
Sunday, July 13, 2008
Saturday, July 12, 2008
Friday, July 11, 2008
Thursday, July 10, 2008
Wednesday, July 09, 2008
Tuesday, July 08, 2008
Monday, July 07, 2008
Sunday, July 06, 2008
Friday, July 04, 2008
Thursday, July 03, 2008
Wednesday, July 02, 2008
Tuesday, July 01, 2008
Monday, June 30, 2008
Sunday, June 29, 2008
Saturday, June 28, 2008
Friday, June 27, 2008
Thursday, June 26, 2008
Wednesday, June 25, 2008
Tuesday, June 24, 2008
Monday, June 23, 2008
Sunday, June 22, 2008
Saturday, June 21, 2008
Friday, June 20, 2008
Thursday, June 19, 2008
Wednesday, June 18, 2008
Tuesday, June 17, 2008
Monday, June 16, 2008
Sunday, June 15, 2008
Saturday, June 14, 2008
Friday, June 13, 2008
Thursday, June 12, 2008
Wednesday, June 11, 2008
Tuesday, June 10, 2008
Monday, June 09, 2008
Sunday, June 08, 2008
Saturday, June 07, 2008
Friday, June 06, 2008
Thursday, June 05, 2008
Wednesday, June 04, 2008
Tuesday, June 03, 2008
Monday, June 02, 2008
Sunday, June 01, 2008
Saturday, May 31, 2008
Friday, May 30, 2008
Thursday, May 29, 2008
Wednesday, May 28, 2008
Tuesday, May 27, 2008
Monday, May 26, 2008
Sunday, May 25, 2008
Baby Name of the Day
Ebenezer
(courtesy of the stained glass window in the First United Methodist Church in Norwalk, CT in memory of Ebenezer Hill, Born Feb 20, 1798, Died June 10, 1875)
(courtesy of the stained glass window in the First United Methodist Church in Norwalk, CT in memory of Ebenezer Hill, Born Feb 20, 1798, Died June 10, 1875)
Saturday, May 24, 2008
Friday, May 23, 2008
Thursday, May 22, 2008
Wednesday, May 21, 2008
Tuesday, May 20, 2008
Monday, May 19, 2008
Sunday, May 18, 2008
Saturday, May 17, 2008
Friday, May 16, 2008
Thursday, May 15, 2008
Wednesday, May 14, 2008
Tuesday, May 13, 2008
Monday, May 12, 2008
Sunday, May 11, 2008
Saturday, May 10, 2008
Friday, May 09, 2008
Thursday, May 08, 2008
Wednesday, May 07, 2008
Tuesday, January 01, 2008
Thursday, September 20, 2007
Wednesday, September 19, 2007
Friday, August 10, 2007
Today I got my first AT&T Wireless bill with my iphone. What a joke. Mine was 37 pages detailing every KB of data transfer. Page after page with a grand total of 111,421 KB at $0.00. They had to send it to me in a special big envelop because all those pages would not fold up in a normal bill. They probably had to pay extra postage also. I need to surf more often and see how many pages I can get them to send me.
AT&T is just totally clueless and idiotic.
Here's an iphone bill opening video.
AT&T is just totally clueless and idiotic.
Here's an iphone bill opening video.
Coding Horror: The Large Display Paradox
Coding Horror: The Large Display Paradox
ha, but on the mac, this is not a problem as windows maximize to the size of the contents, not the size of the screen.
ha, but on the mac, this is not a problem as windows maximize to the size of the contents, not the size of the screen.
Wednesday, August 01, 2007
Citibank's response:
"Customer Service Wrote:
We apologize for your experience with our Service Professional. Our goal is to provide superior service to each of our customers. Your feedback is appreciated and helps us improve the service we provide.
Thank you for taking time to send us your suggestions. Your comments are valuable and will help guide us as we continue to enhance our service. We have forwarded this information to the proper department for further consideration.
The Dividend Opt Out conversion offer were mailed on 04/30/07 to customers to advise them that their account will automatically be upgraded to new WorldCard products. The respond by date to opt out from this conversion was 06/22/07.
Thank you for using our website."
Seems canned. I wonder if others are having this problems. There was an opt out letter sent but it said if I opted out, my account would be closed. Seems like that's not much help.
It's also disappointing that they are going to punish some Service Professional when the problem lies with the higher ups who made the marketing decision to switch me to a new card. Too bad they will punish the person who answered my phone call.
"Customer Service Wrote:
We apologize for your experience with our Service Professional. Our goal is to provide superior service to each of our customers. Your feedback is appreciated and helps us improve the service we provide.
Thank you for taking time to send us your suggestions. Your comments are valuable and will help guide us as we continue to enhance our service. We have forwarded this information to the proper department for further consideration.
The Dividend Opt Out conversion offer were mailed on 04/30/07 to customers to advise them that their account will automatically be upgraded to new WorldCard products. The respond by date to opt out from this conversion was 06/22/07.
Thank you for using our website."
Seems canned. I wonder if others are having this problems. There was an opt out letter sent but it said if I opted out, my account would be closed. Seems like that's not much help.
It's also disappointing that they are going to punish some Service Professional when the problem lies with the higher ups who made the marketing decision to switch me to a new card. Too bad they will punish the person who answered my phone call.
Citibank stinks. Here's why.
They decided to send me new credit cards and cancel my existing account. This is a huge pain and is going to cause me lots of grief. I got so fed up with them I canceled my account and urge anyone else facing the same problem to also cancel their accounts.
My note to them:
"I'm very unhappy with your latest scam where you canceled my old account and sent me new cards with new numbers. I have automatic payments to several organizations including my newspaper, tivo, public radio, and others. Switching numbers caused me a huge problem and gave me zero benefits. I read the literature and I could see no benefit for me in switching numbers. You then wasted 20 minutes of my time just now on the phone and I decided to close those accounts.
I will now spent the next month with late payments and questions about why my automatic transactions no longer work and I have to clean this all up. Please pass on to whomever made the decision to force an account change that you have lost me as a customer. I will also make sure to recommend to others to avoid Citibank for this kind of practice.
They decided to send me new credit cards and cancel my existing account. This is a huge pain and is going to cause me lots of grief. I got so fed up with them I canceled my account and urge anyone else facing the same problem to also cancel their accounts.
My note to them:
"I'm very unhappy with your latest scam where you canceled my old account and sent me new cards with new numbers. I have automatic payments to several organizations including my newspaper, tivo, public radio, and others. Switching numbers caused me a huge problem and gave me zero benefits. I read the literature and I could see no benefit for me in switching numbers. You then wasted 20 minutes of my time just now on the phone and I decided to close those accounts.
I will now spent the next month with late payments and questions about why my automatic transactions no longer work and I have to clean this all up. Please pass on to whomever made the decision to force an account change that you have lost me as a customer. I will also make sure to recommend to others to avoid Citibank for this kind of practice.
Sunday, July 15, 2007
Friday, May 25, 2007
Thursday, May 10, 2007
Tuesday, May 08, 2007
Got a new computer today. Bough it on http://www.woot.com It's another Compaq piece of junk, but it's faster than my 8 year old compaq piece of junk. :-)
Friday, May 04, 2007
Gotta stop spending money.
Bought socks, a replacement for our broken receiver, a replacement for my 8 year old computer and finally a new grill. We lit up the grill on Wednesday and after a few minutes flames started shooting out of the dials and they melted and dripped to the ground.
Gotta buy a lock and chain for the nice new grill. I did buy a cover to try to make this one last a long time. And it's blue!
Bought socks, a replacement for our broken receiver, a replacement for my 8 year old computer and finally a new grill. We lit up the grill on Wednesday and after a few minutes flames started shooting out of the dials and they melted and dripped to the ground.
Gotta buy a lock and chain for the nice new grill. I did buy a cover to try to make this one last a long time. And it's blue!
Will Apple ever stop going up. Oops, probably should not have written that. My stock I bought a few years ago is up 780%. I've had to sell half of it twice in that time and probably need to sell another half to keep my portfolio from being weighted to heavy in Apple stock. I guess it's a good problem to have.
Tuesday, May 01, 2007
I'm green, but I'm not crazy. Time to go back to the old bulbs.
http://www.canada.com/nationalpost/financialpost/story.html?id=aa7796aa-e4a5-4c06-be84-b62dee548fda
http://www.canada.com/nationalpost/financialpost/story.html?id=aa7796aa-e4a5-4c06-be84-b62dee548fda
Saturday, April 28, 2007
Sunday, April 01, 2007
Wednesday, November 01, 2006
Sunday, May 14, 2006
Wednesday, February 15, 2006
Tuesday, February 14, 2006
Saturday, January 21, 2006
On the Archive: An iteresting aspect of moving to a dynamic site was how to support old links. There are links out there to pages like
http://famousfamily2.dnsalias.org/JenMark/MarksFolders/133_3394.html
That page is now defined as
http://famousfamily2.dnsalias.org/famousfamily/archive?ID=46732
I wanted to be able to achieve backwards support for the old links.
To achieve this, I defined a Redirecting servlet and deployed it as all of the top level folders. So there's a Redirecting servlet deployed as JenMark. When a url like the example above comes in, the Redirecting servlet forwards the request to
http://famousfamily2.dnsalias.org/famousfamily/archive?htmlpath=JenMark/MarksFolders/133_3394.html
The path parameter is the old location.
The archive servlet reads the path and maps that back to the ID in that place.
Eventually this remapping should be removed since links to the static folder path are not immutable anyway. Someone could move the element in their file system, sync up, and then the path is no longer valid.
That is way it is always a good practice to link by ID.
Old links use to also be made to the showelementpage servlet as in the following example.
http://famousfamily2.dnsalias.org/famousfamily/showelementpage?ID=58370
The new servlet takes those links and remaps them to the new format.
http://famousfamily2.dnsalias.org/famousfamily/archive?ID=58370
It was sort of a pain to do all this backwards link mapping, but it's necessary since so many family blogs link into the archive for photos.
http://famousfamily2.dnsalias.org/JenMark/MarksFolders/133_3394.html
That page is now defined as
http://famousfamily2.dnsalias.org/famousfamily/archive?ID=46732
I wanted to be able to achieve backwards support for the old links.
To achieve this, I defined a Redirecting servlet and deployed it as all of the top level folders. So there's a Redirecting servlet deployed as JenMark. When a url like the example above comes in, the Redirecting servlet forwards the request to
http://famousfamily2.dnsalias.org/famousfamily/archive?htmlpath=JenMark/MarksFolders/133_3394.html
The path parameter is the old location.
The archive servlet reads the path and maps that back to the ID in that place.
Eventually this remapping should be removed since links to the static folder path are not immutable anyway. Someone could move the element in their file system, sync up, and then the path is no longer valid.
That is way it is always a good practice to link by ID.
Old links use to also be made to the showelementpage servlet as in the following example.
http://famousfamily2.dnsalias.org/famousfamily/showelementpage?ID=58370
The new servlet takes those links and remaps them to the new format.
http://famousfamily2.dnsalias.org/famousfamily/archive?ID=58370
It was sort of a pain to do all this backwards link mapping, but it's necessary since so many family blogs link into the archive for photos.
I thought I might blog a little bit about my archive project.
Some background. The archive is an automatically generated web site from pictures in the family. I think most geeks have built the same thing. I build and maintain this to work on my Java/Sevlet/Tomcat skills and because it's fun. The unique points about mine are:
When new photos were addeed, a process went through and scanned the archive folder structure and generated a static web site to match. This was fine at the beginnning, and I made some major performance gains in the generation, but with 30,000 photos we were still looking at about a 20 minute publish time at best.
Each element has an associated XML file with additional attributes - attributes set from reading the photo information, added from the process or modified by user edits. I like this design instead of a database because the storage is all file based and organization is all file based. Everything matches what it synced. All XML processing is done using castor.
Tod came along and suggested we add tagging support. I'm still working on that at this moment and have some new ideas not seen on other projects. But regardless, I realized that if we were going to add tags, I could not keep generating the site in a static manner. It would be a lot more pages to generate to index and display elements under all of the tags. It would also be nearly impossible to regenerate specific pages appropriatly when the user added a tag.
So I decided to switch to a totally dynamic generation design.
Around version 5, I added the concept of an ID to the elements. I did this so links from other blogs or sites would work, even if the photos was moved. Any photo could be accessed by it's unique ID. Whenever the system published the static site, it publised an additionl master list of IDs and locations in an xml file.
This meant that when the server started up, it read the ID map and was able to resolve requests for a photo by ID by remapping to the location of the element.
In version 7, two major changes were made. All links were replaced by links based on IDs. In addition, all pages were generated dynamically based on their ID. The ID mapping information now contains some additional information about the element including its children (for folders in the file system hierarchy view), its date (for the calendar) and its title amoung other things. The primary source of the mapping informaiton is still the individual xml files associated with the element. There's a 1-2 minute process that can rescan the file system and rebuild the cache.
With the cache can handle, the servlet can dynamically render all pages in the archive without having to read in the element's xml attributes except when the element is viewed on it's own page (in any section). All of the related previous, next, up characteristics can be determined from the cache. The entire calendar map is pulled from the cache.
At this point, I'm ready to work on the next phase which is being able to tell the cache that either a new element has been added, or an element has been modified. This will support the ability to add a tag and see the changes immediately. This will also have a nice benefit in that when the sync is happening, as soon as the element is uploaded, it can be added to the cache and immediately visible on the site (pending thumbnail generation).
Finally, in version 7.1, I have moved the syncing process which used to be a independent application into the website. The entire archive is run as a single war file under tomcat. This will avoid having to do any inter-process communication when updating the cache.
I'll chat more as things progress. I think the Archive system is very interesting. There are dozens of ways to do a lot of these things, but it's fun to play around with the design and still be pragmatic about how things are done.
An additional note, now that the application is setup in Tomcat as a single war, I have a ant task in Eclipse that deploys new versions with a single click. Nothing like making a code change and putting it in production with a single click! Luckily with the more recent changes, this deployment can be made and the web site be back up in about 20 seconds.
Some background. The archive is an automatically generated web site from pictures in the family. I think most geeks have built the same thing. I build and maintain this to work on my Java/Sevlet/Tomcat skills and because it's fun. The unique points about mine are:
- Reads the photo information and uses the photo date to map to a calendar. (This has now been picked up by other projects, but I was doing this a couple years ago.) You can see all photos taken on a particular date.
- Each family member maintains their section on their computer. There is a sync operation they run to upload (or remove) any changes to sync up with the archive. They are in control of their section. This sync operation also acts as a backup for the archive. We even use it in the same house. The sync operation also publishes a follow up email with links to the new photos.
- Has useful functionality like Blog This which sets up a blogger posting with a link and a thumbnail on the image.
- Maintains a recent changes section to see newly added elements.
When new photos were addeed, a process went through and scanned the archive folder structure and generated a static web site to match. This was fine at the beginnning, and I made some major performance gains in the generation, but with 30,000 photos we were still looking at about a 20 minute publish time at best.
Each element has an associated XML file with additional attributes - attributes set from reading the photo information, added from the process or modified by user edits. I like this design instead of a database because the storage is all file based and organization is all file based. Everything matches what it synced. All XML processing is done using castor.
Tod came along and suggested we add tagging support. I'm still working on that at this moment and have some new ideas not seen on other projects. But regardless, I realized that if we were going to add tags, I could not keep generating the site in a static manner. It would be a lot more pages to generate to index and display elements under all of the tags. It would also be nearly impossible to regenerate specific pages appropriatly when the user added a tag.
So I decided to switch to a totally dynamic generation design.
Around version 5, I added the concept of an ID to the elements. I did this so links from other blogs or sites would work, even if the photos was moved. Any photo could be accessed by it's unique ID. Whenever the system published the static site, it publised an additionl master list of IDs and locations in an xml file.
This meant that when the server started up, it read the ID map and was able to resolve requests for a photo by ID by remapping to the location of the element.
In version 7, two major changes were made. All links were replaced by links based on IDs. In addition, all pages were generated dynamically based on their ID. The ID mapping information now contains some additional information about the element including its children (for folders in the file system hierarchy view), its date (for the calendar) and its title amoung other things. The primary source of the mapping informaiton is still the individual xml files associated with the element. There's a 1-2 minute process that can rescan the file system and rebuild the cache.
With the cache can handle, the servlet can dynamically render all pages in the archive without having to read in the element's xml attributes except when the element is viewed on it's own page (in any section). All of the related previous, next, up characteristics can be determined from the cache. The entire calendar map is pulled from the cache.
At this point, I'm ready to work on the next phase which is being able to tell the cache that either a new element has been added, or an element has been modified. This will support the ability to add a tag and see the changes immediately. This will also have a nice benefit in that when the sync is happening, as soon as the element is uploaded, it can be added to the cache and immediately visible on the site (pending thumbnail generation).
Finally, in version 7.1, I have moved the syncing process which used to be a independent application into the website. The entire archive is run as a single war file under tomcat. This will avoid having to do any inter-process communication when updating the cache.
I'll chat more as things progress. I think the Archive system is very interesting. There are dozens of ways to do a lot of these things, but it's fun to play around with the design and still be pragmatic about how things are done.
An additional note, now that the application is setup in Tomcat as a single war, I have a ant task in Eclipse that deploys new versions with a single click. Nothing like making a code change and putting it in production with a single click! Luckily with the more recent changes, this deployment can be made and the web site be back up in about 20 seconds.
Tuesday, January 10, 2006
I was listening to the Bernstein Mass tonight. I also found this:
Timeline: School of Music: Indiana University
Under 1988 it mentions "Leonard Bernsteins Mass at Tanglewood, as part of Boston Symphon's celebration of his seventieth birthday". I was in that performance. We performed the pieces several times in Bloomington, then went on the road to Tanglewood. My parents and other family members all attended the concert. I met Bernstein after the concert while he was sitting there with a drink and a cigarette. Mom got him to sign a program. It's in my scrapbook.
Under 1989 is also mentions "Philharmonic Orchestra participates in opening festivities of the Bastille Opera House" I was also in that performance and I made my orchestral debut as a celesta player. I convinced them they could save air-fare for one person to just let me play the part. The instrument in Paris waamazingng. traveleded to Paris for this concert. I have a photo album with lots of pictures.
Finally is mentions "Thomas Mathiesen, the nation's foremost authority on ancient Greek and Medieval Latin music theory texts, appointed" who taught me music history one semester.
Wow. Lots of memories.
Timeline: School of Music: Indiana University
Under 1988 it mentions "Leonard Bernsteins Mass at Tanglewood, as part of Boston Symphon's celebration of his seventieth birthday". I was in that performance. We performed the pieces several times in Bloomington, then went on the road to Tanglewood. My parents and other family members all attended the concert. I met Bernstein after the concert while he was sitting there with a drink and a cigarette. Mom got him to sign a program. It's in my scrapbook.
Under 1989 is also mentions "Philharmonic Orchestra participates in opening festivities of the Bastille Opera House" I was also in that performance and I made my orchestral debut as a celesta player. I convinced them they could save air-fare for one person to just let me play the part. The instrument in Paris waamazingng. traveleded to Paris for this concert. I have a photo album with lots of pictures.
Finally is mentions "Thomas Mathiesen, the nation's foremost authority on ancient Greek and Medieval Latin music theory texts, appointed" who taught me music history one semester.
Wow. Lots of memories.
Wednesday, December 07, 2005
Sunday, November 13, 2005
Today I played organ and directed the choir for the 8:00 AM and 10:15 AM services at St. John's Episcopal Church, Stamford, CT. It went pretty well. It was one of the most complex services I've played in a while and I had to do some improvisation. I also lead the choir rehearsal after the services. It was the first service I've played since we moved to CT and joined St. John's. I've directed a few anthems, but had not played and directed the whole service. I had some "I didn't know you could play" comments.
I must say one of the most enjoyable things is directing the rehearsal. We're working on some parts of the Handel Messiah and I was pleased to use some of the rehearsal techniques I've learned from Garmon Ashby and Bill Roberts when we rehearsed the same music at St. Philip's, Tucson, AZ. I'm really pleased with my experiences there. I think it give me a better idea of what to do with most pieces and I was exposed to such a large library of music.
I must say one of the most enjoyable things is directing the rehearsal. We're working on some parts of the Handel Messiah and I was pleased to use some of the rehearsal techniques I've learned from Garmon Ashby and Bill Roberts when we rehearsed the same music at St. Philip's, Tucson, AZ. I'm really pleased with my experiences there. I think it give me a better idea of what to do with most pieces and I was exposed to such a large library of music.
Thursday, October 20, 2005
Friday, September 02, 2005
Tetris - Wikipedia, the free encyclopedia
This is a very important piece of information.
(PS. My project codename at work is Tetris. We need a new name for a new version. Ideas?)
This is a very important piece of information.
(PS. My project codename at work is Tetris. We need a new name for a new version. Ideas?)
Subscribe to:
Posts (Atom)