I have read Oren's post, in which he writes (again) why he thinks Asp.Net is a bad web platform.
I have been reading about various tools like Ruby or MonoRail and people promoting over using simple Asp.Net.
Coincidentally, I have recently listen to an Arcast
episode with Markus Frind, the founder of
http://plentyoffish.com/.
This dude is the only employee in the "company" (acting as the developer, architect, CEO, janitor, etc), running the web site on two servers from his home. He wrote the site as a programming exercise.
And why is he using Asp.Net?
"
Well I use ASP.NET now because it’s trivial and easy and gets the job done. There is just so much to learn out there and every six months it completely changes. So I stuck with what I knew, used it a lot, and I’ve gotten really, really good at it. "
It's beyond me why Microsoft doesn't make him their spokesperson for their platform.
I am working on a
C4I application using
GIS engine, and since the engine uses the CPU for it's calculations (not many GIS systems use the capabilities of graphics cards so far) the effect of the processor is critical in terms of performance.
We recently ran a test of the same system and scenario, once with an old processor, and once with a new, faster (both in clock speed and
FSB),
HyperThreading capable processor.
According to some benchmarks, the new processor performed twice better than the old one, and so did the application in the tests I ran - the processor load with the new processor was 50% of the load with the old one, meaning 100% improvement, the same as the processor showed in the benchmarks.
So if your system's configuration's specification was set up long before the final release, consider upgrading it - replacing a CPU may save you month of development optimizing performance.
לצערי אני עדיין נתקל בלא מעט אנשים המשתמשים בTask manager בתור כלי למדידת פרמטרים של ביצועים, ואפילו משתמשים בו לא נכון.
העמודה הקרוייה "Mem Usage" אינה מייצגת את מלוא צריכת הזיכרון של האפליקציה, אלא את הזיכרון המוקצה לה ברגע נתון, ויכול להשתנות בהתאם לשימוש במשאבי זיכרון משותפים עם אפליקציות אחרות.
דוגמה פשוטה תוכלו לראות אם תיצרו פרוייקט חדש מסוג Windows application עם טופס בודד, תריצו אותו ותבצעו Minimize. רואים איך הערך משתנה?
העמודה הרלוונטית יותר לצריכת זיכרון נקראת "VM size" (ואינה מוצגת כברירת מחדל), וכאן טעות נפוצה היא ההנחה שמדובר בזיכרון ווירטואלי, כלומר זיכרון המוקצה מהדיסק הקשיח ולא הזיכרון האלטרוני.
בניגוד לתפיסה השגוייה הזו, הערך הנ"ל מראה את צריכת הזיכרון האמיתית של יישום, ואין לו כל קשר לזיכרון ווירטואלי על הדיסק.
I'm working on a
C4I application using
GIS maps.
The map is refreshed (redrawn) by calling the
Control.Invalidate() method.
What got my attention was seeing few thousands of page faults on each refresh, resulting in CPU usage of 3-6%.
After some research, this is the response I got from Hans Passant in the MSDN forums:
"
GDI+ bitmaps use memory mapped files. The bitmap data gets loaded into memory through page faults."
Now if I only could figure out why in older versions of the application there were no page faults, especially if he is right and this is the normal mode of operation.

בקרוב יסתיים החופש, ואיתו "מכת מצריים" שלא הוזכרה במקורות: עדרי ילדים המתנפלים על הרכב בצומת במטרה לשכפל את הפונקציה של המגבים ולקבל על כך תשלום.
לאור העובדה שכל רכב מצוייד כבר (לפחות) בשני מגבים, הילדים האלה לא מציעים שירות בעל ערך, ובעצם מקבצים נדבות במסווה של עבודה (נשמע בערך כמו עבודות יזומות בחסות המדינה).
הרי עם טיפה מחשבה אותם ילדים היו יכולים להרוויח כסף ביושר: מכירת לחמניות בבוקר, מכירת בקבוקי מים לתקועים בפקק, שטיפה יסודית של הרכב במקום העבודה, ועוד ועוד.
מעניין האם ההורים של הילדים האלה מודעים למעשיהם ולחינוך שהם מקבלים: תמצא עבודה לא-יצרנית שאינה תורמת דבר ותקבל על כך כסף.....
כמות המיילים המכריזים על תופעת טבע, תמונה או מבצע פיקטיבי היא מדהימה.
מה שיותר מדהים אותי זו הנטייה של אנשים להעביר מייל כזה מבלי להשקיע טיפה זמן בלבדוק את האמינות שלו. (
בסוף השבוע הזה הייתי מאוד משועשע לראות טור של ליהי לפיד (אשתו של) מזכירה מייל כזה, לפיו ניתן השבוע לראות את מאדים בגודל המתחרה בזה של הירח)
אז תשקיעו עוד מספר שניות כדי לבדוק את המייל לפני שאתם לוחצים על כפתור ה-forward:
- אתר "לא רלוונטי" - חנן כהן הקים אתר מצויין המקטלג מיילים שונים ובודק את האמינות שלהם.
- אתר snopes - הגרסה האנגלית, המקורית לבדיקת אמינות (כמובן שמתאים רק למיילים באנגלית)
- אתר Worth1000 - במידה ומדובר בתמונה המציגה תופעה לא סבירה (פנים בעננים לדוגמה), סביר להניח שהתמונה הגיעה מהאתר הנ"ל, בו מתחרים מקצועני פוטושופ בעריכת תמונות בנושאים שונים.

בשורה לכל הגוררים תואר שנים ארוכות:
ברייאן מיי, הגיטריסט של להקת "קווין", קיבל לאחרונה תואר דוקטורט, יותר משלושים שנה לאחר שהתחיל את לימודיו באסטרונומיה, ונטש אותם לטובת קריירה מוזיקלית.


Now I need to deal with the fact wife is 74% Megatron.....
Some times you need to measure the value of something while running the application.
Using a logger is not comfortable, since you don't want to monitor gazillion rows of values.
The solution: create a performance counter and use Perfmon.exe to view it while the application is running.
Here is a code for creating a counter:
private PerformanceCounter CreatePerformanceCounter()
{
string categoryName = "My Category";
if ( !PerformanceCounterCategory.Exists(categoryName) )
{
CounterCreationDataCollection CCDC = new CounterCreationDataCollection();
// Add the counter.
CounterCreationData myCounter = new CounterCreationData();
myCounter.CounterType = PerformanceCounterType.NumberOfItems64;
myCounter.CounterName = "My Counter";
CCDC.Add(myCounter);
// Create the category.
PerformanceCounterCategory.Create("categoryName",
"This is my cateogory", CCDC);
}
PerformanceCounter result =
new PerformanceCounter(categoryName, "My Counter", false);
}
I answered Ayalet's survey on social networks by stating the web 2.0 site in which I center my activity is still LinkedIn.
Ayelet seemed to by surprised by the fact LinkedIn is still going strong, especially versus FaceBook.
While Facebook seems to be the most dominant among general-purpose social networking sites, LinkedIn still attracts IT professionals, since it has a specific focus:
- It's your online resume
- It can help find information on potential employer
- It can help employer find references on candidates
While in other sites I may add various friends and people I met to my contacts, in LinkedIn I only add people I actually worked with, and I keep my profile very neat and ordered to serve as a professional presentation page.
In addition to that, LinkedIn may be soon competing with Facebook.
If social networks sites are trees, LinkedIn is a Bonsai tree, and there is always room for those.

It has been more than a month since I got back from Berlin, so I need to backup my memory of hot spots in there: Wifi is actually pretty expansive in Berlin - there are many hot spots, but to surf you need to either pay directly to an ISP, or use your...
Michele Leroux Bustamante (aka "Das Blonde") wrote a great post on WCF callback scenarios:Callback Sync Read More...
You can download useful TFS posters here. And here you can find the book: "patterns & practices Team Development with Visual Studio Team Foundation Server". Read More...
חיפשתי דרך ליצירת כפתור לביצוע חיפוש טקסט עברי כלשהו בתוך אתר קבוע מראש, אז הנה הקוד:
<input onclick="f=prompt('Please enter text','User prompt');
window.open('http://www.google.com/search?hl=en&q=site:blogs.microsoft.co.il+'+encodeURIComponent(f))"
value="Search text" type="button"/>
הדוגמה הנ"ל יוצרת כפתור, שלחיצה עליו תוביל לתיבת טקסט, ואז נפתח חלון חיפוש של הערך שתקלידו בה באתר הבלוגים. (אם תקלידו לדוגמה את המילה "תאגורי", תראו את כל הדפים בהם מופיעה המילה הנ"ל)