Raba - Defend your code RSS 2.0
# Tuesday, December 19, 2006

ESRI Just released the 9.2 version, which holds pretty much cool features, but still has a lot of stuff to work on till the next release.

IMHO, ESRI should work much more like MS when planning the next release (talk to their clients),
One way to do this is to free the beta on the net to whom it may concern, and open more official blogs and forums to the crowd, so we will help doing better product together.
I think that it will help them learning more new stuff\old habits.

This are my highlights, (I am still learning the 9.2 so I'll keep updating this list):

  1. Performance - They have today better performance than ever (I have a doubtful honor to write code using the map-objects and the ArcIms products, which were both terribly bad products {3.1 Version})
    But still, a lot to improve: build pyramids and calculate statistics still take hours even on good machines and therefore we cannot use this regularly on real time.
    The "simple" AGX, which should be used on each client, need better machine which not all of our clients can afford, and not to talk about the bandwidth.
  2. Prices - I honestly think that it is not reasonable to pay per CPU, I hope that there would more competitors (Google, Microsoft) so the price for the next version will be lower.
  3. Better Design - the code examples and the design patterns (no DP at all) are everything we learn not to do at school.
    Please take some lessons in usability (at MS School) because it is hardly to read and not intuitive.
    Not to mention the code in the Web Controls which always placed in the wrong method at the control life-cycle,(for example: load data in pre-render, Ajax stuff mixing inside simple renders)(I saw this in the beta, I didn't check it in the release, yet).
  4. WPF - It is about time that finally ESRI will work with MS step by step, I should ask why won't we use the Xaml for this version (which released almost at the same time as the FW3.0).
    ESRI should take care that the next version should be FW3.0 certified, using the Xaml.
    Not to mention the Orcas Enabled.

Please add your suggestion, hopefully to find someone in ESRI to listen to my requests.

Tuesday, December 19, 2006 12:06:30 AM (GMT Standard Time, UTC+00:00)  #    Comments [3] - Trackback
GIS

# Saturday, November 11, 2006

At work I have two computers, one with VS2003 (the older one), and on the other one I've installed VS2005, they both share the same user-profile (network profile, I guess).

When building my solution I got this warning:
   CS1668: Invalid search path 'C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib'
   specified in 'LIB Environment Variable' -- 'the system cannot find the file specified.'

This warning has occurred on each project build.

My first step was to try finding the path, which of course wasn't there.
My next step was to search the Environment variables and there it was the LIB variable was pointing on the given path.

As a conclusion, the VS2005 try to load the LIB variables at each build operation, and cannot find it.
Just delete the unrecognized paths from the LIB and your VS2005 will stop showing annoying warnings.

Moreover, this is a 1-0 to the VS2005, this is a good example for descriptive error.

* I've heard that this problem happen for others when installing the VS2005 on a computer with VS2003 that has been deleted.

Saturday, November 11, 2006 5:07:56 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
.Net | .Net 2.0 | Software Development

After a long period of testing and customizing the Team foundation Server to our needs, We can finally say that we have a great results.

First, I would like to invite all of you: use the TFS it is a great tool and it will help you being more productive.
Second, Matan1 and I thought about useful feature for the next release:

Inheritance in process templates (VSTS)
Background:
   We have two different systems: StandardWorld, AmazingWorld.
   We want to customize the bug work-item, for example, so each programmer\tester will not forget 
   writing important details.
   (for example: the user's profile which caused the error.
   Why? because in our system we would like to know the user's profile which produced the bug).
   But Hey, it is system-based, in StandardWorld, for example, we don't have profiles at all.

How do we gonna implement this today:
   Today we just create two different process templates (AmazingWorld-ProcessTemplate and 
   StandardWorld-ProcessTemplate) which are the same, but with different additions for each 
   system. For example: in AmazingWorld-ProcessTemplate we would add the special field to the 
   bug work-item.

The Problem:
   All the  known copy&paste errors, from the Software development, each minor change will reflect
   on two different places, and so on. 
   Think about your code, we always try to prevent the copy&paste operation.

Our Solution:
   Lets define inheritance between process templates.
   For example: StandardWorld will use the default template (the base template), and the 
                     AmazingWorld will use the extended template (the one with added features).
   The logic should be like this:
      For each new template we could choose if we want to inherit from other class/template or not.

Updated:
  I opened a lady bug at microsoft:
  http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=241462
  Vote for it.

Conclusion:
   We think that it will help us create more generic templates!
   Let me know what do you think about this?
   Is this a good feature for the next version?


1A few words about Matan: he took this mission with his two hands (strong and big I might say) and lead the team to a better process. If you would like to ask more questions about the TFS do not hesitate.

Saturday, November 11, 2006 4:09:12 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
Software Development | Team Foundation Server

Omer Van Kloeten check the opportunity to invite the Israeli Bloggers to Dinner (I think that it gonna be in his house :).

But hey, I think that this is a great idea, so raise your hand if you think like me, or just leave a comment here.

Saturday, November 11, 2006 3:26:08 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
Life

# Monday, September 04, 2006

For the next post I'll split our world into two parts:
Architect - the one who creates those guidelines
Programmers - those who get the guidelines and should follow the directions.

Tools Vocabulary:

  • GAX - Guidance Automation Extension:
    This Part of installation should be installed on all your programmers' stations, this installation is working as a run-time environment on your computer. Once you installed the GAX you can download tons of guidance installers (MSI\Setup.exe), you can find those on the net or ask your architect to create some for you(read GAT bullet for further info).
  • GAT - Guidance Automation Toolkit:
    This part of the installation will be used by the Architect (The one who writes those guidelines).
    After installing the GAT, you can insert your VS2005 and create a new solution : go to Guidance package and see your new sample packages.


Here are your first steps in the GAT world:
(From now on (this post, only) I am the Architect and you are my enthusiastic-gifted-lovely programmers).

  1. Download the GAX,  run the MSI, in this point there is no visible difference in your VS2005. 
  2. Download my sample project: GatLectures.Lec1Setup.msi (592.00KB) and run the installer, this sample project creates a sample solution. In this solution you can find more options on your context menu (Fig1), you can also see the new snippets(Fig 3 & Fig 4) I've inserted.
    Here are some screen shots samples:


Create Customized class
Fig 1. Add Your custom made class, instead of copy&paste from others class.

         Custom made property screen
Fig 2. Custom made screen for inserting the class parameters and generating the class data.

 

Projects snippets
Fig 3. Choose your current snippets by moving between the existing projects

 

Your Project Snippets
Fig 4. I've added two snippets samples, and you (the programmer) can use it without installing 
        anything else. (all programmers will use the same snippets in the whole project)

        Stop Here, Please try those two steps by yourself!

        After you've finished playing with this package yourself you can simply remove the package by going 
        to your: Control Panel -> add/remove programs -> remove the GatLectures.Lec1Setup.

  1. Now you can play the architect role yourself:
    * Step 1 - Download the GAT and install it.
    * Step 2 - Open your VS2005
    * Step 3 - Open a new project -> Guidance Packages, 
                   here you can see the Guidance Package Development.
    If your fingers are dancing on the keyboard, like mine were in this installation, you can try this out or you can wait a little bit.
    On my next lectures I'll give a full explanation on how to do this right.

The First two steps will be a common behavior for programmers, the third step will be done by the architect or the guidelines creator.

* Special thanks to Gil for assisting me in the programmer's side (phase 1 and 2 of the installation & the screenshots).


* I would be glad to receive any question\remarks either by comment or by mail, it will help me understand your point of view and where my explanations are insufficient.
* If you want to see something else (either simpler or complicated) just send me a comment or mail.
Monday, September 04, 2006 12:20:22 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
.Net 2.0 | Guidance Automation Toolkit

# Friday, August 25, 2006

Gat is an acronym for Guidance Automation Toolkit, this name is a self descriptive.
The first big example I can think about GAT usage is for all the big guidance docs in our office, every programmer wrote at least one guidance document.

For example, document that holds your team standards, such as: all of our web-pages will inherit from MyTeamMasterPage.
For example, in my team we always open new web-page which inherit from the same page, which holds some helper properties.
Another example is in our Dal & BO which both sitting in COM+ they both inherit from the same class and implement the same interfaces and so on.

This guidance docs are pretty good, because they force the same standards between the team members, but the big problem that new programmers will need more time before they could learn and use all those specific standards, and also this is a waste of time for the programmer.
When we change those standards we should learn everyone those new standards and it take some time to get used to this new standards.

The Gat is giving you whole new world to automate this process and to stop the monkey copy-paste.

For example instead of adding new empty WebForm.aspx you can cause your programmers to add the special MyTeamWebForm.aspx which holds inside the logical stuff we describe before.

I know that some of you might mumble to yourself: Merlin did the same or I wrote such Add-ins, but it is more powerful than you can think about it right now, so stay tuned for the next days I'll post here my tutorial for the Gat newbie.

Friday, August 25, 2006 9:13:40 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
.Net 2.0 | Guidance Automation Toolkit

# Wednesday, August 23, 2006
Shani's presentation about Microsoft Buzz-Words & dotnet in the future.
Wednesday, August 23, 2006 9:45:39 PM (GMT Daylight Time, UTC+01:00)  #    Comments [3] - Trackback
Microsoft Products

# Saturday, August 19, 2006

For almost a week my site is suffer from unknown crashes, I cannot determine what are the causes
for this behavior but I am trying to fix it.

The Strange thing is that I am sitting on the same machine with Pasha Bitz
and with this blog which they both using dasblog and still working perfect.

I want to apologize for the inconvenience.
Hopefully find the causes and fix it.

Saturday, August 19, 2006 3:53:53 PM (GMT Daylight Time, UTC+01:00)  #    Comments [4] - Trackback
My Site

# Friday, August 18, 2006

It was a shiny morning (I think it was Sunday, the one before the last one), we tried to create a new project after we finished the installation. yes, it was the beta 3, and we actually installed this on our machines, we spent the whole day (Sunday) trying to figure out what we did wrong, the symptoms: After the installation finished we could not see the project site! no error had occurred!

we were really disappointed to start all over again. we even re-install windows again with no luck.

I read some dudes writing about installation of the release instead of the beta 3, so I talked to Eliaz to send me the disk, we actually got it last Sunday, starting enthusiastic to install it, of course that we start everything from scratch. we didn't make it, again!

so we start Google it up, using almost every log file in our server, and checking almost every error, we found out some great points and I'll share them with you:

  1. We Made the beta 3 installation step by step, almost by the book, except for one little step: we didn't give SMTP server (Security master didn't let us). I am not sure but I think that the beta 3 must install the alert using SMTP, if we had one on the specified server it might solve the beta 3 problem.
  2. It turns out that the disks we installed (Microsoft sent us) were beta (all of them)
    how to recognize the real TFS version? there are many ways (if you are shouting: written on the disk! you wrong, it isn't one of them), I'll post some of them:
    * The release version disk includes two directories that are not exists in the beta 3.
       (SQLServerKB, KB913393)
    * While installing the beta 3, in the TFS installation, you will get to a screen asking about the
       service and reports users, they both won't validate the password, while in the release
       version it will check validity of password, for example: try to put a space in the password,
       the release will show a message alerting that you cannot use space in your password...
    * If you won't install those KBs above (from the new two directories), the release version
       will alert you in the "system health check" step at the TFS installation,
       while the beta 3, will not check those dependencies (while they are actually a must)
    * After installing the TFS:
       1) Go to your IE click: http://YourServerName/ you should view a page under construction.
       2) Go to http://localhost:8080/services/v1.0/registration.asmx you will get a service, invoke
           it using an empty string.
       If they are, both, working you are in the right direction.
       BTW, for getting the real TFS Version you can, simply, download it from:
       Microsoft Download center - VSTFS Trial Edition
  3. I recommend to install the TFS using Tim Erickson's post, he actually wrote every click in the installation process.
  4. After reading step-3, I must add that Tim didn't mention the fact that you must install the SQLServerKB after the SQL Server installation step.
    If you didn't do this you will get an error while trying to install this hot-fix, something about a shared files that cannot be moved.
    All you have to do is:
    Start -> Control Panel -> Administrative tools -> services -> and stop the SQL Server Browser process. and continue the hot-fix installation.
  5. In our place the passwords must include space (Yes, the Security master, again) so as I said I've got a validation error in the TFS installation phase, I make a simple workaround:
    define two new local users (YourMachine\local_TFSService & YourMachine\local_TFSReports) with your own simple passwords and continue the installation.
    It works perfect for me, but I read that local users will cause problems on connecting your server from other (remote Pc). I didn't check this yet, I worked on the same machine for now.
    I'll let you know:
    1) If it's true and what the problems.
    2) How to change the users after the installation (without removing everything).
       (after all I almost sure that those users saved in one of the TFS services)  

I know that it sounds scary, and I always read about people trying to solve different bugs, and strange unclear comments but it is worth it and with the release version it is also fun and simple.

Thanks to Elad & Yoav for all the nights we spent together helping each other to solve strange problems during this operation.

Friday, August 18, 2006 11:38:46 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
Team Foundation Server

# Sunday, August 13, 2006

While reading my emails, I found out an email from Martin Woodward, who let me know some great new things about my first article about the TFS (Team Foundation Server - where to start?)

  1. The company that ships the Eclipse plug-in is called "Teamprise".
  2. The "TeamPlain" product is currently a web interface to Team Foundation Server from DevBiz.
  3. You can see a great demo, for further information about the usage of this product.
  4. You can download fully functional copy of the plug-in here.

Thank you Martin.

Sunday, August 13, 2006 10:26:26 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
Software Development | Team Foundation Server

Archive
<December 2006>
SunMonTueWedThuFriSat
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456
Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Shani Raba
Sign In
Statistics
Total Posts: 145
This Year: 0
This Month: 0
This Week: 0
Comments: 97
Cool Stuff
Add to Technorati Favorites
Themes
Pick a theme:
All Content © 2012, Shani Raba
DasBlog theme 'Business' created by Christoph De Baene (delarou)