Friday, December 02, 2005

Over the past nearly 4 years of Vermont.NET, I have given away hundreds of books donated by publishers. Early on, I enabled the VTdotNET website so that the recipients of those books could post reviews of them. Here is our book review page and our software review page. It's the least we can do in return for receiving the books.

After about a year, I gave up on begging, harrassing and otherwise attempting to get people to review books and even software licenses - sometimes valued in the thousands.

If you have a book that you got from VTdotNET, we would still appreciate your review. It doesn't have to be your life's work. Here are some great tips from O'Reilly about writing book reviews.



Don't Forget: www.acehaid.org
Friday, December 02, 2005 2:21:22 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
6pm eastern time

Don't Forget: www.acehaid.org
Friday, December 02, 2005 1:52:06 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Welcome to Roma.NET, by way of Lorenzo Barbieri



Don't Forget: www.acehaid.org
Friday, December 02, 2005 1:26:50 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

G.B. is our cat. He snuck out the door last night at about 11pm as I was letting the dogs back in from their pre-bed pee. And he bolted. I knew he would not come back for hours and hours and I after making a few attempts to lure him back to the house with the sound of tapping a spoon on his beloved cat food bowl, I knew that there was nothing I could do and went to bed with the window cracked so if he came back and meowed, maybe we would hear him.

It's a scary place for cats around here at night. He is allowed to go out during the day time, but we always feed him at 5 and he does not go back outdoors after that. Our back yard leads into the mountains and who knows what cat-eating critters laying in wait. We know there are coyotes and foxes and occasional bears. Also Fisher Cats (originally brought into Vermont to help wth the porcupine problem) are notorious cat killers.

But luckily for all of us, Rich woke up just before 7am to the sound of G.B. saying "yo! I'm home. It's f'in cold out here. I'm covered with snow and I want my damned breakfast!" or maybe it was just "meow meow, let me in pleeeeeeeeeeze!". After he finished his breakfast, he ran up stairs to snuggle under the covers for a while and warm back up.

We will have to be that much more diligent now that he has had the taste of an exciting night out. I sure wonder what he did for those 8 hours.



Don't Forget: www.acehaid.org
Friday, December 02, 2005 10:10:52 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I admit that when I tested out the migration tool, I had limited time, so chose a whimpy app to migrate.

Dave Burke is working with a much more complex app and is frustrated.



Don't Forget: www.acehaid.org
Friday, December 02, 2005 9:01:59 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Last month, I noted an article about HP trying to bring technology into impoverished communities in Africa with the hope that access to information will be a big help. Perhaps in some insulated cases, the benefits will be measurable. However, you may have noticed the many references yesterday (AIDS awareness day) to the fact that South Africa has the highest rate of AIDS in the world. Will people in those AIDS striken AND impoverished communities benefit from access to the internet?

Caterina Fake, on misbehaving.net, points to a counter argument by a woman from a different part of Africa, Cameroon.

Update: Dare Obasanjo, who is from Nigeria and someone who has my utmost respect,  chimes in.  Dare certainly knows more about Africa, as a continent, politically and socially,than most of us who are looking at this issue through our small and distant portholes.


Don't Forget: www.acehaid.org

Friday, December 02, 2005 8:52:18 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

This post by Charles Petzold goes in the "why I don't want to write a book" column...

I could a) do without the pressure and b) probably not focus that well.



Don't Forget: www.acehaid.org
Friday, December 02, 2005 8:44:52 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I think Mike Campbell needs a little help with his VB.NET poetry. Go help him list all the great things about VB.



Don't Forget: www.acehaid.org
Friday, December 02, 2005 8:30:02 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Wednesday, November 30, 2005

Some spam entertains me so. Really, I'm so excited about my new career options!

You have been chosen for enrolment in the Career Alteration Program (CAP)

You have the choice of three new professions which are currently hiring. You will have qualifications within 2 weeks for automatic acceptance.

1) Technical Power Engineer Management. Salary starts at $89,000 annually.

2) Trade Commercial Consultant. Salary starts at $74,000 annually.

3) Labor Manufacture Production Officer. Salary starts at $102,000 annually.

Please contact us immediatly in order to receive your certificates to start in one of these careers.



Don't Forget: www.acehaid.org
Wednesday, November 30, 2005 9:57:42 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I finally take the dual monitor plunge.... read more

[A DevLife post]



Don't Forget: www.acehaid.org
Wednesday, November 30, 2005 4:34:25 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
and he means it. Try not to laugh too hard when you read about his sad predicament.

Don't Forget: www.acehaid.org
Wednesday, November 30, 2005 11:26:28 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, November 29, 2005

We are getting into the really awful winter days when it is pitch black by 5pm. Since I work out of my house and do not have patterns of 8-5 or whatever to follow, this always takes adjusting. I tend to work until it gets dark and then think about dinner. In the summer, this makes for some unhappy campers in my house - hungry dogs, cats and husbands start whining around 8pm if I'm heads down (or worse yet, they decide to do the cooking - burritos are okay, but Kraft Mac & Cheese does not float my boat.). In the winter, I start thinking about dinner at 5 and have a difficult time sitting still in front of my computer and continuing to work. (So there's always the blog to procrastinate with.) I have never been a "winter blues" type of person, but I do need to think about shifting my schedule so that I spend some time outdoors during the day while it's light out.

I know that Don Kiely, who lives in Alaska and has much more drastic daylight patterns, tells me that folks up there really make the most of daylight. Play by day and work by night. Now if only I can get my clients to shift to that schedule too and not expect me to be here from 9-5 (or more like 7am - 11pm).



Don't Forget: www.acehaid.org
Tuesday, November 29, 2005 5:42:10 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

This is from the site of one of the largest software consulting shops in Vermont, Competitive Computing, aka "C2". I believe they may also be the only Gold Partner in Vermont (but I could be wrong).

C2 wins Microsoft partner award!
Microsoft has awarded Competitive Computing with its "Microsoft New England Quarterly Area Partner Award" for exceptional performance. Carolyn Edwards, President and CEO of Competitive Computing, received the award at a special luncheon at Microsoft's New England Executive Briefing Center on October 20, 2005.



Don't Forget: www.acehaid.org
Tuesday, November 29, 2005 3:23:30 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Bah humbug. I'm sure it will be packed though and there's lots of nice college students who will be happy for the waitressing jobs I'm sure. Don't expect any Vermont.NET user group meetings there anytime soon. Though I suppose if I could get casey to come to Vermont, we could go for burgers there.



Don't Forget: www.acehaid.org
Tuesday, November 29, 2005 9:17:00 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, November 28, 2005

My client wants me to port an entire (and complicated) VS2003 application to VS2005, just so we can leverage ClickOnce. Here's the story....

[A DevLife post]



Don't Forget: www.acehaid.org
Monday, November 28, 2005 10:03:11 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Like many, I have been overwhelmed by the full msdn blog list and realized that I don't need to have so many blogs on topics I can't focus on at all in my feed. So I finally did it. I removed the feed and have subscribed explicitly to a bunch of individual blogs.



Don't Forget: www.acehaid.org
Monday, November 28, 2005 7:59:57 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Wednesday, November 23, 2005

I do a lot of different things in my "job" as a independent consultant. What makes it all work? read more here

[A DevLife post]



Don't Forget: www.acehaid.org
Wednesday, November 23, 2005 9:24:32 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, November 22, 2005

nothing like a little Vermont snow to welcome him with...



Don't Forget: www.acehaid.org
Tuesday, November 22, 2005 5:22:44 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

In VB6 with Crystal Reports 8, embedding an image dynamically into a Crystal Reports file was fairly simple. You could merely add a new object to the report on the fly, passing in the path of the image file then drop it into the appropriate section and x/y position on the report.

Dim oleobj As OLEObject
oRpt.Sections(8).AddPictureObject imgfileName, 1920, 1560

In VS.NET 2003 (I haven't looked at how to do this in 2005 yet), it is hardly as easy as this and I needed to do it to solve a serious file bloat problem. I had a 13kb image that I needed to embed as a watermark into the background of the file. You do this by creating a page header section that is the height of the paper and in the formatting options for the section, check "Underlay Following Sections". That way, the section will be a watermark under all of the rest of the sections of the report. However, because of the way Crystal does this underlay, my dlls that contain a report with a watermark were over 2MB when compiled. Without the image, they went back down to 200kb - 350kb depending on other variables.

Embedding the watermark image dynamically was going to help me get rid of this file bloat problem, but it was not as simple as the previous crystal API.

I had some help from tech support and modified the code to suit my needs and will share it here.

The trick is to stream the file into a datatable and then add the datatable as one of the datasource objects of the report. Then the field which represents the image, can be dragged and dropped onto the report surface.

What I did was create a class for extending Crystal call CrystalAddOns. In it I have a shared function that takes in the path of the image file and returns a datatable creating the binary for the image.

Here is the class.

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Data
Imports System.IO
Public Class CrystalAddOns

'========================

Public Shared Function ImageTable(ByVal ImageFile As String) As DataTable
' Create a dataTable
  Dim data As New DataTable
' Declare a row object.
 
Dim row As DataRow
 
data.TableName = "Images"
' Add a Byte Array field to the dataset.
 
data.Columns.Add("img", System.Type.GetType("System.Byte[]"))
' Repeat for each image.if you have more than one...
'==================
' Read in the image file.(in VS2005 you can use ReadAllBytes and skip the streaming)
  Dim fs As New FileStream(ImageFile, FileMode.Open)
' Create a new binary reader object.
  Dim br As New BinaryReader(fs)
' Create a new row object.
  row = data.NewRow()
' Stream the image into the row.
  row(0) = br.ReadBytes(br.BaseStream.Length)
' Add the row to the dataset.
  data.Rows.Add(row)
 
br =
Nothing
  fs.Close
  fs = Nothing
'==================
' Run through this line of code the the first time you create the dataset
' To create the schema file. The schema file will be the datasource for the
' subreport that holds the image. Add this to the project and then add it to
' the report in design time. Then you can drag & drop the img field onto the
' report.

 'Dim ds As New DataSet
 'ds.Tables.Add(data)
 
'ds.WriteXmlSchema(System.IO.Directory.GetCurrentDirectory() & "\Image.xsd")

Return data

'don't forget your exceptions!!

End Function
End
Class

Now that you have this class, you can use it easily when instantiating your reports:

rpt.Database.Tables(1).SetDataSource(CrystalAddOns.ImageTable(myfilePath)

This assumes that the schema file was the 2nd datasource in your report.

My class also has additional goo to handle specific watermarks, such as a "draft" watermark. This way my call would ask for CrystalAddOns.DraftImageTable() and the CrystalAddOns class already has the path of the file.

Note that the full blown version of Crystal Reports that can be upgraded to from the one that comes with VS2003 (and the next version that you can upgrade to from VS2005) have a Dynamic Image Location feature (which I have never tried) that supposedly makes this much simpler. My guess is that the Dynamic Image Location does the same thing as my class.

Don't Forget: www.acehaid.org

Tuesday, November 22, 2005 4:41:06 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I think my head has been under the rock as far as vs2005 WinForms UI design stuff is concerened. I was fiddling wtih Winforms the other day and wanted to put a line on the form and realized I still can't do it the old VB6 way. I just dropped a panel on instead and put the "below the line" stuff inside the panel. I want the line there at design time, so the GDI+ way wasn't my cup of tea.



Don't Forget: www.acehaid.org
Tuesday, November 22, 2005 1:33:56 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  |