Raba - Defend your code RSS 2.0
# Sunday, April 08, 2007

I've Added new capability to my blog, this called Snap Preview Anywhere.
You probably see this before in some Web2.0 sites, but I was surprised how easy is to add it to yours.

I like this new feature of mine :).

SnapOfDasblonde.PNG

Small snap preview of a small snap preview for DasBlonde blog

You should try this too.

P.S. 1
This cool feature of snapshots is enable only on the left panel, (links and blogrolls).
I should check why this ain't work on the main page, I think that dasblog saves its links using *.ashx instead of pure href.

P.S. 2
I would like to hear your opinions about this feature and other recommendations for new features.

Sunday, April 08, 2007 11:23:10 PM (GMT Daylight Time, UTC+01:00)  #    Comments [4] - Trackback
Life | My Site | Scripting Technology

We are using the Team Foundation Server and we start using the Code-Analysis in our build process.
Migrate Code-Analysis: this option migrate a predefined Code-Analysis rules, so the team-leader can create a template Code-Analysis rules (from now on will be called: Team Code-Analysis) each programmer should click the Migrate Code-Analysis on his solution, (the result on the local solution will be called: Programmer Code-Analysis).

From MSDN: "The ability to migrate allows you to stay synchronized with the settings on the server.".

My co-workers told me that even when we create an empty Team Code-Analysis they still get annoying warnings for Security Rules, Usage Rules and more rules that I didn't turned on. After playing on and off with our solutions I found out that the migration will save the most strict rules.
for example:
 Team Code-Analysis: only Naming Rules
 Programmer Code-Analysis: Usage Rules
 At the end: the solution will have them both.

This all not so bad, the real problem starts when I changed the Team Code-Analysis templates:
We start the project with full rules, but realize very quickly that we cannot have them all, so we turned off most of them, and today we have only the Naming Rules.
But the solution itself: still holds the strict rules, so it will hold them all.

I am pretty sure that such behavior is by design, but I think that this one is not the best choice. why won't you ask me what I want to do with my migration...

One more tip:
If you have issues like this, it is not a great fun to tell all you programmers\Co-Workers to turn off the unwanted rules (each solution * each project).
The pragmatic approach: Those configuration will be saved locally under your BIN directory inside a file named: AssemblyName.dll.CodeAnalysisLog.xml, so all you should do is to make a sample solution and sent it to everyone, including a simple batch with xcopy to the right folders.

Enjoy.

Sunday, April 08, 2007 1:17:17 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
.Net 2.0 | Team Foundation Server

We created a bunch of DLLs which we would like to share between different solutions on our computers. We thought that gacutil.exe all alone is enough, probably not.
When we tried to find the file under the .NET tab - we couldn't find it, but the it was registered to the GAC.

I will start by showing some ladybugs:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=105471
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=105884
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=111950

Those ladybugs help me get better understanding of this issue.

I searched a little bit and found out two ways to resolve this problem:

  • The first solution is to put a copy of your DLLs in the VS IDE Directory (C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727).
  • The second solution is to create a sub key under: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NET\AssemblyFolders] and insert the real directory path to its value.

For me I prefer the second idea, this look more organized, and you can get better management of your DLLs.

After you will make one of those you could simply find the Assembly in your "add reference -> .NET tab.".

Sunday, April 08, 2007 12:39:00 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
.Net 2.0

# Monday, April 02, 2007

Three new Bloggers are in town, they all my child, I love them all and each one of them has a lot of good stuff to share with you.

Doron Yaacoby, Yossi Shmueli (aka YsA), Yoav Michaeli (Hebrew).

I wish you all luck and love.

Monday, April 02, 2007 2:05:34 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
Life | My Site

# Saturday, March 31, 2007

I am not sure yet what is the problem, but I have a strange syndication error, I read Oren's post about his Syndicate bug but I found out that mine Syndication error occurs even when I simply write and publish. like this post (which did not saved before published).

Oren even check with Scott Hanselman but they couldn't reproduce his error.
I'll check my xml files and and keep updating later on.

Saturday, March 31, 2007 12:48:52 PM (GMT Daylight Time, UTC+01:00)  #    Comments [3] - Trackback
My Site

As you already know my team works on ESRI products, which are off-the-shelf products, we have daily battles of understanding and solving performance issues. the main challenge is to understand where in our branched architecture the problem.
I already wrote about this ESRI processes and the "Process Explorer" I also called this Debugging the unknown.

I always said that we all good programmers, we all know to write (more or less) readable code, but most of us lack the understanding of how things are working at the background. The difference between a good programmer to an expert is that the experts truly know what is going on behind the scenes.

Last week Liran, talented boy from our Unix team, shows me this magic: Cacti.
Cacti is an RRDTool which can help us gather important details about the OS functionality and its background operations.
I am still not sure what we wrote their in his scripts, but I saw that it was short&easy to write new scripts.
The real cool thing is that creates an intranet site, which makes this easier to connect, it runs in front of our UNIX\Linux servers. I know how to run some cool scripts in UNIX, I also wrote some scripts using shell\bash\kshell, but this is better, you can get everything using graphs, and do not need to remember even you DB server name.
We are using Cacti to monitor our SDE server (Linux) and our DB Server(Oracle 10.2 on AIX5.3).

Two days later, we return our investment, when we had two crashes because of Virtual memory, you can easily see that in those graphs, which saves the history in MySQL DB.

Again, It won't solve all your problems, but you must understand that without such tools you will spend hours on hours when your DB fall again and again.
With such tool you can also predict errors when you are doing you exams at the development phase.

I would like to hear about more tools you know and use.

Saturday, March 31, 2007 10:59:11 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
DataBase | SDE | Software Development

# Sunday, March 25, 2007

After writing a special post about Changing the annoying ESRI Icon, I found another way to do those things at the ofiicial ESRI site.
Read this post about changing\adding skin.

 

 

Sunday, March 25, 2007 11:45:28 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
AGX

# Saturday, March 10, 2007

in sysinternals you can find many tools,
this tool: Process Explorer is one that I found useful for my last week.

I am using ESRI product called: ArcGIS Server, which is an of the shelf product with huge API and large architecture, I made some calls from the client to the server, their Map control show an Image from file system, somehow the file is locked: cannot be deleted, cannot be changed., my bigger problem that other users which using the same control and trying to watch the map cannot enter it. I wanted to find which one of the processes locked my image.
Process explorer come to the rescue: you can find more details about its feature here.

Do not afraid of debugging the unknown.

Saturday, March 10, 2007 1:22:19 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
GIS | ArcGis Server

I will start this post by letting you know this genius person named: Scott Hanselman. I know that this is stupid, and you should be shamed if you are not reading his blog, I also know that Scott does not need my redirection nor my readers, but I must let you know about something I liked.

I've just heard the "Hiring and Interviewing Engineers" Podcast, this discussion is between Scott and Carl Franklin it make me lough out loud on my way home this Thursday, I think it is one of the best podcasts I 've heard, here are the things that I think that make this podcast so special:

  1. The podcast is also talking about the fizzbuzz way of thinking, which I totally agree that this is not a good question for an interview.
  2. They are explaining their way of thinking, like coding something you didn't code before, for example: you are good in asp.net, so code me a client service sample.
  3. The best thing, is that this podcast make me think through the podcast which is thing that is not happening so often in podcasts. I really felt like I am in an interview:
    • Create an object model of a Chicken.
    • Have them Critic something... (what is it that you don't like in C#). (great, genius)
    • They have at the end of the podcast: a session of debugging a strange error, one of those randomly shown bugs, and they are trying to resolve the bug together, really cool bug.
  4. I liked the way they talked about the bug and the way they think together.

I think this podcast is a must.

Saturday, March 10, 2007 1:05:39 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
Life

I usually write my posts in a notepad and then paste it to the DasBlog editor, afterwards I fix and rewrite it.
Today I spent almost an hour in a keyboard battle.

my_keyborad.JPG

Those two make my nightmares come through, when I pressed them they do a kind of "go to the prev page" in the explorer (IE7) which delete all the changes I made.

I'll win this battle.

Saturday, March 10, 2007 12:25:28 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
Life | Software Development

At my team we start using the scrum methodology, we are now learning this stuff on the fly, for further understanding I recommend reading Avi Wortzel blog. Avi is the other team leader and a good friend and I admire his way of thinking, pay attention to him.
As Avi said, on daily meeting post, we are two team leaders and we make together the daily meetings (6 people), we both scrum masters each one gets his turn.

I would like to share my thoughts with you:

  1. Fix the "daily meeting" method (or, one more question to the casual three questions)
    • The problem
      I have a problem with the way people are letting you know what they are going to do today, for example: I am working on this module or I am doing that aspx page. The real problem is that the day after it will probably be the same task.
    • Resolving the problem
      • my first rule: talk about the things you really do, the problems you are trying to solve today.
      • I also added one more question, "what did you had to do yesterday and didn't make it".
        This question is the connection between the first and the second. so a co-worker should say: "Yesterday I did this and that, and didn't make this," and then continue with: "today I would continue in that and this"  or maybe: "I won't make it today also it will be postponed to the next week".
      • Don't ask: "why didn't you do this!", you are a scrum master, not a mother, this will annoy your programmers! (read the "Talk to your co-workers not to me: " section for better understanding) .
  2. Keep the order for better understanding.
    • The problem
      • programmers told me that they are confused and do not understand a word from the other programmers, there are many way to solve this issue.
    • Resolving the problem
      • try to keep the order of the sentences, about yesterday, today and impediments while the fourth question is like a hidden question between the yesterday and today.  the fourth is a connective question, you should still distinct between the three parts.
      • don't mess the sentences order, it will cause a confusion in some of your co-workers.
      • there are people who like to talk, that is not a problem, but do it in your turn, and in the right order.
  3. Talk to your co-workers not to me:
    • The problem
      • I always feel that people are talking to me and not to the other co-workers at the room, I don't have a good solution for this issue, but as far as I know it will take them time to understand it.
        You are probably asking time? so when? I think that on the day that they will really feel that the last meeting was helpful to you he or she will do it right.
    • Resolving the problem
      • I don't have a good solution for this issue, but as far as I know it will take them time to understand it.
        You are probably asking time? so when? I think that on the day that they will really feel that the last meeting was helpful to you he or she will do it right.
      • Scrum master questions: don't!, if you are the team leader & also the scrum muster, you should try to be less dominant, your workers\programmers always feel that you are testing them, yes this is true the team leader is always watching you, but try to do this without irritate them, let them feel you trust them, let them make their mistakes, this will also help them feel that they are talking to their friends not to you. (it sounds stupid, but there is a lot of ego in the room after all, and some one should give up).
  4. Implement the whole class do not left stubs out there. (or, daily meeting as a part of the whole scrum methodology)
    • The problem
      • People are implementing only part of the system.
    • Resolving the problem
      • I don't think that this is a real big problem, but you must understand the strengths and weaknesses of each feature in the methodology so you could choose whether to implement or not.
      • I think you can't do daily meetings without the scrum review.
      • I do think that you need to implement the whole methodology together, but if you need to start, it is better to start with
           part of the methods and learn the other on the fly.

What do you think?

Saturday, March 10, 2007 11:01:03 AM (GMT Standard Time, UTC+00:00)  #    Comments [2] - Trackback
Software Development | Agile | Scrum

# Saturday, March 03, 2007

Last Thursday a good friend of mine, Shimon Krokhmal, made a great presentation about session hijacking.
People asked me: What did he do that make this lecture so special?
So I tell you:

  • It was well organized from the global idea to prevention.
  • I liked the samples - which where recorded prior to the lecture, which let him the ability to show us the best scenarios.
  • I learnt few tricks which I didn't know before, this is what I am looking for in a lectures.

Pay him a  visit.

Saturday, March 03, 2007 6:04:18 PM (GMT Standard Time, UTC+00:00)  #    Comments [2] - Trackback
.Net | .Net 2.0 | Life | Software Development

# Saturday, February 24, 2007
We are developing a new application over the AGX API. ESRI give us a small and powerless API, which you must use this default window with this default images and menus. But we would like to change those capabilities...
Saturday, February 24, 2007 11:26:29 AM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
.Net 2.0 | AGX | Software Development

Archive
<April 2007>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
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)