tag:blogger.com,1999:blog-218941462009-07-03T20:33:56.743+03:00Mohammad Nabil's BlogAn express blog about my thoughts and ideas.Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.comBlogger111125tag:blogger.com,1999:blog-21894146.post-51403659992059565942009-05-20T01:11:00.000+03:002009-05-20T01:12:28.417+03:00Comic: Java<a href="http://blaugh.com/2006/12/05/babys-first-language" rel="bookmark"><img class="comic" title="Baby's First Language" alt="Baby's First Language" src="http://blaugh.com/cartoons/061204_big_daddy_java.gif" height="250" width="447" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-5140365999205956594?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com2tag:blogger.com,1999:blog-21894146.post-24250304043986378452009-04-25T10:18:00.003+03:002009-04-25T10:21:24.954+03:00ArabOS gets its first process scheduler !<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YkTcG-emJ8c/SfK557KU0fI/AAAAAAAAALE/_I4GvpjpebE/s1600-h/arabos-sched.png"><img style="cursor: pointer; width: 400px; height: 222px;" src="http://4.bp.blogspot.com/_YkTcG-emJ8c/SfK557KU0fI/AAAAAAAAALE/_I4GvpjpebE/s400/arabos-sched.png" alt="" id="BLOGGER_PHOTO_ID_5328525713917399538" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YkTcG-emJ8c/SfK5fd7NsuI/AAAAAAAAAK8/Pf6wvkxXrgM/s1600-h/arabos-sched.png"><img style="cursor: pointer; width: 400px; height: 320px;" src="http://3.bp.blogspot.com/_YkTcG-emJ8c/SfK5fd7NsuI/AAAAAAAAAK8/Pf6wvkxXrgM/s400/arabos-sched.png" alt="" id="BLOGGER_PHOTO_ID_5328525259392791266" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-2425030404398637845?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com2tag:blogger.com,1999:blog-21894146.post-13332907930311626892009-04-03T04:31:00.001+02:002009-04-03T04:34:11.326+02:00Screenshots of ReactOS Task Manager, Compiler on VS 2008 Express Edition and running on Windows Server 2003 R2<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YkTcG-emJ8c/SdV1f_o-ljI/AAAAAAAAAK0/wvL_qfOirss/s1600-h/Screenshot-2.png"><img style="cursor: pointer; width: 400px; height: 320px;" src="http://1.bp.blogspot.com/_YkTcG-emJ8c/SdV1f_o-ljI/AAAAAAAAAK0/wvL_qfOirss/s400/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5320287727327811122" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YkTcG-emJ8c/SdV1f-yNc0I/AAAAAAAAAKs/4Iooojzguss/s1600-h/Screenshot-3.png"><img style="cursor: pointer; width: 400px; height: 320px;" src="http://4.bp.blogspot.com/_YkTcG-emJ8c/SdV1f-yNc0I/AAAAAAAAAKs/4Iooojzguss/s400/Screenshot-3.png" alt="" id="BLOGGER_PHOTO_ID_5320287727098098498" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YkTcG-emJ8c/SdV1fvOhUVI/AAAAAAAAAKk/gVOpIrY2DTg/s1600-h/Screenshot-4.png"><img style="cursor: pointer; width: 400px; height: 320px;" src="http://3.bp.blogspot.com/_YkTcG-emJ8c/SdV1fvOhUVI/AAAAAAAAAKk/gVOpIrY2DTg/s400/Screenshot-4.png" alt="" id="BLOGGER_PHOTO_ID_5320287722921873746" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-1333290793031162689?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com1tag:blogger.com,1999:blog-21894146.post-44902556867246433552009-03-11T00:22:00.003+02:002009-03-11T00:26:42.108+02:003 years in 40 lines of code; ArabOS page allocator finally arrived al 7amd llah !!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YkTcG-emJ8c/SbbokKbGgbI/AAAAAAAAAKc/lDzWDy8d-xI/s1600-h/Screenshot-1.png"><img style="cursor: pointer; width: 400px; height: 291px;" src="http://3.bp.blogspot.com/_YkTcG-emJ8c/SbbokKbGgbI/AAAAAAAAAKc/lDzWDy8d-xI/s400/Screenshot-1.png" alt="" id="BLOGGER_PHOTO_ID_5311688518501040562" border="0" /></a><br />Written in C++, allocated 4 pages as shown al 7amd llah :D.<br />( p.s. 3o2bal el de-allocation and the sub-page allocator isA :) )<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-4490255686724643355?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com1tag:blogger.com,1999:blog-21894146.post-77433658372482513612008-12-14T00:28:00.004+02:002008-12-14T00:48:13.389+02:00Captain Majid on a Famicom Simulator<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YkTcG-emJ8c/SUQ3SKE8liI/AAAAAAAAAKE/NxuL0tPip4I/s1600-h/Untitled.gif"><img style="cursor: pointer; width: 400px; height: 366px;" src="http://3.bp.blogspot.com/_YkTcG-emJ8c/SUQ3SKE8liI/AAAAAAAAAKE/NxuL0tPip4I/s400/Untitled.gif" alt="" id="BLOGGER_PHOTO_ID_5279405448267339298" border="0" /></a><br /><br />How to install the simulator (FCEUx) :<br />http://ubuntuforums.org/showthread.php?t=971455<br />(if you use Windows, then search for it yourself on google :P<br />it has a version on windows, but it doesn't work on VISTA !)<br /><br />Arabization team:<br />http://www.geocities.com/arabic_majid/index.htm<br /><br />Captian majid famicom game (ROM+Simulator):<br /><a href="http://www.facebook.com/topic.php?uid=21084678650&topic=5983" target="_blank">http://www.facebook.com/topic.<wbr>php?uid=21084678650&topic=5983</a><br /><br />BONUS: Captain Majid PS2 !<br /><a href="http://www.youtube.com/watch?v=SLy7lBwmNjI" target="_blank">http://www.youtube.com/watch?<wbr>v=SLy7lBwmNjI</a><br /><br />PS: the image is a GIF animation, I don't know why it doesn't animate unless opened in a separate tab alone (FF3). Any idea ?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-7743365837248251361?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-36334280350504198902008-09-30T05:39:00.003+02:002008-09-30T05:45:37.674+02:00System call graph for IIS/Windows and Apache/LinuxOriginally posted : http://www.thisisby.us/index.php/content/why_windows_is_less_secure_than_linux<br /><br />This is a graph of system calls executed with IIS on a Windows Server, and the second image is the same for Apache on Linux. That's for rendering the same page with a single image.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.stiennon.com/images/SysCallIIS.jpg"><img style="cursor: pointer; width: 400px;" src="http://www.stiennon.com/images/SysCallIIS.jpg" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.stiennon.com/images/SysCallApache.jpg"><img style="cursor: pointer; width: 400px;" src="http://www.stiennon.com/images/SysCallApache.jpg" alt="" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-3633428035050419890?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com1tag:blogger.com,1999:blog-21894146.post-44126450964414180782008-09-22T02:40:00.016+02:002009-05-10T16:36:30.795+03:00Argument analysis - another non-technical useless post((( This post is about t scientific arguments, as in the method, presentation; and value, not as in the science itself )))<br /><br />When two people engage in an argument, it's because they have colliding opinions on some issue, or they are not seeing the entire other side's opinion<br /><br />There are 3 possible outcomes of an argument:<br />1- One side proves his opinion is correct/superior and the other one is wrong/inferior<br />2- They reach a compromise or a trade-off. In the first one (2A), they were both wrong, and in the second one (2B) they were both right<br />3- They fail to reach anything out of it<br /><br />Outcome 1 and 2, will occur because one side is less knowledgeable than the other, in which case I wouldn't classify it as an argument per se but rather an inquiry (1A). But it also typically occur in research teams where the whole team is researching an new topic and no one is more knowledgeable than the other (1B).<br /><br />Case 3 also doesn't qualify as an argument, because each side left thinking he is right and the other is wrong. Thus a consensus was not reached. There is 3 reasons why this can happen:<br />1- Communication failure (3A)<br />2- Both parties are not knowledgeable enough/or is too arrogant (3B)<br />3- The topic itself does contradict itself, or the field they were discussing was a based on pure un-proven theories (3C)<br />Each of these 3 cases doesn't allow for an "argument" in the first place<br /><br />Case 2B (both right) can be divided into 2 cases 2B' and 2B''<br />- 2B' they didn't reach a trade-off but only demonstrated that they have the exact point of view but were failing to communicate<br />- 2B'' they reached a trade-off, combining pieces of knowledge and creativity they created something new<br /><br />What we can come out from that ?<br />2B'' and 1B are great argument that leads to an advancement and is worth the time spent<br />1A is good, but doesn't really qualify as an argument<br /><br />Other cases are just plain useless, waste of time, and worst of all, unweighted sum of 5 argument out of each 8 are so.<br />Weighted sum differes between different environment and cultures.<br /><br />To analyse that, I'll split them into three classes, the Great (I), the Good (II), and the Ugly (III)<br />Class I contains cases 2B'' and 1B, Class II contains only case 1A, and Class III contains the rest.<br /><br />I'll compare different environments here<br /><br />(MPC = most probable class)<br /><table><br /><tbody><tr><td>Environment</td><td>MPC</td></tr><br /><tr><td>Univ</td><td>II</td></tr><br /><tr><td>Barber shop</td><td>III</td></tr><br /><tr><td>MIT</td><td>I (duh!)</td></tr><br /></tbody></table><br /><br />I want to join MIT someday isA :)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-4412645096441418078?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-51478649626954331212008-09-12T17:20:00.006+02:002008-09-12T17:54:26.419+02:00Microsoft Subsystem for UNIX-based ApplicationsThough MS have similar things since 2000's, but I just found about it today.<br />http://technet.microsoft.com/en-us/library/cc771470.aspx<br />Wikipedia is quite more informative<br />http://en.wikipedia.org/wiki/Microsoft_Windows_Services_for_UNIX<br /><br />For Linux guys, that means MS supports CC and X11, GDB, ls, kill, grep, awk, and the list goes on and on. As I understood from wikipedia, it comes with more than 350 such utilities.<br /><br />CC is a wrapper around VC++. X11 doesn't come with a working X server so you'd use an open one like Cygwin/X.<br /><br />To avoid confusing the reader, it's originally an implementation of the POSIX specifications (Portable Operating System Interface, an IEEE standard). I don't know why they took it from a defensive point of view and claimed it is only there to support UNIX apps..<br /><br />UNIX apps can be source-ported, but not binary-ported. That means you have to recompile them on Windows to work there.<br /><br />There were such a POSIX-compatibility implementation on Windows that I've heard of and used extensively (like Cygwin), but this is the first time for me to know that MS have "paid" developers to work on that :D :D<br /><br />Wikipedia says that for Vista it only comes with Enterprise and Ultimate editions.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-5147864962695433121?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-30671071354962442592008-09-12T03:28:00.002+02:002008-09-12T03:32:34.755+02:00top 5 items in a TODO list...5- improve X<br /><br />4- implement Y<br /><br />3- comment the code<br /><br />2- clean the code<br /><br />1- testing n' debugging<br /><br />So basically the software have not been tested, is lacking functions, and the implemented functions are not complete nor good, the code isn't commented and isn't even clean...<br /><br />PS: inspired from the TODO list here<br />http://lists.gnu.org/archive/html/qemu-devel/2006-11/msg00149.html<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-3067107135496244259?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-26907166723848363692008-09-12T01:10:00.001+02:002008-09-12T01:13:33.441+02:00Virtualbox seamless mode (screenshot)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_YkTcG-emJ8c/SMml78nbLII/AAAAAAAAAHw/OjUeLoZ4e94/s1600-h/Screenshot-1.png"><img style="cursor: pointer;" src="http://2.bp.blogspot.com/_YkTcG-emJ8c/SMml78nbLII/AAAAAAAAAHw/OjUeLoZ4e94/s400/Screenshot-1.png" alt="" id="BLOGGER_PHOTO_ID_5244905690352004226" border="0" /></a><br /><br />now that's <span style="font-style: italic;">CUTE</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-2690716672384836369?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com4tag:blogger.com,1999:blog-21894146.post-63928080282751301572008-09-09T03:40:00.002+02:002008-09-09T03:43:59.220+02:00(a quote on google chrome)<span style="font-size: 14pt; line-height: 115%; font-family: Arial;"><span style="font-size: 12pt; line-height: 115%; font-family: 'Times New Roman';">Quoting from http://www.sol-sd.com/news/119/ARTICLE/3310/2008-09-08.html:<br /><br /><blockquote>Chrome alone will not be a major moneymaker for Google, according to the executives, but if Chrome can improve the user experience, that will <span style="font-style: italic;">encourage more Internet use</span> and ultimately create more revenue for Google, they said.</blockquote>So Google's main problem is to increase Internet use... Google then sees "Internet = Google"...<br /></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-6392808028275130157?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com1tag:blogger.com,1999:blog-21894146.post-47613564304025524972008-08-06T02:01:00.003+03:002008-08-08T22:35:17.596+03:00حيرة<div style="text-align: right;">انا محتار<br />وانتا بتبدأ حياتك بعد التخرج بتلاقي اختيارات كتير اوي خصوصاً في مجالنا<br />يعني مثلا اشتغل ده ولا ده<br />بلاش<br />اشتغل اللي بحبة واتبهدل ولا اشتغل اللي مبحهوش واستقر ؟<br />طب انا بحب ايه اصلا ؟<br />وهل لو اشتغلت اللي بحبه حفضل احبه كمان كام سنة ؟<br />طب هو اني اشتغل اللي انا بحبه يسوى البهدلة ؟<br />قصدي هل حاجي كمان عشرة خمستاشر سنة واندم على اختياري ؟<br />لو اخيتاري للشغل اللي انا بحبه يعني اني اضيع سنين الله أعلم كام من عمري في الدراسة في دولة غريبة مع ناس غريبة وفي الاخر محوكنش كونت نفسي او استقريت ؟<br />طب ولو ضحيت بالسنين دي بعدها حفرق حاجة عن اللي قعد هنا واشتغل هنا واترستق ؟<br />يا ترى بعيد عن الجزئية دي هو غلط اني محاولش ابني مهاراتي التجارية والادارية -البحتة؟ مش قصدي ادارة انك تدير فريق قصدي ادارة انك تكون رجل اعمال ملكش دعوة بالتقنية<br />مرة سمعت مقولة انك المفروض تحاسب من احلامك عشان ممكن تتحقق.. هل انا فعلا خايف من اللي انا عاوزه ؟<br />ممكن نحاول نعمل حسبة بسيطه اعترف اني اول مرة احسبها وانا بكتب هذه السطور<br />لو قلنا مثلا سنتين ماجستير على تلات اربع سنين دكتوراه كده مثلا بقيت تلاتين سنة !!ـ<br />طب بعد مخلص الدكتوراه حيبقي شغلي عامل ازاي وفين ومستوايا عامل ازاي . الأكيد اني احتمال كبير مش حكون استقريت ولسه حدور على شغل بعد كده في مكان تاني والله اعلم طبعاً بس انا مش متخيل اني اكمل شغل في نقس الحاجة اللي كنت شغال فيها قبل الدكتوراة مثلاً<br />افرض اني بدأت شغل -على اساس اني استقر- بعد ما بقيت ٣٠ سنة ... عشان اكون نفسي حياخد مني وقت قد ايه ؟ قول خمس ست سنين ادي ٣٦ سنه.. ـ<br />في المقابل ان الناس اللي مش حيسلك نفس طريقي وحيكمل هنا في حاجة غالبا مش بيحبها وكمان حيبعد عن التقنية كلها في خلال ١٠ سنين على الاكتر حيكون وصل المرحلة دي وهو على ٢٧ ولو من غير جيش يبقى على ٢٦.. فرق ١٠ سنين...ـ<br />طب ليه اعمل في نفسي كده ؟<br />والله الحاجة الوحيدة اللى بحاول اقنع بيها نفسي ان بعد كل ده حيكون فاضل ٢٥ سنة لحد المعاش هو حيكون مش طايق الشغل وانا حكون رايح الشغل وانا مبسوط -غالباً يعني..!!ـ<br />ده غير ان انا حكون بعمل حاجة ليها عائد نفسي اني بفيد العلم بحاجة لكن هو بيعمل اللي العميل بيقوله عليه وخلاص والعميل طبعاً على حق !ـ<br />وبرضة المفروض ان شاء الله ان اللي معايا في الشغل ناس بتفكر ناس بتفهم ناس عاوزة تعمل حاجة، لكن اللي معاه في الشغل ناس حفظت الدوت نت فريم وورك وبيسمعوه في الكود وخلاص عشان ياخدوا قرشين ويروحوا -لا اهانة للناس دي ولا للدوت نت فريم وورك-ـ<br />هو صحيح مش كل الشغل حيبقى على مزاجي لكن على الاقل الجزء اللي مش على مزاجي برضة في تفكير<br />السؤال بقى هل في اثار جانبية هل في حاجات معملتش حسابها ؟ هل ده فعلاً اللي حيحصل ؟ والله اعلم طبعاً<br />على المدى القصير انا عارف اني مش حستحمل الديفلوبمنت العادية... ححس انها تضييع لوقتي حيث ان انا عارف انا ممكن اضيع وقتي في حاجات احسن !ـ<br />وبما ان انا جربت الداتا انتري فانا عارف احساسي حيبقى عامل ازاي...!!!!ـ<br />وعلى المدى القصير برضه، الشغل اللي انا بحبه رغم انه بالنسبة لي لذيذ وتفكير وكده بس<span style="font-weight: bold;"> فحت فحت فحت</span> خصوصاً في البداية الكام سنة الاولنيين.ـ<br />قرار صعب اوي<br />خصوصا انه غير قابل للرجعة فيه الا بخسائر كبيرة - من ناحية السنين-ـ<br />يعني لو خدت قرار وبدأت فيه لازم اكمل فيه...ـ<br />في كمان اعتبارات تانية<br />الناحية الاجتماعية لما ارجع بعد ١٠ سنين مثلاً ان شاء الله حيكون اللي هاجر هاجر واللي نسي نسي واللي اتغير اتغير وخصوصا ان انا برضة مليش حد اوي هنا<br />حتكون حاجة صعبة اول عليا<br />خصوصا اني حكون لسة راجع من غربة ووحدة فظيعة<br />مش عارف<br />انا قلت كل اللي في قلبي<br />لعل وعسى حد يقرا الكلام دي ويلاحظ حاجة انا مكنتش واخد بالي منها او يديني نصيحة او يفكر معايا<br />انا بس مش عاوز العمر يعدي وتفوتني فرصة اني اكون عملت حاجة انا مش عاوز اقضي حياتي اروح شغل اخد فلوس اروح البيت مخنوق، انا عاوزها اكتر تكون اني رايح الشغل كانه هواية حاجة انا فعلا عاوز اعملها، اعمل حاجة مفيدة للعلم والمجتمع، اخد فلوس برضه بس مش حروح مخنوق<br />انا دايماً بفكر في حتة العمر دي لما الاقي حد طلع معاش<br />او اشوف حد كبير<br />اقول طب ده جه وراح وفي الاخر مزودش حاجة<br />يبقى لازمته ايه ؟<br />انا نظرتي للانسان انه وظيفتة في الحياة مش انه يشتغل ويجيب فلوس وسلامو عليكو<br />لا الانسان في نظري موجود عشان لكل جيل جديد الدنيا تبقى احسن مش بس ماديا لكن نفسيا، الناس تحترم بعض اكتر مثلا<br />لو فكرنا فيها انه مثلا الانسان ده زي النمل<br />في صخرة كبييييرة<br />كل نملة تيجي تدي زقة وتمشي<br />بعد اجيال كتييير حتلافي الصخرة اتحركت والنمل عرف يطلع<br />لكن تلاقة نملة مستفزة راكنة على الصخرة بتشرب سيجارة بكل برود ويعد كدة تمشي<br />اهه هي دي نظرتي للانسان اللي جه وراح ومزودش حاجة<br />ممكن واحد يكون زود حاجة طول مهو عايش لكن اول ما راح الحاجة دي خلصت مثلا مصنع والمصنع ده قفل عشان محدش عرف يشغله صح عشان هو معلمش حد ازاي يستعلمه او يحسنة او يضيف ليه<br />ده برضه زيه زي اللي معملش حاجة<br />الانسان عشان يكون عمل حاجة يبقى لازم يكون اضاف للي حواليه حاجة يستفيدوا بيها من بعدة او من غيره.. علم، احترام الاخرين،<br />attitude<br />طريقة تفكير<br />من الاخر يعني<br />عرف يدي زقة للبشرية والصخرة اتحركت فعلا<br />التاني ده عامل زي ما يكون رفع الصخرة سنّة وقامت راجعة تاني اول ما سابها<br />انا حاسس اني طولت عليكوا<br />وفعلا دي اطول بوست ليا بالعربي بس اول مرة اتكلم من القلب كده على البلوج<br />وعموماً احب اشكر القارئ انه كتر خيرة صبر عليا وكمل معايا لحد هنا<br />مش عارف اقفل البوست ازاي بصراحة<br />خلاص البوست خلصت.......ـ<br /><br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-4761356430402552497?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com3tag:blogger.com,1999:blog-21894146.post-80930464667539359502008-06-20T21:35:00.003+03:002008-06-20T21:52:21.126+03:00ArabOS svn-revision 50 commit messageRead it or not. If you are interested check http://arabos.googlecode.com/<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_YkTcG-emJ8c/SFv8VQkD5aI/AAAAAAAAAG4/rljBC7QYKzo/s1600-h/Screenshot-1.png"><img style="cursor: pointer;" src="http://2.bp.blogspot.com/_YkTcG-emJ8c/SFv8VQkD5aI/AAAAAAAAAG4/rljBC7QYKzo/s400/Screenshot-1.png" alt="" id="BLOGGER_PHOTO_ID_5214038435765151138" border="0" /></a><br /><br />* Renamed cpptest.h and cpptest.cpp to cpp.h and cppmain.cpp respectively.<br />* Renamed cppmain() to enter_cpp() and its duty now to provide a wrapper for the real cppmain(). It just wraps it with call_ctors() and __cxa_finalize().<br />* Added copyright notice to cppmain.cpp.<br />* Made the iso image path in bochsrc relative.<br />* Removed parallel port support from bochsrc because it caused a nag screen to show in bochs.<br />* page_table_entry is now unsigned long instead of long.<br />* Added printk() logging to control how many messages appear on the screen. That required moving the real impl of printf into print0 and now printf is just a wrapper around print0. That was needed to support transitive variable-length-arugments passing between several functions (printk should have wrap printf, no way to do it without supporting that).<br />* Converted most usages of printf() to printk() with respective log level.<br />* Fixed some signed/unsiged comparison compiler warning messages.<br />* Commented SHOW_STAT_FAILED calls.<br />* Cleaned cpp_rt_support.c a bit. Added some useful comments about the __cxa_XXX functions. And repositions some comments to be put in more relavent places.<br />* Renamed some stuff in the cpp_rt_support.c file, to confrom to the newly read Itanuim C++ ABI http://www.codesourcery.com/cxx-abi/abi.html :).<br />* The make clean command now deletes *.o and *.d in seperate commands because, if no *.o is present, no *.d would have been deleted ! That's because rm would produce an error that no *.o is present and ignore deleting *.d !<br />* Made the path relative in run.c (build environment change).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-8093046466753935950?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-42001932701703235802008-06-11T23:15:00.003+03:002008-06-11T23:29:59.867+03:00My poor PC ! (3 virtual machines, XP w/netbeans, XP w/VC++ express, and Vista) all up at the same time !<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YkTcG-emJ8c/SFAzg2pB2oI/AAAAAAAAAGo/0yTY7lmAFC0/s1600-h/Screenshot.png"><img style="cursor: pointer;" src="http://3.bp.blogspot.com/_YkTcG-emJ8c/SFAzg2pB2oI/AAAAAAAAAGo/0yTY7lmAFC0/s400/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5210721408384096898" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-4200193270170323580?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-69448240484673873682008-06-10T03:26:00.002+03:002008-06-10T03:32:13.744+03:00Rapid compiler development !I ran today into a project called GNU Lightning. It's an assembly language generator that can generate for many CPUs and platforms.<br />Combining that with Lex/Yacc (lexer and parse generators) or flex/bison (free alternatives) all you have to do is concentrate on developing your syntax and translating your semantics to GNU Lightning format.<br />Cool..<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-6944824048467387368?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-59522191131108091602008-06-10T00:26:00.003+03:002008-06-10T07:16:58.856+03:00Tana7a is ...Tana7a is when your task has to be done on windows and you do it on Linux<br />When your task is a Control Panel Applet and you develop the code on Linux<br />When you run the task you don't run on on real Windows (although you have one), but you run it on Qemu (virtual machine) with virtualized Windows...<br />If ReactOS was reliable, I would have used it instead too :D :D<br />Tena7a ba2a :D :D<br /><br />Update: And when development on Linux fails cuz of the obstacles intentionally put for that, then you install VC++ Express/Platform SDK/ (and JDK too) ON THE VIRTUAL MACHINE and develop on the virtual machine ...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-5952219113110809160?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-91407485911843867072008-06-06T17:27:00.002+03:002008-06-06T17:34:06.416+03:00First screenshots of meemory RDBMS v0.0.1<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_YkTcG-emJ8c/SElJsENifnI/AAAAAAAAAGg/TXf_nflQyk0/s1600-h/meemory.png"><img style="cursor: pointer;" src="http://2.bp.blogspot.com/_YkTcG-emJ8c/SElJsENifnI/AAAAAAAAAGg/TXf_nflQyk0/s400/meemory.png" alt="" id="BLOGGER_PHOTO_ID_5208775465424289394" border="0" /></a><br /><br />Implemented features:<br /><ul><li>Selection and projection.</li><li>A robust memory management module to report memory leaks.</li><li>Simple parsing of SQL statements.</li></ul>Unimplemented features:<br /><ul><li>Saving to persistent storage.</li><li>Parsing standard SQL (92, 99, 2003)</li><li>Indexing, joins.</li><li>Rest of SQL features.</li></ul>Project URL http://meemory.googlecode.com/ , developers are welcome.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-9140748591184386707?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-91277823680153747002008-05-24T16:23:00.003+03:002008-05-24T16:39:04.622+03:00تضارب مستفز في رفع تعريفة تاكسي العاصمة<div style="text-align: right;"><a href="http://www.masrawy.com/News/Egypt/Economy/2008/may/12/cairo_tazi.aspx?ref=rss">محافظ القاهرة: زيادة تعريفة تاكسى العاصمة إلى قرشا عن كل كيلومتر</a><br /><br />الخبر بيقول انه تقرر رفع تعريفة تاكسي العاصمة من 110 للكيلو الى 125 و ذلك لمواجهة ارتفاع اسعار البنزين. و في نفس الخبر, فيما لا يزيد عن عدة سطور يشكر المقال في مشروع تاكسي العاصمة لمحافظته على البيئة و ذلك لأنه يستعمل الغاز الطبيعي.. بجد حاجة تنرفز!!<br />واضح ان متخذ القرار برضه شايف ان كده مش كفاية حيث انه بمناسبة هذه الزيادة المباركة فتم أيضا رفع تعريفة الأنتظار ل 10 جنيه في الساعة بدلا من 5... مع أنه المفروض أن الأنتظار لا يستهلك أي نوع من أنواع الوقود!!<br />و أخيرا يقول أنه سيتم تبديل سيارات التاكسي الأبيض في أسود المتهالكة بسيارات صفراء تابعة لمشروع تاكسي العاصمة و أنه سيترك الخيار للسائق أن يعمل مستقلأ!! عمله مستقلاً في حد ذاته ليس فقط هدم محتوم لسمعة تاكسي العاصمة (اللي هيا مش حلوة أصلا, حاحكيلكوا الحكاية ديه بعدين) و لكن أيضا دمار شامل للتاكسي الأبيض فأسود, طب ماهو كده كل التكوسه دول حيولوا أصفر مستقل و حيقوشوا الدور كله!<br /><br /><br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-9127782368015374700?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com0tag:blogger.com,1999:blog-21894146.post-52283746517632347232008-05-23T22:01:00.005+03:002008-05-23T22:23:08.318+03:00On Error Resume Next --- No Tech, Just Politics...For those who didn't use VB 6.0 the statement 'On Error Resume Next' means to ignore exceptions and just go on executing the next statement!!! I think the programmers who are reading will agree this is unbelievable bad thing. It means you will not know that things are going wrong, and will just be surprised when the program behaves incorrectly, and will keep wondering why!<br /><br />This is what is going on with this country. When the education system ignores that students do not really understand anything from what they are supposed to learn and lets them graduate ignoring that fact, it has to deal with lots of future problems and consequences and will keep wondering why.<br /><br />Why the production in our country is low-quality? why people are sitting in the cafes having no job? why the entire population have low confidence in our ability to do anything compared to the 'foreigner' (عقدة الخواجة)? why we have regular job 'repetitive jobs' not creative jobs? why Egyptian scientists are leaving the country? ... Why our education system is such a loser? why the educators are almost ignorant (they graduate from the same loser education system)?<br /><br />It's all because we are letting the incompetents graduate from college. Not talking about engineering and medical school issue. It's all because even the good professors face pressure to make a certain percentage pass a certain course even if they are incompetent. Why? because if a huge percentage is failing, that means there is a problem with the professor. While more deep investigation will show that the problem is the entire education these kids have been through up to that point. And sure that won't please the people in middle-tier management (not the top head, nor the employees).<br /><br />I mean the people in strong places but not absolute safety! It means they will be fired, face the community, etc etc. كبش فداء من الأخر. They are not punished for causing that, but they are punished they didn't hide it well. Although the entire population knows about it :D strange way of thinking; I keep wondering who are they fooling?? The entire three tiers know about the stupid education system (top head, middle-tier, and citizens).<br /><br />It's like being bad students. They didn't study, and instead of facing the monthly exam to know how bad they are and study, they are just playing and having fun till the final!! With the exception is that the final isn't theirs. i.e. they are not the ones who are failing, it's the entire country!!!!<br /><br />How could such thing be resolved? I keep thinking and I can't find an answer...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-5228374651763234723?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com1tag:blogger.com,1999:blog-21894146.post-19683066673565291552008-04-23T21:49:00.002+02:002008-04-23T21:58:37.510+02:00If Egyptian Have Invented Windows ... (a 10 years-old forwarded mail)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YkTcG-emJ8c/SA-T5ZIGNiI/AAAAAAAAAGQ/bn4QuhdnIcY/s1600-h/image001.jpg"><img style="cursor: pointer;" src="http://1.bp.blogspot.com/_YkTcG-emJ8c/SA-T5ZIGNiI/AAAAAAAAAGQ/bn4QuhdnIcY/s400/image001.jpg" alt="" id="BLOGGER_PHOTO_ID_5192531509588145698" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-1968306667356529155?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com1tag:blogger.com,1999:blog-21894146.post-32137405027738126982008-03-17T19:41:00.003+02:002008-03-18T14:22:15.766+02:00Post #100 ! (Reserved)This is the 100th post in my blog. I think it should be special, and that I should have something special to write in it. I don't like that obligation, and I certainly won't stop writing until I find something special to write. So here I write this post, just to reserve the number, and I when I have something special I will come and write it here isA (if any special thing occurred before the 200th post anyway!)<br />So, see you later in Post# 101.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-3213740502773812698?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com1tag:blogger.com,1999:blog-21894146.post-55456858375410586272007-12-20T16:45:00.000+02:002007-12-22T08:43:34.517+02:00A story of him who wanted to not call the constructor !Hello there, everybody !<br />Welcome to my blog. Please seat yourself and enjoy the post.<br /><br />Once upon time, a old wise man was sitting alone thinking in some problem that was taking all over his mind. He wanted to make things easier for the local programmers who use the RMI library. There problem was that to use RMI you need to override and implement certain interfaces. So the poor villagers, er, programmers had to work extra hours to harvest, er, design the changed system to adapt it to RMI specs.<br /><br />The old wise man have figured out a simple way to help them. He can provide them with a magical bean, er, program that can do the tedious specs conformation for them. The magical bean overrides the classes and sends the overridden class over the network, instead of an evil magical creature, er, RMI artificial stub that throws them with rocks, er, RemoteExceptions.<br /><br />The old wise man spent days and days working alone all the day long, until he finally produced what he have promised. The magical bean worked as expected. However, there were one drawback with that bean. It kills the other crops, er, remote stubs still call the default constructor of the super class. That constructor is meant to run on the server side. In some cases it can wreak havok if run on the client side; creating or deleting other crops, er, files for example.<br /><br />That problem kept the old wise man up for 3 days. although it was the big feast, but he cared for the poor villagers more than his own joy. He set his mule up, and started on his way to search for a solution. Even if it took him to sweep the entire globe.<br /><br />On his mysterious journey, he met a powerful wizard, called BCEL. BCEL claimed that he has a potion that enables the old wise man to control the magical bean to an unprecedented level. The old wise man believed him and bought the recipe. He spent the next weeks trying to prepare the potion. The results wasn't encouraging at the first, but as he got better in preparing it over time, the results got better.<br /><br />Trial #1<br />Now it is the big day. He have gained enough skill to try to prevent that evil magical bean from invoking the constructor. He have manipulated the magical bean and removed the invoke that calls the super constructor. But the soil, er, JVM, struck him with lighting, er, exception that the object is uninitialized.<br /><br />Trial #2<br />Bravely standing up after the lighting, he manipulated the magical bean again, to call the Object's constructor directly, without passing the on the original super constructor first. But still, JVM struck him again saying that the wrong constructor is being called!<br /><br />Trial #3<br />He thought, if I can manipulate the magical bean's constructor, why don't I manipulate it's super constructor too ? And the next super one and so on. So staying for hours in his laboratory, he invented his own fertilizer, er, class loader. That special fertilizer has the ability to manipulate every magical bean, and even every normal bean that gets out of the soil. Yet he wasn't so lucky. JVM had to make his grow the magical bean twice every time he wanted harvest an RMI application.<br /><br />The old wise man keeps trying, and hopefully soon he will be able to something. Even if he had to manipulate JVM itself!!<br /><br />End of part 1...<br /><br />Update 22/dec/2007: Using JVMTI (JVM Tool Interface) One could change every loaded class in the system. It can also redefine them as many times as he want to. And best of all, it needn't be native code ;).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-5545685837541058627?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com1tag:blogger.com,1999:blog-21894146.post-73026379609005935132007-11-19T22:33:00.001+02:002007-11-19T22:36:30.091+02:00Typical debugging session<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_YkTcG-emJ8c/R0HzjP1qDWI/AAAAAAAAAFw/ITkowBSRRYo/s1600-h/Screenshot-1.png"><img style="cursor: pointer;" src="http://2.bp.blogspot.com/_YkTcG-emJ8c/R0HzjP1qDWI/AAAAAAAAAFw/ITkowBSRRYo/s400/Screenshot-1.png" alt="" id="BLOGGER_PHOTO_ID_5134652837051632994" border="0" /></a><br />Typical debugging session...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-7302637960900593513?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com1tag:blogger.com,1999:blog-21894146.post-89989053709074777842007-11-11T17:50:00.000+02:002007-11-11T18:07:26.194+02:00Chat protocol v15-way SIP<br />P1: s/a (SYN)<br />P2: s/a (SYN)<br />P1: hru ? (SYN/ACK)<br />P2: l7mdL u ? (SYN/ACK)<br />P1: l7mdL (ACK)<br /><br />Session:<br />P1: s'up ? (PING)<br />P2: aho mashya, u ? / aho 3ayesh, u ? (PONG)<br />P1: l7mdL (ACK)<br /><br />Session Suspension<br />P1: brb/afk (URG)<br />P2: tyt (ACK)<br /><br />Half-closed Session Termination<br />P1: bbl (FIN)<br />P2: tyt (ACK)<br /><br />4-way Session Termination<br />P1: i have 2 go now, need anything ? (SYN/FIN)<br />P2: no thx (FIN/ACK)<br />P1: s/a (FIN)<br />P2: s/a (FIN)<br /><br />Session Reset<br />P1: i have to go now, salam (RST)<br />P2: ... (void)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-8998905370907477784?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com2tag:blogger.com,1999:blog-21894146.post-24943606297429268532007-10-28T12:38:00.000+02:002007-10-28T13:26:17.391+02:00The meta-effect<blockquote>Alan Turing, the mathematician, and father of computer science, died trying to prove somethings are fundamentally unprovable[1].</blockquote>Finally this long-awaited article comes to light. People who read it might actually think I am really crazy. But I will write it anyway. I don't actually know if this is an already-defined theory with another name or not, but I've been thinking in it for a while now.<br /><br />The meta-effect happens in every day life, and in different ways, but we never notice it. I've been able only to know 2 instances of it, one of which only exists in the meta-effect itself.<br /><br />I don't know how to start but through an example, and I have one example as said above. You learn how to sum 2 numbers. Your teacher taught you how to sum two numbers, and he had learned how to teach you how to add 2 numbers. The guy who taught him how to teach you how to add two numbers have learned that too! I don't actually care about any of these facts, only do notice that I can go for ever.<br /><br />How do humans learn things ? How do humans learn how they learn things ? How people analyze how they learned about they learning things ? Common fields facing that particular effect are psychologists, sociologists and natural language programmers.<br /><br />That meta-effect things needs a lot of studies to know its true nature. For example, to which level should we go ? Or can we know a level without the other ? At which level there is no more useful information ? Do we need to advance to another level ?<br /><br />The most fascinating aspect of all that, is how human mind can elevate in meta-levels like that. Studying the effect of how human analyze how their mind are in a higher meta-level, lets call it: meta-cognition-level-2, for short MCL2. In my<a href="http://mohnabil.blogspot.com/2007/10/30-minutes-is-not-same-as-half-hour.html"> last article</a> what I was speaking about is MCL2. While we analyze MCL2, we are elevating to MCL3. As a rule-of-thumb, when you give a level a name, say MCL(n), you are actually at level MCL(n+1). In MCL2 we talk at MCL1. And when we talk about MCL2, we are at MCL3.<br /><br /><span style="font-style: italic;">Warning, the next is much more complex!<br /><br /></span>We talked about meta-effect in learning, or some topic. What if that topic was the meta-effect itself ?! There is meta-levels, in a single topic. Each level analyzes the level beneath it. But what about analyzing the meta-levels itself (like in differentiation in calculus*). Let's call that, meta-meta-effect. Is there is a single meta-meta-effect for all topics, or there is separate one for each topic, or there is both ? Is the former a higher (another kind) of meta-meta-effect ?<br /><br /><span style="font-weight: bold;">Generalization<br /><br /></span>If we give a thread of cognition stream the name m/l/t, where m is the differential meta-level, l is the ordinary meta-level, and t is the topic, where t* is applicable to all topics. Normal everyday talk or thinking is 0/0/t*. Some advanced experience of learning activities involving consideration of previous learning experiences, is 0/1/t*. M/L/T (big letters are free unbound variables, means applicable to anything) where M > 0 is only applicable when talking about meta-effect.<br /><br />Well, I might go more analytical next post isA.<br /><span style="font-weight: bold;"></span><span style="font-style: italic;"></span><br />[1] http://bestdocumentaries.blogspot.com/2007/09/dangerous-knowledge-full-documentary.html<br />* Cool, this might lead to some new science called cognitive calculus :D<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21894146-2494360629742926853?l=mohnabil.blogspot.com'/></div>Mohammad Nabil Al-Agganhttp://www.blogger.com/profile/00636251663295114267noreply@blogger.com3