Owned by Technology

Tuesday, January 17, 2006

PM Project Manager or Painin Myass

Just a quick post here. I'm currently working on a project that has had many complications during it's lifecycle, which I attribute to not having specs nailed down. That's fine, as it is somewhat normal in the consulting area, but what is a concern is that the deadline is quickly approaching and the thing is still incomplete and very VERY buggy. I am the only programmer on this project, but I have a Project Manager and some "helpers" which my PM and boss thought would help the process (insert "too many cooks..." Quote here) if they were added near the end of the project. Now, the main reason why I'm adding this entry is that I'm currently working 10hr days to try to get this done (this really isn't done at my workplace 8 hrs max, some people work 6 daily), and my PM can be traced back to some of the problems that I'm having (not asking the client to nail the specs down), and what is his main concern this morning. "I've set the clock on my PC 3 times between yesterday and today and it always goes ahead 3-4 minutes. Do you know how to fix that?". If this is really his primary concern, I very well might be looking for a new job come April as my project will not make the deadline.

Friday, September 16, 2005

Nintendo's Next Revolution and Innovation

I should start out and mention that while most of the posts on this blog so far have been programming and .Net related, I am a gaming nut so I will occasionally discuss some stuff from that industry that really interests me.
At the Tokyo Game Show earlier today Nintendo revealed (after much speculation following the E3 reveal of the Revolution) the controller for they're next-gen system the Revolution. Now the first thing I guess I should point out is I'm not sure if you can call it a controller, have a look:



Now If this is you first time seeing this there maybe some reaction like "Huh?", or "WTF?" but let me shed some light. The "controller" is similar to a light gun in some ways but far superior in others, using sensors it can completely judge where you are aiming the thing and also it has depth perception, so it can sense front to back movements. Some examples of the Hands-On stuff that the lucky few industry insiders got to try out were, a fishing game (making a casting motion to cast your line, then a quick pull back motion when you feel a catch on the end), a block busting game (which I'm guessing was basically a point-and-shoot type of thing), a level from Metroid Prime 2: Echoes (using the analog periphial to move and aiming with the controller), and a few others. Unfortunately, I was not there so I cannot give hands-on impressions but from watching a teaser video (I wish I could find the link) it looks like this is going to add a whole new level of interactivity with games, they show examples of adventure (ala Zelda swing the controller like a sword), baseball (swing it like a bat), and a shooter like Time Crisis where it works like a light-gun. Now I may not have given a wide-range of examples, and to some it may seem a little gimicky, or even a bit of a risk on Nintendo's behalf. I guess if this thing does not have a great reception Nintendo always have the handhelds to fall back on, but I just feel that it will open gaming to a wider audience.
As for the other two players in the next-gen race I still think they will still enjoy the majority of the market share, because of the more traditional style, and a continuing support from solid 3rd party exclusives.
What really gets me excited is that we are only 2 1/2 months away from the start of the next generation, and while I don't plan on buying the 360 right away, (i think, maybe, well I'll have to see when it's released) it sure should be fun.

Friday, September 09, 2005

MCP Certification

Recently I completed 2 Microsoft Exams, and I must say they really are not that difficult. I completed 70-305 (Web Applications with Visual Basic) and 70-306 (Windows Applications with Visual Basic) with scores of 839 and 925 respectfully. While this is only 2 exams and I know that I have 3 exams to go before I achieve the MCSD status, I really cannot see it being a big problem. What I would advise to anybody preparing for a Microsoft or any other exams is pick up a book although you don't need to have it memorized front-to-back, use practice tests (if available, I know these can be rather expensive, and I am lucky enough that my employer is willing to buy the Trancender materials), and what I found to be the most helpful is braindumps. If you don't know what braindumps are they are basically lists of actual exam questions, and I noticed that most of the dumps are up to date and you will see the same questions in the dumps on the exam, I put a link on here to the site that I found useful (it's free). Good luck achieving your Certs!

Friday, June 24, 2005

Visual Studio.Net 2005

I visited a Toronto .Net User Group meeting that showcased VS.Net 2005 (beta2), and I must say that I am really excited for this product.
I am a Visual Basic/SQL/ASP developer, and from what I saw there are some really nice new features that Microsoft has added to this product. Mind you the demonstration was only 2.5 hours in length so it barely even scratched the surface, but I'll give some of what I thought were highlights.
Visual Basic:
1. Addition of a using statement. If you have ever worked in C# you know how valuable this can be as any item that is referenced with this statement is automatically created and destroyed when it is not needed any more (nice performance gains)
2. Code Snipits, while the speaker did not get into great detail with this subject, it was pretty cool. Basically it is lazy man's coding, but if you're writing 10000 lines of code they can be very helpful, it allows you to select some pre defined code blocks, then shows you where you have to enter you're own values, also you can create you're own snipits.
3. Error Helpers. If there is an error in you're code and you are not quite sure how to fix it, you can now click the error and it will give you suggestions on how to fix your error.
ASP:
1. You DO NOT NEED IIS TO BE INSTALLED TO DEVELOP A WEB APPLICATION. I put that in uppercase because I wanted to get the point across. Basically VS will find an acceptable port on your machine and allow you to view your developing app though it (i.e. localhost:1065/Myapp).
2. Disconnected Web Applications. This was really cool I thought. You do not have to be connected to run Web Apps any more, they can be built as an installing application. This type of app also uses a technology similar to Windows Update to detect when the user is connected to the internet or network that the app resides on, and it will check if an update is available.
3. I didn't see it myself but supposedly they have improved the way that the designer view interprets HTML and regular ASP, which means that there should be less of the "Designer View cannot render such and such code"
Team Services:
This is a new addition and most of us saw it coming, it's a tie in with SharePoint Services, where projects can be maintained, and monitored without asking the people involved to fill out progress reports all the time. I basically ties in the System Analysts, PM's, Developers, Testers, and even End-users, and allows the PM's to view reports on the projects. Now I didn't get to see this in action but I have seen SharePoint in action and I have worked with Reporting Services so I can imagine how valuable this will be. I do believe that it is an add-on, or it maybe a completely different suite.
Well that's about all that I took in from 2 and 1/2 hour presentation on the new Visual Studio, I suggest that if you want more info, or want to try out the Beta2 go to lab.msdn.microsoft.com/vs2005. Now I do believe you have to be an MSDN subscriber to download the beta2, but for 10$ I they will ship it out to you (I know Microsoft should be able to afford to ship this out for free). The only thing I suggest if you are interested is put this on a Virtual Machine as it is a beta and you need to install .Net Framework 2.0 which I believe has not had all the bugs hammered out of it, oh and a side note on the .Net Framework 2.0, I recently heard from Microsoft that the 2.0 Framework from SQL Server 2005 CTP is not compatible with the 2.0 Framework for Visual Studio 2005 (go figure) so yes if you have this installed you would need another VM to run SQL 2005.

Monday, June 13, 2005

Formatting Windows.Forms.DataGrid

Now I know that there are a ton of third party datagrid's out there that make formatting them much, much easier then Microsoft's, but they can also be quite expensive for the licenses so there is a good chance that you will be stuck with using the built-in grid. I'm going to take this time to share some of the knowledge that I have obtained while recently working with formatting this datagrid.
Now, I have read many an article on this subject, and I am going to repeat what probably most of those authors and possibly someone reading this might feel; formatting the windows.forms.datagrid is a right pain in the a**.
I have worked with two third-party grids, and they make this far easier by building in a "format" property to either the column or table object. I'm sure Microsoft has it's reasons for not doing this but, I don't know exactly why.
Instead of babbling on how about I plop in some sample code with explanations:

First of course is add a datagrid to a Windows Form (I am assuming that you know how to create a Windows Application), name it what ever you want.

Before we proceed I will mention something that I have not seen in other articles on this subject; You MUST have data in order to format the grid. You cannot just format and see the changes without having a datasource assigned to the grid.

I'll be using a SQL Table in this example. I created the following table:
tbCostImpact
Columns:
Type ; y2005 ; y2006 ; y2007 ; y2008
Values
Product Mix Current ; 10000 ; 15000 ; 20000 ; 25000
Product Mix Future ; 5000 ; 10000 ; 15000 ; 20000
Cost/Savings Increase ; +5000 ; +5000 ; +5000 ; +5000

Now I'm going to show a bunch of code, but I'll put comments around where I feel it is important. I am assuming that you have placed a Datagrid on a Windows or Web Form.

' I created a sub to populate and format the grid which I named dgCostImpact
Public Sub FormatdgCostImpact()
' Create a connection object (place your own values where it's in italics)
Dim conn As New SqlConnection("Data Source=servername;Initial Catalog=database;User ID=userid;pwd=password")
' Create the command, dataadapter, and dataset objects
Dim cmd As New SqlCommand("SELECT * FROM tbCostImpact", conn)
Dim da As SqlDataAdapter
da = New SqlDataAdapter(cmd)
Dim ds As New DataSet
' Fill the dataset
da.Fill(ds, "CostImpact")
' Now the fun begins with the datagrid formatting
' First declare a new DatagridTableStyle object (later this will be assigned to the datagrid)
Dim ts As New DataGridTableStyle
' This mapping name refers to the table in the dataset
ts.MappingName = "CostImpact"
' Next declare DataGridColumn objects, there are many different types of DataGridColumn
' I am using TextBox because it applies here, check out msdn for the other types

Dim col1 As New DataGridTextBoxColumn
Dim col2 As New DataGridTextBoxColumn
Dim col3 As New DataGridTextBoxColumn
Dim col4 As New DataGridTextBoxColumn
Dim col5 As New DataGridTextBoxColumn
' Here is where the formatting properties are set
With col1
.MappingName = "Type" ' Column Name
.HeaderText = "Type" ' Column Header
.Width = 175 ' Column Width
.TextBox.Enabled = True ' Enable the column
End With
' The above is repeated for each column
With col2
.MappingName = "y2005"
.HeaderText = "2005"
.Width = 50
.TextBox.Enabled = True
End With
With col3
.MappingName = "y2006"
.HeaderText = "2006"
.Width = 50
.TextBox.Enabled = True
End With
With col4
.MappingName = "y2007"
.HeaderText = "2007"
.Width = 50
.TextBox.Enabled = True
End With
With col5
.MappingName = "y2008"
.HeaderText = "2008"
.Width = 50
.TextBox.Enabled = True
End With
' Once the column properties have been set it is now time to add the formatted
' columns to the GridColumnStylesObject
With ts
.GridColumnStyles.Add(col1)
.GridColumnStyles.Add(col2)
.GridColumnStyles.Add(col3)
.GridColumnStyles.Add(col4)
.GridColumnStyles.Add(col5)
' Add some color formatting to the GridTableStyles object (just to pretty up the appearance)
.BackColor = System.Drawing.Color.LightSkyBlue
.HeaderBackColor = System.Drawing.Color.AliceBlue
End With
' Now just add the table style to the table, then set the table
' datasource to be the dataset from earlier
dgCostImpact.TableStyles.Add(ts)
dgCostImpact.DataSource = ds.Tables(0)
End Sub

And that's it, hopefully I have been able to shed some light on this subject for people, I know that I was having some troubles with it, but once you have done it a couple of times you will start to realize that yes it is a lot of code for simple formatting, but really it isn't that difficult.