Monday, June 27, 2005

Rainbow



Today I got to enjoy a Rainbow as the storm came into our neighborhood. If you look carefully to the right of the rainbow, you will see a faint second rainbow. This was a quick snapshot. So I just took the default landscape settings on my camera. I dont have PaintShop Pro installed at the moment (reloaded computer), so I didn't get a chance to straighten the shot. Sorry, my daughter wont give me enough time to install it. :)

[Looks like blogger reduced the image detail when I posted it. Sorry that you cant see the original image.]

Microsoft on Security

I was listening to an MSDN TV clip on SQL Server 2005. Thomas Rizzo makes this interesting, and funny comment...

One thing I want to point out is both SQL CLR and Web Services are off by default when you install SQL Server. I don't want developers out there saying, oh, my god, is this on by default? What if a virus comes along or anything like that? You do have to explicitly turn it on, both the CLR and the Web Services support. We are making sure that it is very secure out of the box.


Ok, secure out of the box... by turning it off! Very nice, maybe I should turn off my Windows XP machine to make sure it is secure as well. :)

Friday, June 24, 2005

Reporting Fun

This is for my Java friends using SQL Server.

Yesterday I went to the MSDN Event and got to see some presentations on SQL Server 2005 Reporting Services. While it is still in beta, it really looked great. SQL Server 2005 adds Web Services directly into SQL Server. So you dont need IIS to talk to a Web Services (SOAP) with SQL Server. A Java application could easily remotely call stored procedures or services on SQL Server using HTTP/SOAP.

Calling SQL Server over web services gets exciting because you can call Reporting Services on SQL Server. Reporting Services looks really powerful and easy to use. So you could use Reporting Services to create those pretty reports (without BizObjects or Crystal Reports), and display the results in your java front end (HTML and other formats are available).

Another nice feature of Reporting Services is the Report Builder. With this, you can export a "Model" of your database. This model contains the definitions of tables, views, relations that the end-user can use to create their own reports. The model lets you decide what tables the user should query in their reports. Then running Report Builder they can drag and drop columns to build reports. Very easy! What if they dont have Report Builder installed? No problem, MS has made it a "no touch install", which means you can simple follow a link on a webpage and the app gets installed and run. Very similar to Java's Webstart. Ok, so now the user has created the report design. In Report Builder, they can post the report design back to SQL Server Reporting Services (it uses secure HTTP/Soap webservices). Then the report is available for future use. Since Reporting Service is exposed as a WebService you can easily call it from your Java code. Super cool. It sure beats the things we had to do at my last job to get some very basic Crystal Reports functions into the application.

Wednesday, June 22, 2005

Eric Gamma on pair programming

In Patterns and Practice Part IV, Eric Gamma is quoted:
"It's also an excellent way to improve your skills. I always learn something from a pair programming session and I wish I would do it more often."

I must agree that pair programming is very educational. I think I've picked up skills better by pair programming than from other activities. Plus it is more fun.

Prevayler everywhere, maybe not.

Prevayler is a great persistence engine for Java. I've used it a couple of times at home when I needed to persist small amounts of data. Prevayler is based on Serialization and the Command pattern. Overall the engine is pretty fast and lightweight. Writing code to use Prevayler is fairly simple. You just have to put your collection into Prevayler and create command objects for every update. The collection and commands have to be serializable.

So now that I'm working in the .Net world, I had a need to persist a small set of objects. I found Bamboo.Prevalence on SourceForge. I was real excited to find a prevayler for .Net. So I started a test project to get familiar with Bamboo (v1.4.4.4). My simple test failed. I kept getting mysterious exceptions while creating the Bamboo engine. So I thought I would look for docs, but there were none. So I thought I'd look at user groups / mail-lists; they were practically empty. I found a couple of articles, but they were out of date. Bamboo's API has changed since the articles were written. So Bamboo is now getting deleted from my disk. It is a tragic end. Using undocumented open-source is not practical.

Recommended: Prevayler for Java

Not Recommended: Bamboo.Prevalence v1.4.4.4 for .Net

Sunday, June 19, 2005

Vancouver

Last week I had a great trip to Vancouver. The weather was sunny most of the week which is really great for that time of year. Sunil and I tried every Indian restraunt we could find in the area. Plus, I got to eat African and Maylsian food. Also the area had plenty of healthy food. I had a great time trying out all the foods. I think my favorite was a Tai place near our office. We walked all around during the week. IT was really good for me to walk so much.

The trip was productive even though it was short. For myself it was really great to meet the guys from India. I realize now that I had some resentment towards the India team. Mostly because of the unwelcome change to my job and for those who lost their jobs in Bham. But after getting to know those guys better, I've put my resentment behind. These guys are just computer geeks like myself. They are in much the same place in life as myself. Trying to raise families and make a good living. Unfortunately for them, they have to be displaced more than me to meet the demands of their career. After getting to know them, I now look forward to working with them.

Friday, June 10, 2005

Good reading... Eric Gamma on Design Patterns

I've been reading a series of articles on Design Patterns. The articles are here, here and here. Eric Gamma shows great experience with developing using Design Patterns, Frameworks, etc. I particularly like the way he defines toolkits, frameworks, and class libraries. Providing some tips about the pros and cons of each. There might be more articles in this series, so keep watching out for them.

Thursday, June 09, 2005

Office fun... MYTOB.AR

This afternoon we are getting lots of emails. The MYTOB.AR worm has taken a bite out of office productivity. Ah the adventures of cyberspace.

What's up?

Life is going well in my new home. The kids are just getting over the latest round of colds. David is teething. Michelle and I have picked up the cold. So everyone is happy. Heather started swim lessons, so she is loving the time to get into the pool. We got a slip and slide for her. Lots of fun! (No I didn't slide on it.) I would grab Heather and pull her down the slide. Since it was her first encounter with it, I didn't think she was ready to try taking a running dive at the slide. Overall, she played in the slides sprikler more than sliding.

In my new house, I ran a cat5 cable to the location where I want to place my computer. I don't want to go wireless. So I had all the fun of drilling holes and pulling cables. It took a lot longer than I expected because I had to keep going to the store to get different supplies. Plus trying to work on the house with two toddlers constently interrupting slowed me down. Now I just need the time to move the furniture and setup the PC properly.

Friday, June 03, 2005

Guidance

My friend Richard sent me this funny explination of Missile Guidance. Enjoy!

I also found this one: Battleship.jpg which made me think of Raf for some unknown reason.

No Phones, No Lights, No Motor Cars; Not a Single Luxury

I now know that I'm living out in the country. I have no phone service! The last set of thunderstorms knocked out dial-tone in my area. It has been gone for 24+ hrs now (Friday), and BellSouth currently estimates it will be **TUESDAY** to get it fixed.

Thankfully my DSL still works great, so I'm not completely cut off from civilization like the crew on Gilligan's Island. Unfortunately I'm one of those dead-beats who refuses to get a cell-phone. So I don't have any phone at home. I guess I could use Skype to make a call out using the internet. In a pinch I could always run to a neighbors and use their cell phone :)

So not having a phone for a few days will be an adventure. Especially since it falls on a weekend. It makes it harder to coordinate getting together with friends and family. But, it wont be that difficult. If I had lost internet service, then I think I would start looking for a new house.