תכנות מקבילי – אירוע חד יומי

Thursday, September 3, 2009

באירוע ה- TechEd האחרון העברתי הרצאה בנושא עבודה מקבילית עם C#. בתקופה ההיא הנושא עוד היה חדש וזאת היתה ההרצאה היחידה. ההענות היתה טובה מאד ולמרות שההרצאה היתה בשעה 8 בבוקר האולם היה מלא עד אפס מקום ובתמונות ניתן לראות את המסדרון מחוץ לאולם מלא עד שאין מקום עמידה (צפיה בתמונות). מכיוון שהיתה היענות כל כך חיובית היו מספר אירועים נוספים שעקבו בניהם יום פתוח בחסות מיקרוסופט ומספר רב של אירועים אחרים. עם הזמן עברתי להוביל את התחום בחברת פסיפיק תוכנה, הקמנו שישה קורסים שונים עם סך הכל של 20 ימי הדרכה בנושאים שונים. האירוע הבא יתקיים ב- 24 לחודש ספטמבר. מדובר בכנס חד...

Sharing My Source

Tuesday, April 21, 2009

Hi all, As some of you may know I have a huge collection of applications and code samples. I don't have a degree so all my studies were by designing and writing tools and projects. It was clear to me for some while that I should publish this code. I even tried to do this once before but it is not so simple. The code looks bad when it is viewed as a simple text file over the web. Coloring is problematic because you need to deal with it over and over again whenever you have a bug fixed. Bottom line is that...
one comment

World of Parallel Computing

Sunday, April 5, 2009

I was reading Sasha's blog post about parallel computing and went over the presentation slides. http://blogs.Microsoft.co.il/blogs/sasha/archive/2009/04/04/concurrent-programming-msdn-event.aspx It looks somewhat different than mine, even though I can only assume that the goals and the audience were pretty much the same. http://blogs.Microsoft.co.il/blogs/asafshelly/archive/2009/04/05/video-introduction-to-multicore-programming.aspx This is usually because 'we are not there yet'. Meaning, we don't really have all the answers. If you ask someone about UML you will usually receive the same answers. This is because everyone is in agreement about the fundamental issues. This is not the case with parallel computing. The first thing that comes to mind is that most people either do Procedural C programming...

Video: Introduction to Multicore Programming

  Hi all, As some of you already know I have been giving an introductory lecture to selected company here in Israel. The lecture is over an hour long and talks about Multicore Programming and the world of parallel computing. It is for decision makers and developers. The lecture is featured by Pacific Software and myself. The lecture is limited to large groups of people. At the first opportunity I had to bring a camera with me I got the session on video. This was not so easy since most large...

System Tray on Windows Embedded

Wednesday, March 18, 2009

Hi all, This is a technical post about Windows Embedded Standard / Embedded Windows XP (Windows xpe) If tray icons are missing on explorer shell you need to have: Software : System : User Interface : Shells : Windows Shell : User Interface Core On component settings check Show Notifications on Task bar (cmiShowNotifications to TRUE) This post was written with the help of Itamar Karni Best, Asaf  
3 comments

Super Smart Pointer – Sample Code

Thursday, September 11, 2008

In continuance to my last post about memory allocations from mapped files http://blogs.microsoft.co.il/blogs/asafshelly/archive/2008/09/07/super-smart-pointer.aspx (and because Lior asked for it :) Here is the sample that I used to test the timing: Includes:  #include "stdafx.h"#include <WINDOWS.H>#include <conio.h> #define PAUSE { puts("Ready"); getch(); }     Interface: class AllocBuff{public:   virtual bool New(int bytes) { return(NULL); }   virtual bool Delete() { return(false); }   virtual char* Lock() { return(false); }   virtual bool Unlock() { return(false); }};      Memory Implementation class MemBuff: public AllocBuff{   char* buff;   CRITICAL_SECTION cSection;public:   virtual bool New(int bytes)   {      InitializeCriticalSection(&cSection);      try { buff = new char; } catch(...) { buff = NULL; }      return(buff);   }   virtual bool Delete()   {     ...

Super Smart Pointer

Sunday, September 7, 2008

Memory management is one of the key elements in the world of software. So many bugs come from misusing memory pointers, over-writing buffers, racing over buffers (several threads use the same buffer), deleting a buffer while it is still used, running out of memory, and so many more. To solve this problems we have seen so many methods and technologies used starting with Locks which are flags that help manage access to a buffer, Garbage Collector that helps manage buffer deletion from the Heap, the user of a Stack, Smart Pointers, Reference Counting, Page Protection flags, and so many other...

Multicore Programming (Multiprocessing) Visual C++ Tips: Avoiding Exceptions

Thursday, August 28, 2008

There are still too few online resources available that can help with multicore programming (multiprocessing) so I continue with another tip and this time it is about exceptions and exception handling. See also previous article "Prefer clear execution flow for member function". The computer system as a whole is an extremely parallel system. Interrupts go into the CPU and the CPU handles them by priority. These interrupts can come either from the hardware or from software. When the keyboard has a new key to send to an application the keyboard device raises an interrupt with the CPU and the CPU in turn...