tag:blogger.com,1999:blog-179262062024-03-13T08:02:48.578-07:00I c#de, therefore I exist ;I will put here anything I read or thought it was interesting or useful about my computer science world...Roaahttp://www.blogger.com/profile/10864687378207475258noreply@blogger.comBlogger79125tag:blogger.com,1999:blog-17926206.post-42844374893197962009-06-30T23:01:00.003-07:002009-06-30T23:38:19.580-07:00Microsoft Maren<div class="MsoNormal"><span style="color: #262626;">We’re pleased to announce that today </span>the Cairo Microsoft Innovation Center (CMIC) is releasing Microsoft Maren<span style="color: #262626;">, </span>a Windows extension that allows you to type Arabic in Roman characters and have it converted on the fly to Arabic script. Maren integrates seamlessly with Windows and works in most Windows applications and websites.</div><div class="MsoNormal"></div><div class="MsoNormal">We are inviting you to download and install Maren from: <a href="http://www.getmaren.com/">www.GetMaren.com</a></div><div class="MsoNormal" style="text-align: center;"></div><div style="text-align: center;"><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; text-align: center;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="border-bottom: solid #4F81BD 1.0pt; border-left: none; border-right: none; border-top: solid #4F81BD 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 414.3pt;" valign="top" width="552"> <div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_V4ZUUUpjEw0/Skr6ot-ih9I/AAAAAAAAAYI/WbCELMCoFIU/s1600-h/Maren.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_V4ZUUUpjEw0/Skr6ot-ih9I/AAAAAAAAAYI/WbCELMCoFIU/s400/Maren.jpg" /></a></div></td> </tr>
</tbody></table></div><div class="MsoNormal" style="text-align: center;"></div><div class="MsoNormal" style="text-align: center;"><span style="color: #262626;"><br />
</span></div><div class="MsoNormal" style="text-align: left;"><span style="color: #262626;">So please help us out and spread the word</span>:</div><div class="MsoListParagraph" style="margin-left: 0.25in; text-align: left; text-indent: -0.25in;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";"> </span></span></span><span dir="LTR"></span>Tell people about <span style="color: #262626;"><a href="http://www.getmaren.com/" style="text-decoration: none;">GetMaren.com</a></span></div><div class="MsoListParagraph" style="margin-left: 0.25in; text-align: left; text-indent: -0.25in;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";"> </span></span></span><span dir="LTR"></span>Join the <a href="http://www.facebook.com/group.php?gid=98514073667"><span style="color: windowtext;">Facebook</span></a> group</div><div class="MsoListParagraph" style="margin-left: 0.25in; text-align: center; text-indent: -0.25in;"><span class="Apple-style-span" style="color: #333333; font-family: Verdana; font-size: 11px; line-height: 14px;"></span></div><div mce_keep="true" style="margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 10px;"><a href="http://download.microsoft.com/download/E/4/D/E4D21001-54C5-4A1E-977D-5FBC28B32BAF/MicrosoftMaren.msi" mce_href="http://download.microsoft.com/download/E/4/D/E4D21001-54C5-4A1E-977D-5FBC28B32BAF/MicrosoftMaren.msi" style="color: #003399;"><img align="absmiddle" border="0" height="41" mce_src="http://www.microsoft.com/middleeast/egypt/cmic/maren/images/downlaod.png" src="http://www.microsoft.com/middleeast/egypt/cmic/maren/images/downlaod.png" style="height: 41px; margin-bottom: 0px; margin-left: 0px; margin-right: 10px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 165px;" width="165" /></a></div>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-17926206.post-42543366533991714112009-05-06T15:28:00.001-07:002009-05-06T15:52:31.331-07:00Debugging Tools for WindowsVisual studio debugger tools (including Spy++ & Remote Debugger) are great, but we always need to go beyond visual studio capabilities and that's when debugging tools are really useful.<br />
<br />
I am writing this post for mainly two reasons, The first one is to share some of my favourite debugging tools that are powerful to use & know about; The second one is actually for documentation purposes to act as a guide/reference for me & others who search for a debugging tool that help in doing a specific task.<br />
<br />
Below are some tools I used them myself & found them really useful and neat to use:<br />
<br />
<a href="http://3.bp.blogspot.com/_V4ZUUUpjEw0/SevCcAEh2CI/AAAAAAAAAXA/BV-EypnNcMI/s1600-h/debugview.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://3.bp.blogspot.com/_V4ZUUUpjEw0/SevCcAEh2CI/AAAAAAAAAXA/BV-EypnNcMI/s320/debugview.gif" /></a> 1- <a href="http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx">DebugView </a> for Windows, This tool tracks any OutputDebugString/ DbgPrint and displays it without the need for a debugger.<br />
I see this tool is idle when quick debugging is needed on a clean machine (with no visual studio installed), no process attaching required .. etc<br />
<br />
<br />
2- <a href="http://technet.microsoft.com/en-us/sysinternals/default.aspx">SysInternals Tools</a> are indeed so powerful tools and I guess you will always find what you are looking for there (that's why microsoft acquired it ;) ). I tried WinDbg one -for commands lovers- , <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process Explorer</a> & Process monitor.<br />
<div class="" style="clear: both; text-align: left;"><a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx">Process monitor</a> is a very good choice for monitoring everything on your computer, starting from the registry, till process monitoring with filtering options.. it is indeed a very cool tool.<br />
<br />
<br />
3- <a href="http://www.autodebug.com/">Auto Debug for Windows</a> , a tool for APIs monitoring & tracing, maybe it has other features, but this was what I was interested in mainly.. the bad news is that it is not a free tool, however the good news is that it doesn't block you when you run the trial.</div><br />
4- <a href="http://www.dependencywalker.com/">Dependency Walker</a> , not a real debugging tool, but you will probably need it when things not work due to missing files/modules, it just does what it says & sometimes that's all what you want !<br />
<br />
That's all for now, everybody is welcomed to share his favorite ones too.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-17926206.post-40721091077457746422009-02-13T01:30:00.006-08:002009-05-06T15:31:22.159-07:00The Undocumented FeatureHello everybody,<br />
<br />
Well, I just want to mention a small trick that many may already know, but many may not.. It's about copying & pasting the text that appears in a MessageBox, many times that is needed during development, but yet it is not documented in msdn or any other Microsoft resource..<br />
<br />
The thing is that you can indeed copy text in a message box using simply (Ctr+C) and then pasting the copied text in any editor (Ctr+V), and it ends up having sth like that..<br />
<br />
<a href="http://3.bp.blogspot.com/_V4ZUUUpjEw0/SZU83BFruQI/AAAAAAAAAW4/pMHNBek0Qt8/s1600-h/messagebox.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://3.bp.blogspot.com/_V4ZUUUpjEw0/SZU83BFruQI/AAAAAAAAAW4/pMHNBek0Qt8/s320/messagebox.jpg" style="cursor: move;" /></a><br />
---------------------------<br />
Caption<br />
---------------------------<br />
Text<br />
---------------------------<br />
OK <br />
--------------------------- <br />
<br />
I can imagine that this feature was made out of a dev's passion :) .. anyway, It is really a useful thing to know.. Happy development !!Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-17926206.post-78868178894690257862009-01-08T12:58:00.000-08:002009-01-08T13:09:22.621-08:00Gaza strip, the untold story<span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;">The least we can do is prayers & trying to spread what Israel is truly doing in Gaza..</span><br />
<span class="Apple-style-span" style="font-family: Arial;">Sameh, a Palestinian 23 years old blogging from inside Gaza.. </span><br />
<div style="text-align: center;"><span class="Apple-style-span" style="font-family: Arial;"><span class="Apple-style-span" style="font-size: x-large;"> </span><span class="Apple-style-span" style="font-family: 'Times New Roman';"><span class="Apple-style-span" style="font-size: x-large;"><a href="http://gazatoday.blogspot.com/">http://gazatoday.blogspot.com</a></span></span></span></div><div style="text-align: left;"><span class="Apple-style-span" style="font-family: Arial;"><br />
Allah be with them.. </span></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-17926206.post-609851344313007842008-10-07T03:58:00.001-07:002008-10-07T04:20:10.560-07:00Where do you want to connect today?<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_V4ZUUUpjEw0/SOtEqn1TZoI/AAAAAAAAANU/LMmY7DVOLG0/s1600-h/Connect.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_V4ZUUUpjEw0/SOtEqn1TZoI/AAAAAAAAANU/QelpVgsHe8g/s400-R/Connect.jpg" /></a></div>Long time no posts..<br />
Anyway, I'm here now to share that website with you..<br />
It just saves the time u take to write or modify a connection string to any data source..<br />
<div style="text-align: center;"></div><div style="text-align: center;"><a href="http://www.connectionstrings.com/">http://www.connectionstrings.com</a></div><div style="text-align: center;"></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-17926206.post-80435053678189056662008-09-02T03:57:00.002-07:002008-09-02T04:09:00.711-07:00I wish I learned.. (survey)I decided to make that survey in order to see people's different opinions, The survey is about things you wish you leanred at college & that are related with the market or your career.<br />
so I want everyone to tell me 5 things or more, he wished he learned at college before he starts working OR things he self-learnt by himself and he thinks that they are important for others to learn. (including technical (maybe certain technology), non-technical things)<br />
Waiting for your comments..Unknownnoreply@blogger.com17tag:blogger.com,1999:blog-17926206.post-25570760809599359232008-08-03T01:11:00.034-07:002008-08-03T02:29:03.758-07:00Saving a BitmapA friend of mine came through a problem while dealing with Bitmaps after writing some code that should open an image.. do some operations & finally save it in the same path. (overwrite the old copy)... the code looked as follows :<code><span style="color: rgb(0, 204, 204);"><br /> Bitmap </span>bmp = <span style="color: rgb(51, 51, 255);">new </span><span style="color: rgb(0, 204, 204);">Bitmap</span>(<span style="color: rgb(153, 0, 0);">@"C:\Pic.jpg"</span>);<span style="color: rgb(0, 102, 0);"><br /></span><span style="color: rgb(0, 102, 0);"> ..</span><br /><span style="color: rgb(0, 102, 0);"> //Do some Operations on bmp</span><br /><span style="color: rgb(0, 102, 0);"> ..</span><br /> btm.Save(<span style="color: rgb(153, 0, 0);">@"</span><span style="color: rgb(153, 0, 0);">C:\Pic.jpg</span><span style="color: rgb(153, 0, 0);">"</span>);<br /><br /></code><br />An Exceptions is then fired on the bmp.Save(..) statement "A generic error occurred in GDI+"<br /><br />At the first look, it seemed strange to see the exception esp the "Save" method should handle the overwriting process..<br />Yet, here was the mistake.. After creating the first bitmap from the image file, a lock has been done on the file in the memory, & then later, we are trying to save the bitmap in the same file (which is currently locked) & that's why we get that exception.<br />It will work in case you wanted to save in different paths, but not in case of overwriting..<br /><br />so the suggested solutions was to create a copy from that bitmap, make the operations on that copy.. then dispose the bmp object (to release the lock) & later on save it (using the copy).. the new code should look as follows :<br /><code><br /><span style="color: rgb(0, 204, 204);"> Bitmap </span>bmp = <span style="color: rgb(51, 51, 255);">new </span><span style="color: rgb(0, 204, 204);">Bitmap</span>(<span style="color: rgb(153, 0, 0);">@"C:\Pic.jpg"</span>);<br /><span style="color: rgb(0, 204, 204);"> Bitmap </span>copy = <span style="color: rgb(51, 51, 255);">new </span><span style="color: rgb(0, 204, 204);">Bitmap</span>(bmp.Width, bmp.Height);<br /><span style="color: rgb(0, 204, 204);"> Graphics </span>g = <span style="color: rgb(0, 204, 204);">Graphics</span>.FromImage(copy);<br /> g.DrawImage(bmp, new Point(0, 0));<br /><span style="color: rgb(0, 102, 0);"> ..</span><br /><span style="color: rgb(0, 102, 0);"> //Do some Operations on copy</span><br /><span style="color: rgb(0, 102, 0);"> ..</span><br /><span style="color: rgb(0, 102, 0);"><br /> //release the image file</span><br /> bmp.Dispose();<br /> bmp = copy;<br /> bmp.Save(<span style="color: rgb(153, 0, 0);">@"</span><span style="color: rgb(153, 0, 0);">C:\Pic.jpg</span><span style="color: rgb(153, 0, 0);">"</span>);<br /></code><br />That's it..Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-17926206.post-14780527880041690202008-06-04T03:53:00.005-07:002008-06-04T04:37:30.750-07:00Acrobat.comAdobe is providing a suite of online services on their website <a href="https://acrobat.com/">Acrobat.com</a> that you can use to create documents together and share them with others,<br />If you are a fan of google docs , then I suggest you try <a href="https://acrobat.com/#/bw/BuzzwordBegin/"><span style="font-style: italic;">Buzzword</span></a>.. Buzzword is one of those services that allow you to create documents & share them.<br /><br />Another service is <a href="https://acrobat.com/#/cpdf/CreatePDFBegin/"><span style="font-style: italic;">Create PDF</span></a> that allows you to convert many files formats to PDFs & much of more converting PDFs to flash to be embedded in web pages (It's really good, I once tried it <a href="http://touchwork.blogspot.com/2007/12/seminar-ii.html">here</a>)<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_V4ZUUUpjEw0/SEZ9u1CoEEI/AAAAAAAAAL0/bpWAa2atRzk/s1600-h/Adobe.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_V4ZUUUpjEw0/SEZ9u1CoEEI/AAAAAAAAAL0/bpWAa2atRzk/s320/Adobe.jpg" alt="" id="BLOGGER_PHOTO_ID_5207988262566105154" border="0" /></a><br />But what I really liked most is <a href="https://acrobat.com/#/brio/BrioBegin/"><span style="font-style: italic;">Adobe Connect</span></a><a href="https://acrobat.com/#/brio/BrioBegin/"><span style="font-style: italic;"> now</span></a>, it is indeed one of the very nice services that allows you to make an online meetings that involves desktop sharing, video & audio conference calls & chatting... when I tried it, it was kind of slow but I think the reason was my internet connection..<br /><br />Anyway, I truly like their services.. give them a try..Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-17926206.post-48744136034302239902008-05-29T02:16:00.000-07:002008-07-30T12:18:33.082-07:00MIT OpenCourseWareThat's reallly coool, maybe this news is from a while, but I just knew it now :)<br /><a href="http://www.youtube.com/user/MIT">MIT</a> is opening its 1800 courses for free download (materials, audio & video) including graduate & undergraduate courses, Here is the link.. ENJOY :)<br /><div style="text-align: center;"><span style="font-size:130%;"><a href="http://ocw.mit.edu/">http://ocw.mit.edu</a></span><br /><br /><br /></div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-17926206.post-48978805247103026712008-05-12T02:40:00.006-07:002008-05-15T12:27:41.985-07:00Open Sourcing - Security PackageAs me & my friends has <a href="http://jetbrain.blogspot.com/2008/01/open-sourcing.html">previously</a> done with our <a href="http://code.google.com/p/image-processing-package/">image processing package</a>, we are sharing our security package too on google code ::<br /><div style="text-align: center;"><a href="http://code.google.com/p/secutiry-package/">Security Package (Source)</a><br /><br /><div style="text-align: left;">The project doesn't have a good UI, but it contains an implementation for most algorithms in security <span style="font-size:85%;"><span style="font-style: italic;">(except for the RSA & Hill Cipher, they have restrictions in implementation due to limits in time)</span></span><br />Hope that's useful for anyone :)<br /></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-17926206.post-66528143438351220852008-05-01T03:27:00.009-07:002008-05-08T14:09:23.574-07:00Best & Worst Languages<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_V4ZUUUpjEw0/SBmcNdUwmSI/AAAAAAAAALg/KbVRT824O78/s1600-h/Worst+%26+Best+Language.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_V4ZUUUpjEw0/SBmcNdUwmSI/AAAAAAAAALg/KbVRT824O78/s320/Worst+%26+Best+Language.jpg" alt="" id="BLOGGER_PHOTO_ID_5195355400172509474" border="0" /></a>Maybe when someone read the title, he<br />thinks that I will write here about the best & worst languages of all languages, which isn't a valid topic to talk about simply because there are no best & worst languages.. for every application there are best & worst languages to use to develop this application...<br /><br />Anyway, what I wanted to share is that table in the post, I came through it while reading <span style="font-style: italic;">Code Complete</span> , & I thought that this is what anybody would need before thinking about which language to use to develop/implement an application..<br />(ie: this is a common question for students starting to work on their graduation projects)..<br />I liked it, so thought about sharing it here..<br /><span style="text-decoration: underline;"><br /><br /></span>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-17926206.post-80953417647614771702008-04-01T11:00:00.023-07:002008-07-30T12:35:26.346-07:00What's new in C# 3.0 ?? - Part 1I'll be writing -in shaa Allah- a series of posts about the new features in C# 3.0.. I'll start this one with the improvements that were done on C# 2.0..<br /><br /><span style="font-weight: bold;">1) Auto-Implemented Properties:</span><br />How much time does the one spend writing private members in a class & writing their public properties.. too much ha? .. I hear someone saying "you can use snippets" .. ok, that will be fine yet this is still too much.. so here is one of the enhancements done in C# 3.0 which is the auto-implemented properties.. instead of writing sth like this..<br /><br /><code><span style="color: rgb(51, 51, 255);">class</span> <span style="color: rgb(51, 153, 153);">Employee</span><br />{<span style="color: rgb(51, 51, 255);"><br /> private string</span> empName;<span style="color: rgb(51, 51, 255);"><br /> public string</span> EmployeeName<br /> {<span style="color: rgb(51, 51, 255);"><br /> get</span>{ empName = <span style="color: rgb(51, 51, 255);">value</span>; }<span style="color: rgb(51, 51, 255);"><br /> set</span>{<span style="color: rgb(51, 51, 255);"> return</span> this.empName; }<br /> }<br />}<br /></code><br />All you need now is to use the auto-implemented properties instead..<br /><code><br /><span style="color: rgb(51, 51, 255);">class</span> Employee<br />{<span style="color: rgb(51, 51, 255);"><br /> public string</span> EmployeeName { <span style="color: rgb(51, 51, 255);">get</span>; <span style="color: rgb(51, 51, 255);">set</span>; }<br />}</code><br /><br />The question regarding accessing private members from inside the class, well.. as there's no private members (or they are hidden), you have to use the properties to access them too..<br /><br /><span style="font-weight: bold;">2- Object Initializers:</span><br />Sometimes we want to set a lot of properties of an object while initializing it, but yet this isn't supported in any of the class constructors..so here comes the importance of the object initializers feature.. which will be very helpful while working with win forms & many of the .net libraries in setting properties more easily..<br /><code><br /><span style="color: rgb(51, 51, 255);">static void <span style="color: rgb(0, 0, 0);">Main(</span>string<span style="color: rgb(0, 0, 0);">[] args)<br /></span></span>{<span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);"><br /> Employee </span><span style="color: rgb(0, 0, 0);">e</span> = new </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);">Employee</span> </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">() {</span> </span>EmployeeName<span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);"> = "Roaa"};</span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);"><br />}</span></span><br /></code><br /><span style="font-weight: bold;">3- Collection Initializers:</span><br />The same concept as the object initializers, but the difference is setting the values of a collection, It can be used by any collection which implements IEnumerable..<br /><code><br /><span style="color: rgb(51, 51, 255);">static void <span style="color: rgb(0, 0, 0);">Main(</span>string<span style="color: rgb(0, 0, 0);">[] args)<br /></span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">{</span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);"><span style="color: rgb(51, 51, 255);"><br /> List</span><span style="color: rgb(0, 0, 0);"><</span>Employee<span style="color: rgb(0, 0, 0);">></span> </span><span style="color: rgb(0, 0, 0);">employees</span> = new List<span style="color: rgb(0, 0, 0);"><</span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);">Employee</span><span style="color: rgb(0, 0, 0);">></span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">()</span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);"><br /> {</span></span><span style="color: rgb(51, 51, 255);"><br /> new </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);">Employee </span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">() {</span></span> EmployeeName<span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);"> = "Roaa" };</span></span><span style="color: rgb(51, 51, 255);"><br /> new </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);">Employee</span> </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">() {</span> </span>EmployeeName<span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);"> = "Someone" };</span></span><span style="color: rgb(51, 51, 255);"><br /> new </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);">Employee</span> </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">() {</span> </span>EmployeeName<span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);"> = "Roaa"};</span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);"><br /> };<br /></span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">}</span></span></code><br /><br /><span style="font-weight: bold;">4- var - Local Variable Type Inference</span><br />For an example as the follows, we notice the redundancy of information of the type..<br /><code><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);"><span style="color: rgb(51, 51, 255);"><br />Dictionary</span><span style="color: rgb(0, 0, 0);"><</span>int,Employee<span style="color: rgb(0, 0, 0);">></span> </span><span style="color: rgb(0, 0, 0);">employeesDict</span> = new </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);"><span style="color: rgb(51, 51, 255);">Dictionary</span></span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);"><</span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);">int,Employee</span><span style="color: rgb(0, 0, 0);">></span> </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">()</span></span></code><br /><p></p> As the matter in fact, the compiler can be intelligent enough to find out about the type of the variable when a value is specified in the assignment statement.. so here comes the use of the 'var' which makes writing the code more smoother & easier..<br /><code><span style="color: rgb(51, 51, 255);"><br />var<span style="color: rgb(51, 153, 153);"> </span><span style="color: rgb(0, 0, 0);">employeesDict</span> = new </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);"><span style="color: rgb(51, 51, 255);">Dictionary</span></span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);"><</span></span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 153, 153);">int,Employee</span><span style="color: rgb(0, 0, 0);">></span></span></code><br /><p></p>but there are some restrictions on using 'var'.. as it is clear, it is for Local use only.. can't be used in return values, arguments.. etc..<br />Another thing, the use of 'var' doesn't affect the performance by any mean..<p></p>To be continued...Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-17926206.post-72690800111463350242008-03-28T11:30:00.004-07:002008-03-28T11:58:50.453-07:00Finally, EDC 2008I wrote a previous post about the timing of the EDC, finally the registration is now opened...<br />Check out the details at <a href="http://edc2008.com/">http://edc2008.com/</a><br />It is for 2 days (13th & 14th of April) in Cairo international Conference Center..<br />See you there in shaa Allah..<br /><span id="ctl00_ContentPlaceHolder1_Label7" style="font-weight: bold;font-family:Trebuchet MS;font-size:11;color:White;" ></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-17926206.post-13084478985456063172008-03-19T13:03:00.005-07:002008-03-19T14:00:48.400-07:00Microsoft Student Festival 2008 Wave..<a href="http://www.ahmadzvillage.com/ahmadz/">Ahmad Fathy</a> -MSP in Engineering, Alexandria university- is making a series of posts on his blog about Microsoft Student Festival.. <br />He asked me to contribute in the <a href="http://www.ahmadzvillage.com/ahmadz/?p=185">Microsoft Student Festival 2008 Wave</a> by sending my experience in MS Internship booth, check the post <a href="http://www.ahmadzvillage.com/ahmadz/?p=188">here.</a><br />Thanks Ahmad & waiting for more interesting posts !!Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-17926206.post-72621568096178555102008-01-28T02:37:00.000-08:002008-01-28T02:49:49.349-08:00EDC 2008Many did ask me about the timing of Microsoft EDC (Egypt Developer Conference) - previously known as the MDC- , so I'm publishing it here<br />The EDC will be on 13-15 April in intercontinental City Stars, The Reservation is still closed but I'll put the link as soon as it's available in shaa Allah..<span style="font-size: 11pt; color: rgb(31, 73, 125); font-family: 'Calibri','sans-serif';"></span>Unknownnoreply@blogger.com8tag:blogger.com,1999:blog-17926206.post-79973818038876377262008-01-04T09:36:00.002-08:002008-05-12T02:49:56.709-07:00Open Sourcing - Image PackageDuring the past days, we were delivering our projects for this semester after long days of working & coding..<br />At the end of these days, I started to think with my friends "what are we going to do really with this code?" .. I thought a lot about the end of previous years projects & I found that all of them are just resting in a folder called "projects" on my PC .. so I had a different idea this time.. "what about making our projects open source for anyone to learn from it??".. my friends approved & that was the beginning..<br />so here is the link for our image processing package (version1) on Google Code ::<br /><div style="text-align: center;"><a href="http://code.google.com/p/image-processing-package/">Image Processing Package</a><br /><br /><div style="text-align: left;"><span style="font-style: italic;font-size:85%;" >(Image.cs (contains most of the implementation) & the exe uploaded only till now, Full version will be uploaded immediately after some bugs fixing in shaa Allah)</span><br /></div></div>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-17926206.post-30832422396696303762007-12-24T10:09:00.005-08:002008-03-25T03:49:26.381-07:00VS 2008.. reasons to upgradeI came through a document about the top ten reasons to upgrade to Visual Studio 2008, so I thought about sharing them here:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_V4ZUUUpjEw0/R-jYJjGugVI/AAAAAAAAAKE/hn6CHLdaILw/s1600-h/VS.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_V4ZUUUpjEw0/R-jYJjGugVI/AAAAAAAAAKE/hn6CHLdaILw/s200/VS.jpg" alt="" id="BLOGGER_PHOTO_ID_5181629029843632466" border="0" /></a><br /><u><span style="font-weight: bold;">Top Ten Reasons to Upgrade</span></u><br />1. Work with data in a unified and integrated way.<br />2. Work with user interface designers.<br />3. Employ the latest web user interface techniques.<br />4. Build stunning applications for windows vista.<br />5. Build higher quality applications with integrated unit testing.<br />6. Enjoy great support for designing web applications.<br />7. Build applications that runs on multiple versions of the .net framework.<br />8. Build office-based applications<br />9. Use workflow & communication tools.<br />10.Benefit from performance & stability across the board<br /><br />For more details, read <a href="http://download.microsoft.com/download/3/B/D/3BDDC5D5-E8CF-4031-A12A-B072ECA27C42/VS2008PETopTenFSEMEA.doc">here</a>...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-17926206.post-60831737185692537792007-12-07T01:21:00.002-08:002008-03-16T13:21:32.251-07:00ANARC 2007<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_V4ZUUUpjEw0/R92Aw7R4zUI/AAAAAAAAAI0/nwsdZoBdZZ0/s1600-h/Contest.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 296px; height: 222px;" src="http://3.bp.blogspot.com/_V4ZUUUpjEw0/R92Aw7R4zUI/AAAAAAAAAI0/nwsdZoBdZZ0/s320/Contest.jpg" alt="" id="BLOGGER_PHOTO_ID_5178436724580732226" border="0" /></a>The Past days were the 10th <a href="http://acm.aast.edu/index.htm">Arab & North Africa Regional Contest</a> (ANARC)..<br />My Team participated in it (Why Not!? Team).. Although we didn't get a good ranking (21th), yet it was a very good experience & that's why I'm writing about it here..<br /><br />I'd like to mention the mistakes that I feel we did.. I'm writing them for anyone to learn from:<br />- Time ran so quick that we didn't notice the time except when there were only 2 hours left..<br />- We didn't read the problem statement of one problem very well which lead to getting WA for one test case..<br />- 75% of Regional contest problems are trivial adhoc problems & the other 20% are dynamic ones.. we focused on other algorithms before traveling, but that wasn't helpful in the contest.. we should have practiced testing silly adhoc problems maybe !!<br />- In some cases, Don't use strings, use character arrays instead..<br />I don't remember more now, but I'll update in case I did..<br /><br />I won't talk about personal feelings here, but all I can say that I truly feel that if we participated next year, I think it will be different in shaa Allah..<br /><span style="color: rgb(51, 51, 51);font-family:Tahoma;font-size:85%;" ></span>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-17926206.post-7304070081318532632007-11-04T10:51:00.002-08:002008-03-25T03:38:19.828-07:007 deadly sins of resume design..I read that article & thought about sharing it<br /><div style="text-align: center;"><a href="http://www.lifeclever.com/the-7-deadly-sins-of-resume-design/">7 deadly sins of resume design</a><br /><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-17926206.post-86353103629400927782007-10-30T16:02:00.000-07:002007-10-30T16:05:51.395-07:00MIX..This is a website hosted by Microsoft that contains demos & videos.. It's a very good one, just thought about sharing it here..<br /><div style="text-align: center;"><a style="font-weight: bold;" href="http://www.visitmix.com/university/">MIX online</a><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-17926206.post-60972356573173608122007-10-19T21:03:00.000-07:002007-10-19T21:28:25.390-07:00On Channel 8 !!<span id="ctl00_MainPlaceHolder_BodyText_DisplayArea_Label"><a href="http://channel8.msdn.com/">Channel 8</a> is the place to be for <span style="font-weight: bold;">Students</span> who want to code, connect and create technology ( msh el kanah el tamna beta3etna :D )... Channel 8 is sth like <a href="http://channel9.msdn.com/">Channel 9</a>, but for students..<br /><br />The interviews we (me & Marwan -AAST MSP-) made during the Expression Around the Clock event are now in the 'recent news' on Channel 8.. Check it out..<br /></span><div style="text-align: center;"><span id="ctl00_MainPlaceHolder_BodyText_DisplayArea_Label"><a href="http://channel8.msdn.com/Posts/Expression-around-the-Clock-Now-Cairo/">Expression Around the Clock, Cairo</a></span><br /><br /><div style="text-align: left;">Feedbacks are welcomed..<br /></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-17926206.post-85368598061006473722007-10-17T20:29:00.000-07:002007-10-19T21:03:09.337-07:00Programming Languages HistoryI remember, when I was @ ITWorx, I liked that huge portrait with the programming languages history.. & its nice to find it online after all..<br /><div style="text-align: center;"><a href="http://www.levenez.com/lang/history.html">Programming Languages History</a><br /><br /></div>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-17926206.post-39345386484458872442007-10-07T01:12:00.000-07:002007-10-07T01:50:58.094-07:00Mixed AssemblyC++ supports interoperability features that allow managed and unmanaged code to coexist and interoperate within the same assembly or in the same file. C++ assembly which has both native and managed code is called as mixed assembly. They contain machine instructions as well as MSIL instruction. An existing application consisting entirely of unmanaged functions can be brought to the .NET platform by re-compiling just one module with the /clr compiler switch. This module is then able to use .NET features, but remains compatible with the remainder of the application. In this way, an application can be converted to the .NET platform in a gradual, piece-by-piece fashion. It is even possible to decide between managed and unmanaged compilation on a function-by-function basis within the same file. Assemblies compiled with /clr can call managed and unmanaged functions at will, including CRT functions such as printf, and are free to use .NET Framework Platform Invoke features to call unmanaged functions inside DLLs.<br /><p>C++ supports the use of ATL, MFC, SCL, and the CRT libraries as mixed assemblies compiled with /clr. These mixed libraries allow you to use all of their existing functions when your code contains a mixture of native code and MSIL code.<br /><br />Performance Consideration while using Interoperability: Regardless of the interop technique used, special transition sequences, called "thunks", are required each time a managed function calls an unmanaged function, and vise-versa. These thunks are inserted automatically by the C++ compiler, but it's important to keep in mind that cumulatively, these transitions can be expensive in terms of performance.<br /></p>For .NET languages such as Visual Basic and C#, the prescribed method for interoperating with native components is P/Invoke. Since P/Invoke is supported by the .NET Framework, C++ supports it as well, but C++ also provides its own interoperability support, which is referred to as C++ Interop. C++ Interop is preferred over P/Invoke because P/Invoke is not type-safe, so errors are primarily reported at run-time, but C++ Interop also has performance advantages over P/Invoke.<br /><br />Both techniques require two things to happen whenever a managed function calls an unmanaged function: <ul><li>The function call arguments are marshaled from CLR to native types </li><li>A managed-to-unmanaged thunk is executed<br /></li><li>The unmanaged function is called (using the native versions of the arguments)<br /></li><li>An Unmanaged-to-managed thunk is executed<br /></li><li>The return type and any "out" or "in,out" arguments are marshaled from native to CLR types</li></ul><p>Try it.. (In order to enable compilation for both native & managed, change the project properties (Project properties >> General >> Common Language Runtime Support >> Choose Common Language Runtime Support (/clr)))<br /><br />For Extra info check the <a href="http://msdn2.microsoft.com/en-us/library/zbz07712%28vs.80%29.aspx">MSDN</a></p>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-17926206.post-74478847635397198242007-10-04T20:37:00.000-07:002007-10-05T11:56:05.703-07:00Photosynth..Yesterday, I attended the <a href="http://www.microsoft.com/middleeast/Egypt/expressionsaroundtheclock/Default.aspx">Expression around the clock</a> event.. It was a nice day.. & from the very things I liked in those sessions was the <a href="http://labs.live.com/photosynth/">Photosynth</a> (A live lab project) , It was really so much amazing & innovative idea..<br /><br /><center><object height="350" width="425"><param name="movie" value="http://www.youtube.com/v/p16frKJLVi0"><param name="wmode" value="transparent"><embed src="http://www.youtube.com/v/p16frKJLVi0" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"></embed></object><br /></center><br /><br />I just like to end with a sentence said by Blaise Aguera when we made an interview with him.. he said ::<br /><div style="text-align: center;">"Knowledge of Math & Physics is unbeatable"<br /><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-17926206.post-78542988903237514342007-09-29T04:51:00.000-07:002007-09-29T04:58:25.403-07:00Windows Live SDK<p>The Windows Live Platform puts a deeper level of control into developers' hands by offering access to the core services and data through open, easily accessible APIs. Now you can build applications and mashups that combine your innovation with the power of Windows Live services and social relationships..</p> <p> Visit <a onclick="javascript:Track('ctl00_LibFrame_ctl01|ctl00_LibFrame_ctl03',this);" href="http://dev.live.com/">http://dev.live.com</a> to know more about other services and developer offerings from Windows Live.</p><p>& check this for more information about <a href="http://msdn2.microsoft.com/en-us/library/bb264574.aspx">Windows Live SDK</a><br /></p>Unknownnoreply@blogger.com0