Monday morning bright and early

Monday morning bright and early we departed Mom’s house for Disney World. Arrived just as the parks were opening… and it was raining. In fact it rained most to day and it was great cause it held the temperature down to the low 80’s. We parked at Epcot and took the bus to MGM Studios. Our first stop was for some rain gear then it was off to the Star Wars exhibit and a star ship ride to the planet Endor. Then we watched the 3D Muppet Show followed by a Back Lot Tour that included Catastrophe Canyon. Along the way we ran into Buzz Lightyear and Woody. Stopped long enough for a chat and pictures. Our next stop was the Greatest Movie Tour. The best part of this ride is the Wizard of Oz set where robots replay the “follow-the-yellow-brick-road” scene including the green wicked witch of the east. Next we hopped the bus back to Epcot and had lunch. We next walked through all of the cities of the world followed by a ride on the Test Track. Sandy & Melissa then went on the mission to Space ride while Jayson and I visited Imagination and designed, built and raced a robot. The day ended watching fireworks & light show. Sandy wore a pedometer this visit … it reported that we walked 12 miles. No wonder we were so tired. Vacation pictures.

We had a great flight

We had a great flight to Tampa … with one stop in St. Louis. We adopted two kids for the flight who were traveling alone. With four kids it was a fun flight. I reserved a compact rental car for our vacation. However ended up with a PT Cruiser for the same price. With four of us on this trip ,we need the extra room. It was dark as we drove to Mom’s, so did not see much hurricane damage. Arrived around 8:00 PM. Talked until the wee hours of the morning catching up on all the events. Jayson, Melissa, and Mom managed to play 3 games of old maid before going to bed. Sunday morning the card games resumed. While Mom, Sandy, and Jayson played cards, I sorted and organized yesterday’s pictures. Today the plan is to just relax, visit, and prepare for our Disney World visit tomorrow. See latest vacation pictures.

Tomorrow it’s off to Florida.

Tomorrow it’s off to Florida. We will be visiting my Mom, in Winter Haven. This small community was hit by four hurricanes this year. Two passed right over the town. Mom sustained virtually no damage. Just lost a few shingles. Looking forward to seeing first hand how the town held up. We have a late morning flight, so won’t get to Mom’s until around 8:00 PM Florida time… Sunday we will relax and visit with Mom. Then Monday it’s off to Disney World. Plan a return visit on Wednesday. The balance of time will be spent visiting with Mom. Expect to spend a lot of time playing cards. She loves to play “hand-and-foot”, and is quite good at it. This trip we are taking our Melissa, our granddaughter and our grandson Jayson. Jayson traveled with us last June when we visited Mom. It was his first trip to Disney World… he is an old hand and expects to be his cousins guide. Jayson is five and Melissa is seventeen. Will post updates with pictures later next week.

Last week I picked up

Last week I picked up the Aaron Hillegass Cocoa Programming fro Mac OS X, Second Edition book. Thought I might work it through and gain some proficiency with Object-C. So far I have completed the first five chapters including the Challenge exercises. Most of my time has been spent working the challenge exercises in chapter 4 & 5. Actually, the time was spent looking at the class documentation and figuring out how to implement a Delegate. Completing the exercise really made me feel stupid. It was actually so simple, but took several attempts over a three-day period to get it to work. Part of the problem is that at work use MS Visual Studio and code .Net C#. In this environment I use intelle-sense and seldom need to look at class documentation. However, the xcode IDE does not have this feature.

Today I learned that if I made a connection between my application window and the instance of my application using the window delegate, added the delegate definition to the .h file

– (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize;

and implemented it in the .m file I could control the widow size as the window was resized by the user.

– (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize
{
frameSize.height = frameSize.width * .5;
return frameSize;
}

What it really amounts to is the adding the definition of the delegate and returning its frameSize in the implementation. The coding paradigm is so different in Cocoa.

Christian Michael, Jayson’s brother is

ChristionMichael Christian Michael, Jayson’s brother is a real charmer. Yesterday, he walked Grandma out to her car and insisted they go for a ride. Now Christian can’t really talk yet but he was insistent that Grandma get in the car with him. You got to wonder what is going through that little mind.
jaysonronald Jayson has started school. He is in Kindergarten. Where has the time gone? Seems like only yesterday that he was this cute little baby. Now he is a big boy. Every day he amazes me with his growth both in physical size and understanding of the world around him. If you listen he really has some interesting insights. Our current big interest besides swimming is playing Halo on our Xbox. We are on the last level and looking forward to Halo 2.

The following example code details

The following example code details how to use the .NET datagrid edit features with a dropdownlist.

<%@ Page language=”c#” Codebehind=”WebForm1.aspx.cs” AutoEventWireup=”false” Inherits=”eform.WebForm1″ %>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<HTML>
<HEAD>
<title>WebForm1</title>
<meta content=”Microsoft Visual Studio .NET 7.1″ name=”GENERATOR”>
<meta content=”C#” name=”CODE_LANGUAGE”>
<meta content=”JavaScript” name=”vs_defaultClientScript”>
<meta content=”https://schemas.microsoft.com/intellisense/ie5&#8243; name=”vs_targetSchema”>
</HEAD>
<body>
<form id=”Form1″ method=”post” runat=”server”>
<TABLE id=”Table1″ cellSpacing=”1″ cellPadding=”1″ width=”300″ border=”1″>
<TR>
<TD>
<asp:Label id=”Label1″ runat=”server”>Label</asp:Label></TD>
</TR>
<TR>
<TD><asp:datagrid id=”DataGrid1″ runat=”server” OnUpdateCommand=”DataGrid_Update” OnCancelCommand=”DataGrid_Cancel” OnEditCommand=”DataGrid_Edit” AutoGenerateColumns=”False”>
<Columns>
<asp:BoundColumn HeaderText=”Employee ID” DataField=”emp_id” ReadOnly=”True” ItemStyle-Width=150 HeaderStyle-Wrap=False ItemStyle-Wrap=”False” />
<asp:BoundColumn HeaderText=”Last Name” DataField=”lname” ItemStyle-Width=200 HeaderStyle-Wrap=False ItemStyle-Wrap=”False” />
<asp:BoundColumn HeaderText=”First Name” DataField=”fname” ItemStyle-Width=200 HeaderStyle-Wrap=False ItemStyle-Wrap=”False” />
<asp:TemplateColumn HeaderText=”Job Title” HeaderStyle-Wrap=False ItemStyle-Width=200 ItemStyle-Wrap=”False”>
<ItemTemplate>
<asp:Label ID=”JobTitle” Runat=”server” Text='<%# DataBinder.Eval(Container.DataItem, “job_desc”) %>’ />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID=”ddlJobTitle” Runat=”server” DataSource=”<%# GetJobDataTable() %>” DataTextField=”job_desc” DataValueField=”job_id” />
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType=”LinkButton” CancelText=”Cancel” EditText=”Edit” UpdateText=”Save” />
</Columns>
</asp:datagrid></TD>
</TR>
<TR>
<TD></TD>
</TR>
</TABLE>
</form>
</body>
</HTML>

using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.ApplicationBlocks.Data;

namespace eform
{
///

/// Summary description for WebForm1.
///

public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
GetData();
BindData();
}
}

private void GetData()
{
string ConnString = ConfigurationSettings.AppSettings[“PUBSCONNSTRING”];
DataSet ds = SqlHelper.ExecuteDataset(ConnString,”pr_GetEmployees”);
Session[“EmployeeDataTable”] = ds.Tables[0];
Session[“JobsDataTable”]= ds.Tables[1];
}

private void BindData()
{
DataTable dt = (DataTable) Session[“EmployeeDataTable”];
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

///

/// Required method for Designer support – do not modify
/// the contents of this method with the code editor.
///

private void InitializeComponent()
{
this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

protected void DataGrid_Cancel(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = -1;
BindData();
}

protected void DataGrid_Delete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{

}

protected void DataGrid_Edit(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
BindData();
}

protected void DataGrid_Update(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string ConnString = ConfigurationSettings.AppSettings[“PUBSCONNSTRING”];

string val2 = e.Item.Cells[0].Text;
string val3 = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
string val4 = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
int val5 = Int32.Parse(((DropDownList)e.Item.Cells[3].Controls[1]).SelectedItem.Value);

SqlParameter[] arParams = new SqlParameter[4];
arParams[0] = new SqlParameter(“@EMP_ID”, e.Item.Cells[0].Text);
arParams[1] = new SqlParameter(“@FNAME”, ((TextBox)e.Item.Cells[1].Controls[0]).Text);
arParams[2] = new SqlParameter(“@LNAME”, ((TextBox)e.Item.Cells[2].Controls[0]).Text);
arParams[3] = new SqlParameter(“@JOB_ID”, Int32.Parse(((DropDownList)e.Item.Cells[3].Controls[1]).SelectedItem.Value));

try
{
SqlHelper.ExecuteNonQuery(ConnString,”pr_UpdateEmployee”,arParams);
}
catch(SqlException sqlEx)
{
Label1.Text = sqlEx.Message.ToString();
}
DataGrid1.EditItemIndex = -1;
GetData();
BindData();
}

private void DataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.EditItem)
{
DataRowView objDataRowView = (DataRowView)e.Item.DataItem;
string CurrentJobDesc = (string)objDataRowView[4].ToString();
DropDownList ctlDropDownList = (DropDownList)e.Item.FindControl(“ddlJobTitle”);
ctlDropDownList.SelectedIndex = ctlDropDownList.Items.IndexOf(ctlDropDownList.Items.FindByText(CurrentJobDesc));
}
}

protected DataTable GetJobDataTable()
{
return (DataTable) Session[“JobsDataTable”];
}

}
}

This posting is a community

This posting is a community experiment that tests how a meme, represented by this blog posting, spreads across blogspace, physical space and time. It will help to show how ideas travel across blogs in space and time and how blogs are connected. It may also help to show which blogs are most influential in the propagation of memes. The dataset from this experiment will be public, and can be located via Google (or Technorati) by doing a search for the GUID for this meme (below).

The original posting for this experiment is located at: Minding the Planet (Permalink: https://novaspivack.typepad.com/nova_spivacks_weblog/2004/08/a_sonar_ping_of.html) – results and commentary will appear there in the future.

Please join the test by adding your blog (see instructions, below) and inviting your friends to participate — the more the better. The data from this test will be public and open; others may use it to visualize and study the connectedness of blogspace and the propagation of memes across blogs.

The GUID for this experiment is: as098398298250swg9e98929872525389t9987898tq98wteqtgaq62010920352598gawst (this GUID enables anyone to easily search Google (or Technorati) for all blogs that participate in this experiment). Anyone is free to analyze the data of this experiment. Please publicize your analysis of the data, and/or any comments by adding comments onto the original post (see URL above). (Note: it would be interesting to see a geographic map or a temporal animation, as well as a social network map of the propagation of this meme.)

INSTRUCTIONS

To add your blog to this experiment, copy this entire posting to your blog, and then answer the questions below, substituting your own information, below, where appropriate. Other than answering the questions below, please do not alter the information, layout or format of this post in order to preserve the integrity of the data in this experiment (this will make it easier for searchers and automated bots to find and analyze the results later).

REQUIRED FIELDS (Note: Replace the answers below with your own answers)

* (1) I found this experiment at URL: https://wrt-brooke.syr.edu/cgbvb/
* (2) I found it via “Browsing the Web”
* (3) I posted this experiment at URL: https://blog.my-list.com/
* (4) I posted this on date (day, month, year): 03 August 2004
* (5) I posted this at time (24 hour time): 21:00:00 (UTC-8)
* (6) My posting location is (city, state, country): Phoenix,Arizona, USA

OPTIONAL SURVEY FIELDS (Replace the answers below with your own answers):

* (7) My blog is hosted by: myself (personal MT installation)
* (8) My age is:
* (9) My gender is: Male
* (10) My occupation is: Programmer
* (11) I use the following RSS/Atom reader software:
* (12) I use the following software to post to my blog: Moveable Type
* (13) I have been blogging since (day, month, year): January 2003
* (14) My web browser is: Safari
* (15) My operating system is: Mac OS X (10.3.4)

The crack service team at

The crack service team at earthlink has managed to fail again. Contrary to their repeated assurances, my account was not cancelled. Once again I called, and once again was promised that this time my account was cancelled. The refund of charges for the past ten months has still not been processed. It exists in their system. However, has not received a supervisor’s approval. This is their story and they a sticking to it. Did I mention that earthlink has outsourced their customer service to another country? Now these people don’t have a clue. They have a script, which they follow. Suspect that is why they are all so good at telling the same story. You get what you pay for…. earthlink pays some poor smuck 25 cents and hour and their incompetence drives customers away. Have now initiated a fraud complaint with my credit card company. Will see how that goes.

WARNING: EARTHLINK SUBSCRIPTIONS ARE HAZARDOUS TO YOUR WALLET.