logo
  • Jobs
  • About Me
  • Contact
  • Home

Archive for June, 2003

« Previous Entries

What Matrix persona are you? I am the Oracle…


You are The Oracle, from “The Matrix.”
Wise, kind, honest- is there anything slightly
negative about you? You are genuinely
supportive of others. Careful not to let people
take advantage of you, though.

What Matrix Persona Are You?
brought to you by Quizilla

No Comments

MCSD Bound, cont’d

My MCSD books finally showed up. I’ve also ordered a Transcenders test for the C# Web exam.

To get an idea for where I should start studying, I took the practice exam. Gosh, Im a lot smarter than I thought I was. I ended up scoring 800/1000, which means that had it been the real test, I would have failed.

I do feel kinda good about the fact that I got that close. I remember the last time I took a Transcenders practice exam, I got like 50% with a technology that I felt fairly comfortable with.

Maybe I would have scored better if I wouldnt have been watching Stanley Cup finals while taking the practice test…

I do have a better idea for the things that I need to study. Also, hearing that the Transcenders tests are typically harder than the real thing has me feeling really good about taking a test soon.

1 Comment

Databinding is the devil

So, I’ve completely rewritten a project that i’m working on… The reason, you ask? Data binding is the devil…

I was greatly fascinated by its promises of being able to have a data entry UI without writing any code. Wow! This is cool. No more need to track dirty state. No need to write a bunch of code to get the values out of controls. Life is good!

Then I went to implement it… At first blush, everything seemed to work really well. Then the sporadic bugs started to appear. A control value was being pushed here, context was lost there, etc…

There are a lot of things to getting custom controls to work with databinding. The biggest one is that they require an OnValidating event to be raised up. This is just ridiculous. If I have a composite control with 5 textboxes on it and a combobox, I have to hook up to the validating event on each of these, and then call my custom control’s OnValidating method.

Hrmmm… Let’s look at this… Isn’t the control dirty as soon as the user changes the contents of that control? Why then is it required to hook up the Validating event? What this says is that a control’s value cant be updated to the dataset until after you’ve tabbed off the control. This may not be so bad, you think, until you start having to write code like this:

private void toolbar_ButtonClick(object sender, ToolBarButtonClickEventArgs e)
{
    toolbar.Focus();
    ...
}

This is required, since clicking on a toolbar button does not give it focus. Since I had a save button on my toolbar, every time I clicked save, I was running into the last edited value was not being persisted to the underlying data store.

A few other gripes that I have:

  • Why would the framework allow a call to CurrencyManager.AddNew to silently error when you’ve bound to a DateTimePicker or CheckBox that allows null values? (FYI: The work around is to set a default value on your column, via dataset annotations or editing of the generated code file.)
  • Why can’t you set the SelectedIndex property of a databound combobox to -1? I have tried variations of this, such as SelectedValue, to no avail.
  • What exactly is CurrencyManager for? Everything I expected this control to do, it wouldn’t. I had attempted to bypass SelectedIndexChanged on the combobox, in lieu of the PositionChanged event on the CurrencyManager. My goal was to provide a method to completely clear out the values of the user controls.
  • Why isn’t data binding documented better in the MSDN files? The only thing that I’ve been able to discover in there is some very rudimentary examples, but nothing that even remotely resembles any real world example.

I should note that some of my frustrations may be because I’m not completely familiar with how the data binding architecture works. Although, I feel that I have learned all I want to know about it for now.

All in all, I went back to the old tried and true method for my application. The application is significantly quicker, and no more complaints from the client. Life really is good.

Maybe now I can have some time to relax and pay some more attention to this blog.

No Comments

Life at 30

I guess Im officially an old man now. I turn 30 today. I’ve really kinda been dreading this for a while, but now that its here, I guess its really not THAT bad.

A friend told me that he was completely ok with 30, but 31 is what really bothered him, because then he was then “over 30″.

I’ve been thinking about this for a while. Thinking about everything that has happened since Ive been around. It’s completely amazing to me how far computers and technology have come. When I was in the 6th grade, my parents ended up getting me a Commodore 64, complete with tape drive and 300 baud modem. At that time, that was bleeding edge.

Then, several years later, I ended up getting a screaming 386sx/16 with 1MB of RAM and a 100 MB hard drive… Again, bleeding edge… Are you starting to see a pattern here?

Now, Ive got a Dell desktop that’s 2.4 ghz, 512 MB RAM (just over 5 times the size of my first hard drive), and 80gb.

Hardware is not the only thing that has made significant strides. Software and software development has also made similar jumps. I mean, how cool is it that I can write something here and my 2 readers automatically get notified? How cool is it that I can have an IM chat with my cousin in Europe? These kinds of things are common place now, and I can’t imagine living without them. Several years ago, however, I would have never thought these kinds of things possible.

I can only imagine what the coming years will bring…

1 Comment

Component Interaction Patterns

Earlier today, Sean sent me a link to a PDF entitled Component Interaction Patterns.

The abstract:

Many projects today use a component-based approach to developing software. Component-Based Development (CBD) stresses language and platform interoperability, and separation of interface from implementation. Existing and newly constructed components are being deployed to clients and servers to build flexible, reusable solutions.

However, assembling a system consisting of custom and pre-built components can be difficult because of hidden dependencies, complex interactions, and obscure design. This pattern language has abstract interactions, component bus, component glue, third-party binding, and consumer-producer as five patterns that make it easier to assemble components that communicate, collaborate, and coordinate to get a job done…

No Comments

SQL Server Centric .NET code generator, cont’d

Olymars finally made primetime at Microsoft.com, who is now hosting it (as opposed to Microsoft France).

I talked previously about my thoughts on this product. Nice thing about this one is that now there is also a tutorial offered. Downloading now…

SQL Server Centric .NET Code Generator (code named OlyMars) is both a flexible and powerful code generator based on database modeling.

It allows instant generation of both SQL and .Net code providing a complete library of stored procedures, .NET classes and ready-to-use Windows/Web form controls (including associated documentation).

SQL Server Centric .NET Code Generator is also fully extensible to use one’s own custom templates and consequently can be adjusted to generate any custom code respecting a homogeneous implementation scheme within the company (can be written either in VB .NET or C# .NET).

[Microsoft.Com]

No Comments

Sosa Ejected for Using Corked Bat

Very interesting… Makes you wonder if this is what’s making this guy such a powerful hitter.

Sammy Sosa, the Chicago Cubs’ slugger, was ejected in a game against the Tampa Bay Devil Rays when umpires discovered cork in his broken bat.

[New York Times: Sports]

No Comments

Cordless Phones and WiFi

So, after several months of my previous cordless phone (a Panasonic KX-TG2583W) causing interference with my WiFi connection at home, I finally broke down and bought a new phone. I ended up getting the Uniden TRU5885-2 5.8 gHz Cordless Phone.

Some nice features on this phone, include dual handsets and bi-directional 5.8 gHz. This was important, because apparently the reason for the interference was due to the fact that the Panasonic was running at 2.4 gHz, as was my Linksys access point. This Uniden phone is apparently the only one that runs 5.8 gHz both ways. Most only go 5.8 from the receiver to the handset, and then 2.4 back to the base.

We’ll see how it works out tomorrow. I hope that I don’t have to send it back…

3 Comments

NewsGator Posted Items

Greg tells me this today regarding items posted from NewsGator:

There is a folder called “Posted Items” underneath your base news folder; copies of all posts are stored there, even if there’s an error in the plug-in.

So, for example, I keep all of my NewsGator feeds in a base folder called @RSS. Underneath that, there is a folder called Posted Items which contains everything I’ve posted via the plugins. How cool is that?

No Comments

MCSD Bound

I finally decided that it is time to get some certifications.

While Im not the biggest fan of certifications, because most of them do not measure true ability, a lot of people do find a lot of value in these.

My chosen certification path is the Microsoft Certified Solutions Developer track using C#. I really think I will learn a lot from this. However, I would feel much better about gaining this cert if it was similar to the Java developer’s examination.

With the Java developer certification, you are required to author an application to a given set of specifications and then also are required to talk intelligently about the choices you made regarding architecture and programming techniques.

This type of certification is much more valuable, I think, because not only will you gain an in depth knowledge of the framework, but you will also know how to put this knowledge into practice. I hope that Microsoft ends up offering a similar certification path.

My first exam after I receive my books, 70-135 (Developing and implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET).

I’ll keep everyone informed of my progress.

No Comments
« Previous Entries
flag
Favorite Charity
wounded warrior project
Search
Social
  • mattberther on twitter
  • mattberther on linkedin
Syndication
Archives
  • January 2010
  • September 2009
  • July 2009
  • June 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • September 2008
  • August 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • November 2006
  • October 2006
  • September 2006
  • August 2006
  • July 2006
  • June 2006
  • May 2006
  • April 2006
  • March 2006
  • February 2006
  • January 2006
  • December 2005
  • November 2005
  • October 2005
  • September 2005
  • August 2005
  • July 2005
  • June 2005
  • May 2005
  • April 2005
  • March 2005
  • February 2005
  • January 2005
  • December 2004
  • November 2004
  • October 2004
  • September 2004
  • August 2004
  • July 2004
  • June 2004
  • May 2004
  • April 2004
  • March 2004
  • February 2004
  • January 2004
  • December 2003
  • November 2003
  • October 2003
  • September 2003
  • August 2003
  • July 2003
  • June 2003
  • May 2003
  • April 2003
  • March 2003
mattberther.com © 2003 - 2010