The new Facebook design is out now for testing and feedback collection.

So, is it better? At least it’s faster! Way faster! (Even though updates arrive late according to timestamps).
I believe that the usability and the user experience behind the interface is what matters most. Regardless how the new interface looks, people won’t like the huge change they’ll see (it’s not huge for me, regular users will find it so). It will take some time for the average user to get aquatinted with the new interface. Such process should be taken gradually, just like the first time - seems they’ll miss that this time!

Let’s have a look …

I like the new upper, blue bar with the links and search, the new home and settings icons, too. Security button now has a menu grouping Account Settings and Privacy Settings, at last. They also added an “Applications” list, where you can quickly access your installed applications. It holds only bookmarked applications, and that you can customize easily by adding and removing from the list - but why do they still keep a “Bookmarks” section on the right to do the same job? Don’t know, perhaps a testing phase ..

The Facebook Home page has turned much into a blog-styled page, especially with the right pane (I liked the old left and right panes more honestly, coz it’s like we’re going backwards in design). The left pane: Search is up, bookmarks are to the right below the status. Status is back to first name only an no “is” to follow.

A good step was merging Events and Birthday reminders - I liked this one!

FB Home

Since I hate Facebook applications (most, if not all, are pointless, and they make your profile page suck and a mile long), I’m quite happy with the new tabs.

The Wall tab is the main tab in the profile, where the mini-feed has been merges with the wall; good chronologically, bad for wall posts are lost in between everything else. Updating your status is now as making a new entry to the wall tab. You can notice you can filter the displayed posts as well to see all posts, your posts, or posts by others.

FB Wall Tab

The Info tab now has all your details, that most people used to skip - so it’s good putting it on a separate tab. You’ll check only if you intend to.

FB Info Tab

The there’re the Photos and the Boxes tabs. Photos has the usual thing.
Boxes is where all your insanely-added applications go. I LOVE that. I won’t be able to see them anymore!

You can also add new tabs from the (+) button.

FB Boxes Tab

Photos haven’t changed much. Albums did! I like the new wider, shorter albums.
Notice the ads on the right. It’s silly, more obvious - not in all pages though.

FB Albums

I like the new loading animation …

FB Images

You can post your feedback about the new interface and help shape the launched version. Try it out yourself. Just add the Developer Application and you’ll see it automatically (you can switch back to the old Facebook too).





Why are routers annoying ?
icon1 Fouad Mohammed | icon2 Uncategorized | icon4 07 28th, 2008|

Why Cant i host a website on my PC ?

Why do we have to do port forwarding to use Bit-torrent fast enough?
What is port forwarding in the first place ?

the answer for these is because you have a router or they also call it a Layer 3- Switch

but before we can go on and explain why .. i must make sure that every one understands (or at least will understand someday) so i will have to make a fast intro to the networking world .. to reach that goal .. i will split this discussion into a couple of posts .. a series.. like the “My Programming Experience” series which was great because it was never continued ;)

so ..
lets pretend that we are going to build the networking stack from scratch .. and we will face problems and we will face them and solve them “by cheating from the current network stack” .. so i dont claim that what i will explain is very precise .. if u need that .. u can refer to a book or wikipedia after we are done.

  1. Network: an group of inter-connected machines .. that share resources to perform a task. “easy?”
  2. server: a machine in the network that provides a service .. mostly a resource or a piece of info. “okk ?”
    so note: ANY MACHINE can be a SERVER as long it has something to serve “Any one can cook!.. ok Remy ?”
  3. Client: i think its the machine that is served by the server. “its like fire has to burn because its fire!”
  4. Modem .. lets also call it Network Interface .. Adapter .. i will use these names to refer to the hardware and software logic that enables the Client and Server to interact

so lets say we are all connected by some magical wire to some Central .. and the connection between any two machines is like a phone Call .. one machine dials a number .. and starts talking .. so each machine has a number? .. what to call it? .. lets call it IP

ok .. so once you know the a machines IP .. you can communicate with it .. but wait .. lets notice that a machine, a computer is mainly applications, right ? .. so who needs to communicate ? .. these applications .. so likely you will say “i want to talk to MSN on Ali’s machine” in the phone case you use a name after you dial a number .. so lets use another identifier .. again a number .. now we call it PORT .. its where requests dock )

and don’t ask me who choose that name “ports” .. because i have no idea!

now, when an application wants to communicate with another on another machine .. say two MSN messengers, each listens on port 55 on its own machine .. each talk through that port 55 to the other side and receives “listens” to info from that other side on that port too.

from the image, u see firefox tries to connect to some website’s Server, it uses port 1 to communicate, while the server sends its reply to your PC on port 1 again, since Firefox used it to send the request , then logically it is still waiting for the reply from the same address


Ports Explained .. click for a large image..

so what is these “addresses” ?
they refer to some application running on a machine
they consist of the IP and the port
IP:Port
123.474.47.1:48
by the way .. the most famous application that runs on a server is a “HTTP server” its an application that simply sends Web-Pages and processes them, by default it runs on port number 80

that’s it for today..
next
en shaa2 Allah: Routers, how they work

if you think i should have mentioned something and i didnt please add it in the comments. thanks..

Zemanta Pixie




التدوينة الأخيرة
icon1 حسن إبراهيم | icon2 شخصية و أخرى | icon4 07 28th, 2008|

حان الوقت لإنهاء هذا )
التدوين لم يعد من أولوياتي، ولن أستطيع أن أفرض التدوين على نفسي (أو ربما العكس).
شكرا لكل من تابع تدويناتي أو علّق عليها.
الأخبار المهمة المتعلقة بالبرمجيات الحرّة/المصادر المفتوحة مازال يمكنكم متابعتها من وادي التقنية.
وهذه صفحتي على فريندفيد.
والسلام عليكم ورحمة الله وبركاته.





I’ve finally started blogging!
icon1 Haytham Alaa | icon2 Uncategorized | icon4 07 21st, 2008|

Alsalam alikom wa ra7mat Allah wa barakatoh

Today, I've posted my first technical post on MSDN blogs.. you can find it here (Title: Javascript Execution Context)

I know it may not look fancy or rock science. It's just a start anyway.

Wait for more.
Thanks.





فيلم لرجل المستحيل
icon1 Fouad Mohammed | icon2 Uncategorized | icon4 07 18th, 2008|

اتمنى أن يخفف هذا الخبر عن البعض D

فبعد طول انتظار .. روتانا تعلن عن انتاج فيلم لرجل المستحيل

بصراحة مش فارق معايا مين ينتجه .. و أيا كان فهو سيجنى اموالا طائله لأن الفيلم له مشاهدينه من قبل قرار صناعته أصلا

المصدر .. موقع بص و طل

تعليق الدكتور نبيل

“..وكانت المشكلة دوماً مع المنتجين.. إما أنهم يجهلون من هو أدهم صبري، وما مدى تأثير شخصية رجل المستحيل في جيل كامل، وإما أنهم يحاولون تجريدي من كافة الحقوق الخاصة به.. لهذا كنت أشعر أن زمن انتقاله إلى الشاشة لم يحن بعد.. حتى حان اليوبيل الفضي لإطلاق الشخصية، وحانت معه لحظة انطلاقها على الشاشة..”

و D

“الشخصية الحقيقية لم تعد تشرف على “رجل المستحيل” لأن “أدهم صبري” اكتسب مع الوقت شخصيته المستقلة وصار نسخة مختلفة، وبالتالي لم يعد هناك داع للإشراف عليه”.

و طبعا السؤال الأزلى

السؤال الأهم الذي يؤرق القراء دوما، كان يتعلق بالشخصية الجديرة بشرف تجسيد “أدهم صبري” وعلى أي أساس سيتم اختيار هذا الفنان المحظوظ، فأكد د.”نبيل فاروق”..

“أنه سيجري البحث عن وجه جديد للقيام بالدور لأن مسئولي روتانا يعتقدون أنه لو قام به أي ممثل له تاريخ لن يكون مقنعا للمشاهد لذا سيتم إجراء مسابقة لاختيار وجه جديد كما سيتم إطلاق موقع إلكتروني في 10 أكتوبر القادم للمتابعة ومعرفة أخبار الفيلم باستمرار”.

D و اترككم مع الخبر





Doodlez!
icon1 Alaa Shaker | icon2 Animation, design | icon4 07 17th, 2008|

Doodlez is a TV animated series shown on Nickelodeon.

I dropped by a few videos on YouTube, check out this one …

 

Doodlez!





Finally, a graduate!
icon1 Alaa Shaker | icon2 Caricature, Graduation, Personal | icon4 07 16th, 2008|

Finally, a graduate!

 

At last .. looool D






NOTE: This post is mainly dedicated to FCIS students class’09 (now senior students), and anyone else starting their graduation project or interested to know more about that issue …


So, let’s get started. Mmm-How?! I know most of you are stuck at the point: starting up!
Well, I was there a year ago, exactly a year, and I’ve passed with the same experience. I’ll try to deliver that experience to you as much as I can in this post …

Factors to consider ..

Before starting, there are a few factors that you need to consider:

  • Working Team
  • Project Topic
  • Technologies and Programming Languages used
  • Contribution
  • Roles and Time Management
  • Supervisors
  • Sponsors and Funding
  • Documentation, Presentation and The Final Seminar

I’ll go through each of them separately through the post.

Who’s gonna fight on your side?

YES, it’s a fight! Who’s gonna back you up?
One of the most important factors in the graduation project is working team. Therefore, picking your teammates is crucial. Let’s go through what you need to notice during the selection phase:

  • Background:
    Having different backgrounds has its benefits and drawbacks. Benefits appear in combining different experiences and knowledge backgrounds behind the project; giving you more space to come with better outputs. Let’s say your project includes a part that has database interaction through a rich interface. Someone who’s worked a lot with databases would help, along with someone who - let’s say - knows WPF to create the exquisite interface. In another example, someone who has worked with WebServices earlier, could help much in case you need to upload some “functionality” online for a mobile application to connect and use.
    On the other hand, “wide” differences cause problems. Different experience levels lead to one team member being more experienced, does work faster and is more efficient than the other. So, so much time is wasted in explaining, reviewing, fixing, then re-coding the latter’s tasks. Make sure you vary, but that your levels lie in some close range though.
  • Commitment:
    People have different levels of commitment and “interest” to get their work done. Some don’t sleep if some task is incomplete, while others could go to the movies because someone else “will sure” do their work.
    During the project, you’ll have to assign tasks to specific persons due to some fixed dates. It would be killing that some get their tasks done, while others are sleeping or out having fun. That’s why you should all have the same level of commitment - either you all go out and to hell with the work, or you all spend sleepless nights to finish it up!
  • Means of communication:
    It’s really stupid for someone who’s working online 24/7 to send another teammate the project updates in an email thread, when the later is not a “fan” of computers or the Internet, so they just don’t check their mails that often!
    You have to agree on some sort of communication method; mobile or phone calls, SMS, emails and email threads, user groups (as Yahoo!), Facebook (LOL!), Google Notebook, Visual Studio Team Suite, whatever!!!!! Just make sure your all on the same track …
  • Human blending:
    Make sure there’s a minimum level of acceptance and coping between the team-members. You don’t have to be “friends”, but at least you have the needed respect and understanding to get along for a whole year!
    In a project, there are always conflicts, disagreements, problems, miscommunication, misunderstandings, and you name it! If you can’t cope, or can’t deal with other teammates, believe me there’s no time for kiddy-games! Be professional - this is a project!
    It’s much better if you could pick people you can “work” with from the start - work with is something, and friends is another!
  • Grow up!
    This is a project; the closest undergraduate experience to real work. There’s no chance that you’re settling for a “bad” group just because they’re your friends for the past 2-3 years and you can’t tell them you had an offer with the “perfect” group. If you can’t work with them - then leave! You’ll lose more - all of you - with you on the team.
    It happens a lot when a team of five, one of them is much more “experienced” than the other four. This one gets an offer to join another team - a better, more experienced team, with a better project, better chances to come with better stuff. They refuse just because they can’t leave their friends! Give me a break! I’m not that mean by the way, but this is work for God’s sake, it’s not an outing!
  • Departments:
    Some people pick the team (or project topic) according to the departments you join. If you’re working hard from the beginning of the year, it won’t make much difference. Let’s say your project does some Image Processing, you won’t study that unless you are in the first semester in Computer Sciences Department. If you started your project already before taking the course, then you being in this department makes no difference as you haven’t taken the course yet. Of course, if your lazy enough to start by the middle of the second semester (and for sure, it’s not a huge project then), well, only then it may differ.
    Always keep in mind, if your project needs a certain topic to be studied, then go study it and do some research, don’t depend on a department or a course. You can pay any professor or TA a visit to help you out, then you’ll still have to work on your own.

Deciding on the project topic ..

Most topics you’ll think of are either ..

  • .. too easy (a website doing a usual task),
  • .. repeated (a tool implements one or two features of a $5,000 package, where you feel you’ll be doing like 1/10 of the real thing and like 10% of its efficiency),
  • .. too old (because you’ve seen it zillions of times online, free, commercial, and already submitted to college in previous years by your ancestors),
  • .. or too hard (operating system? game engine? may be in ten-years!)

Well, it’s totally WRONG to see it that way!

The graduation project is not an assignment, it’s not a task to be delivered tomorrow. It’s a challenge; where you get to prove you’ve learnt something. It’s a proof of concept; prove you can make it, you don’t have to go through the whole thing to do so. It’s an experiment; apply a concept, bring it to life. It’s your contribution; add something to the world.

So, again, let’s go through those four types ..

  • Easy: Build an easy website, or a common tool, but add something new to it. If it does the usual task, no addition, no contribution, no application of some theory or concept, AND easy? Then NO!
    As long as there’s something unique about it, something that makes it “different”, then OK …
  • Repeated: Adobe has their Photoshop, Autodesk have their Maya, Microsoft have Visual Studio, so what’s the point of re-building an image processing package, 3D modeling package, or an IDE and/or  a compiler? Mmmm .. yours could be faster, more efficient, with better output, applies a different methodology to reach same results AND you added to it at least one new feature, good enough? YES!
    Moreover, if the project is repeated AND huge, then building the whole thing is just as good as challenging Autodesk to build a New-Maya (Naya) that - if in the market - could compete with their Maya. Just try to avoid the traditional topics ..
  • Old: Don’t do something we’re sick of, something that has been killed with research, leaving you nothing to add. Go for stuff you can add to, enhance, alter, extend, evolve, or change into something better or different at least. Don’t literally “repeat” them.
    You can dig old graduation projects, “inherit” them and go on with their future work for instance …
  • Hard: Nothing’s hard to build. Officially speaking, after your third year in FCIS, you’re done! There’s nothing more you need to start an enormously huge project - but experience of course! So, you shouldn’t have any problems by now to build an operating system for instance, or understanding how a 3D model is represented or a compiler is built. Even if you don’t, you’re ready to understand it in no time. So, don’t worry about that! The problem is something else - it’s called “feasibility”!
    Is it feasible to finish this project on time? Do you have enough resources? And by that I mean man-power, needed software, tools and hardware if needed, knowledge and experience with the topic, field, programming language, concepts, etc. and most of all, time, esp. with the load of the fourth year depending on your department, and finally, your team members and the way you handle stuff (will discuss all of that next). If you have a vision for how you could survive all that in a way that makes building such project “feasible”, then go for it … As a friend of mine says, “Try to challenge the unknown!”

Last thing to mention, deciding on the graduation project topic requires two main things: research and background.

You need to do a lot of research on each topic to know if it’s too easy, killed before, reinvents the wheel, or infeasible to get it done. Also, research will allow you to know more about the subject; how you could enhance it, add to it, change it, skip it, cancel it, and most of all, what you already know about it and what you don’t - so you can start working on. Also, follow up with bloggers and Google Summer of Code; that’ll help you brainstorm and stay updated!

The other thing, the background, plays as an important factor in your choice. For instance, people who have worked or had internships in the summer time, or people who know different programming languages, or people who have experienced several tools and technologies, will sure have a wider variety of choices to pick from than other people who only made their assignments and studied for their finals, if they did in the first place! Your background helps shape your choices, so start teaching yourself, if not for and through the project, then at least for later … !!!

C++ or C# .. ? Oracle or MySQL .. ?

Most people don’t have a problem with questions of this sort - it’s 90% of the time Microsoft Visual Studio 2005, C# and Microsoft SQL Server 2005. Why? Because that’s what we know and what we’ve studied! LOL

Now that you’ve finished your third year, you should know by now that technologies and programming languages are just tools, it’s the concepts that drive them. If I want to do a task X, there has to be several options, languages or tools to get it done. I “should” pick the most suitable solution with respect to the whole project. I said “should” because not all of can afford such choices. If X is better done in C++, perhaps I can do that, that doesn’t imply that you could do the same!

Pick a language you all know, and that serves you project. Same goes for the tools and technologies used. Unless you’re experienced enough to start an Extreme Programming journey and learn something new along the way, then don’t go for crazy stuff now and mess with your output. Sometimes you’ll be forced to deal with new stuff - heard about Symbian? You’ll sure do if your project is about mobile applications. At some point in our project, we had to do some demo, either in WPF (C#) or QT (C++). It was late, and the only solution to know which of them was better, was to build a whole demo to know how it goes. I haven’t worked with any of them earlier - yet, I was ready for both! (= learning a new technology in no time, mastering it, then develop an advanced demo). Thanks God, one was enough!
Again, such insanity doesn’t imply you should do the same. It needs experience, if you can’t do, or not willing to, then don’t!

Whatever you settle for, I suggest you manage your project in an iterative style. Define phases, milestones, and requirements. Define a time plan with deadlines for each phase. Make sure each phase is a separate deliverable (i.e. Phase 1 produces an application that does A and B, then phase 2 produces and application that does A, B, C and D, and so on). So, if anything goes wrong, you still have something solid to deliver. Doing that requires that you have defined objectives from the start, so you can limit the scope of every phase.

One last thing I’d like to come across, is source control. Each developer working on his own then one poor guy integrating the whole thing is somehow a silly scenario. It’s time you learned more about source control. Mentioning that, it’s good to keep tasks, appointments, bugs, etc. online somewhere (Google Docs?).

So what? Is there more to it?

Even though the “contribution” thing was mentioned earlier, I do want to stress that the graduation project is about providing you the experience and the chance to learn something new. You have to do some research and “add” to the topic something - regardless how small, but you did add something! Don’t give anyone a chance to tell you something like “So what? There’s a tool on some website that does the same thing, and even better?” Make sure you have at least one thing that is better, faster, more optimized, handles more cases, etc.

Some people do much effort and great work to do some task that eventually happens to be pretty much pointless. I’ve once attended a seminar for some colleagues who have built a web application that allows you to upload PowerPoint presentations to some website as a part of the project, then view them later. Through this process, each slide is converted into an “image”, so it can be viewed through the webpage (as a slideshow). After they’ve showed this part, the first question was “What’s the point of the whole image conversion thing? Don’t you know that you can view PowerPoint presentations inside the browser?” … I guess the point is clear enough now!

I’ll be the policeman .. LOL

It’s good to have roles. Each team member is responsible for one or more tasks, so if anything goes bad, you know who to kill! Distribute roles according to individual capabilities, experience and personalities. Each member can handle more than one role - roles don’t put equal loads, keep that in mind!

Some roles to mention:

  • Project Manager/Team Leader: Responsible of setting and following up tasks.
  • Time Keeper: Reminds you of deadlines, task due dates, meetings, appointments, deliveries, etc. and also takes notes during meetings.
  • Engagement Manager: Talks to professors, TAs, administrations, companies, etc.
  • Configuration Manager: Sets up the technical environment for the developers - brings you the tools you need, manages source control, includes, libraries, headers, databases, etc.
  • System Architect: Devices the design of the project, the data work flow, etc.
  • Developers.
  • Testers (Quality Engineers).

All team members are considered developers of their own tasks and testers of others’ work. Depending on the type of the project, more or less roles could be defined. As an example, with a project with a main database concern, you will need a Database Analyst. It doesn’t matter what you call the role, but somebody has to take it!

Make sure you have a clear vision of the projects, tasks and milestones, against time and due dates. Sticking to them will save you much more hectic time at the end of the year, not mentioning having to cut down project objectives due to the insufficient time left.

Supervisors

Professors don’t have enough time to follow up with you. TAs, mmm, depends! Some are available; some don’t show up till your finals. So, make sure you pick people who can benefit you in some way. Pick professors or TAs that could help you with explanation of concepts, theories, using technologies, etc. If your project has some basic Image Processing, make sure you reach for a professor or a TA who’s in the field. If you’re working in C++, try with some TA who has some experience with that to help you with the 10,000 linking error you’ll have. Sometimes also you can go for prestigious professors; with their presence in your final seminars, the attacks become less aggressive, they will back you up if they are convinced with what you do.

Sponsors and Funding

Usually, they do nothing. Most sponsors declare that they won’t be providing any financial sponsorship from the first day. Others don’t offer or don’t have enough skills to offer technical sponsorship - that’s in huge projects. So, try picking some sponsor related to your topic. Most projects don’t need much funding - hey, it’s a software, you just pay developers and that’s your unpaid job for now! You only need money if you need to buy specific hardware devices or rent some hosting or domain online. If your project is about a mobile application, try to reach for telecom companies as Vodafone to provide you with a mobile device and a free line for Internet connection for instance. If you win the ITIDA (ITAC) funds, it would be great, but you’ll still dive into much hassle with the faculty to get your money back. Moreover, the only mandatory expenses would be printing the documentation.

Documentation, Presentation and the Final Seminar

Some people believe that a project is all about the presentation and the documentation.

Think of the presentation as how you market or sell your product. You’ve done so much work and you have like 10-20 minutes to demonstrate how much effort you’ve done to make such a great thing - if you succeed and I like it, you get the mark .. If not, you know! The most important presentations are the first and the last; the first proposes your idea and defines how people will treat you and look at your project for the rest of the year, while the last is the one that marks your grades. On the other hand, the documentation is the only official record of what you’ve done. It should explain each and every detail related to your work, its background, your “contribution” and the challenges you faced.

I do suggest that everything you do, should be documented; photos, notes, documents, blog posts, whatever! Make a blog for your project, and write a post whenever you do something. Along the year, you’ll forget what problems you face and how you solved them, the choices you had to make, and the results you’ve reached. The blog will help you much in writing your documentation (I should tell you that you should write the documentation through the whole year of the project implementation, you won’t do that, so go for the blog thing instead!).

Your first and at least your last presentations have to be dazzling. In your final seminar, your presentation should contain mainly four things: the problem definition and how your project solves that, your contribution and what makes your project different, whatever challenges you’ve passed, and finally demos. Make sure you make it as short as possible (10-15min, coz you’ll take longer), and that you don’t list or dive into implementation or deep technical details - if they want to know more, they’ll ask! Keep it more as a “marketing” presentation rather than a “technical” one. Remember, your final marks are mainly based on your presentations and documentation, not the executable of your project!


Hope this helps .. Best wishes ..
And don’t forget to invite me to your finals to watch D





I’m TouchFREE …
icon1 Alaa Shaker | icon2 Blogging, Personal | icon4 07 10th, 2008|

Well, if you follow, you’ll notice I haven’t been posting anything lately. The last couple of weeks were very hectic; my graduation project delivery - Touchwork!
It’s really weird that I post easily during the final exams, and I just couldn’t do that during the graduation project final weeks. LOL.

Anyway, I’m back! Now, I’m free, graduated, and currently unemployed.
Await new posts .. and stay tuned .. D





اخترنا لك
icon1 Fouad Mohammed | icon2 Uncategorized | icon4 07 8th, 2008|

عندما تقدم على امر ما .. و تجد نفسك مجبرا على الاختيار بين امرين .. و لا تجد لديك الثقه الكافيه لأختيار احدهما .. لنقص معلوماتك او قلة خبراتك او خوفك من النتائج .. مثل

اتعلم سى ++ ولا سى شارب؟

اخد الكورس ده ولا اشتغل؟

اعمل المشروع ده ولا ده؟

اقرى كتاب لافور ولا

how to program؟

اكمل ويب ولا

desktop؟

اعمل بلوج على وورد بريس ولا على بلوج سبوت ؟

الاجابه هى اى حاجه .. بس اختار حاجه و خلصنى

ايا كان اختيارك .. اكيد هيكون احسن من مفيش

احكيلكم عن السيناريو الطبيعى للقصة

1- ضيع 5 ايام على النت بتحاول تفهم الفرق بين سى ++و سى شارب

2- مفهمتش حاجه من خطوه واحد لانك مش فاهم يعنى ايه
garbage collector اصلا
فمفهمتش هيفيدك وجوده من عدمه ازاى

3- ضيع اسبوع بتسأل الناس اللى اكبر منك علشان فى الاخر تعمل عكسهم كده كده
اه و متنساش تسأل اللى فاهم واللى مش فاهم ..ده مفيد جدا فى حسم مشكله الاختيار

4- كرر تقرى سى++ شكلها كده مفيده

5- ادخل على امازون و دور على جميع الكتب اللى بتتكلم عن السى++ و دور على الكتاب اللى بعد ما تقراه هتبقى خبير عالمى و مترضاش بأى حاجه اقل من كده ..و يا سلام لو الكتاب غلافه شكله حلو

6- اقرى جميع التعليقات اللى على جميع الكتب على امازون و استمتع بالشتائم المتبادله بين اللى بيحبوا الكتاب ده و الكتاب التانى و لاحظ ان كل واحد فيهم اشترى الكتاب مقراش منه غير الفهرس

7- مش هتوصل لحاجه بعد كل ده

8- قرر تنزل كل الكتب علشان تقرى و تقرر بنفسك

9- انشغل شويه فى امتحانات الكليه

10- اقرى اول شابتر من كل كتاب اللى هوا المقدمه و اكتشف ان كلهم مملين و انك عايز كتاب مختلف

11- قرر تدور فى جوجل تانى

12- هتلاقى كتب جديده

13- نزلها

14- كرر الخطوه 7 لحد نص الاجازه

15- قدم على شغل او قرر تعمل مع صحابك مشروع

16- متخلصوش المشروع لانكم واجهتم مشكله تانيه و لازم تختاروا حل من اتنين

16+- لو رحت شغل و قالولك اعمل ده سى ++ قلهم معرفش رغم ان عندك جميع الكتب اللى بتتكلم عنها فى البيت

17- رئيسك هيقولك معرفكش خلص الشغل بعد بكره انشالله تعمله سى شارب

18- انت متعرفش سى شارب قد كده برضو

19- افتح الانترنت اكسبلوررعلى جهاز الشغل

20- نزل فايرفوكس

21- دور على اى كتاب تفتكره من المركونين فى البيت

22- اقراه فى اسبوع و متفهمش غير على قد الشغل لأن مافيش وقت

23- خلص المطلوب منك بس اى كلام لأن مافيش وقت

24- كرر الخطوه 16 مع كل شغل يجيلك

———–

السيناريو البديل كاللآتى

1- اقرى اى كتاب عن السى++و خلصه فى اسبوعين

2- بص فى اى كتاب تانى

3- هتلاقى حاجه مسمعتش عنها قبل كده

4- اقراها فى ساعتين

5- خلص السى++ و اعملك كام برنامج لحد ما تتمكن منها

6- سلى وقت فراغك بفيديو عن ال C#

7- اعمل مشروع مع صحابك بأى لغه تعجبك

8- كرر خطوه 1

سيناريو ملل .. هاه؟

على العموم ده اللى اتعلمته فى الكليه و قلت يمكن يفيد اى حد مش عارف يعمل ايه بعد الخطوه 14
فقلت الخصله الخطوات بأختصار





أوبن آي.دي
icon1 حسن إبراهيم | icon2 Uncategorized | icon4 07 7th, 2008|

كنت أنوي الكتابة عن أوبن آي.دي ووجدت مقالا سريعا هنا يتحدث عنها لكن بإيجاز… لماذا لا أجد محتوى عربي جيد إلا صدفة!!!





Is Google going bad?
icon1 Haytham Alaa | icon2 Uncategorized | icon4 07 7th, 2008|

Alsalam alikom wa ra7mat Allah wa barakatoh

About 20 years ago, Microsoft was on the peak. Those were the days young shareholders became millionaires. Everybody was super smart, innovative, loving the company. This was reflected to the outside world as well. People were seeing Microsoft as the dream company, they were all wishing to be developers to join the big MS.

Years later, people began to sue Microsoft, a lot of Anti-trust cases were issued, the biggest of them was about to break the big giant (I'm talking about merging IE into the OS when BillG lost about 40billions of his wealth).

Since that time, people's perception about Microsoft has changed, from the dream company to the enemy. Some people don't even know why they don't like Microsoft, they just don't.. they don't like windows because they just don't... they hate office because it's a MS product... A lot others have their very respected reasons. After all, MS will never be as it was 20 years ago.

How is this related to the title? it's actually very very related. When MS was built, I wasn't born yet, I was actually born when they built their first 6 buildings in the big MS campus. This's why all what I said was history that I read about... on the other hand, when Google was born and began to gain land, I was actually using the PC.. searching with Altavista/msn. So it's easier for me to watch and see what is happening over there...

Google at first was a "nice trial from a couple of young PhD guys" then it became "a great solution to many of our daily problems" then it became "the Internet Giant" then "Are they trying to dominate the web?" these days people started to actually "fight" against Google, more and more -unconfirmed- stories being published online about guys worked there and hated what the environment/type of work.

People started to question what Google do, as opposed to "loving" how Google do things.. of course a part of this is the fact that Google's actually started doing not-their-type of things (things like the weird Yahoo deal)

For me as a developer, I still admire both Google and Microsoft I admire the fact that they both have started very very small and ended up changing how the world handles a very trivial problem.

I wish Google doesn't continue doing mysterious steps and to start talk to change this bad perception they are gaining everyday. I will not be happy to see another fight against Google as it's going against MS.

Thanks,





Touchwork..
icon1 Roaa Mohammed | icon2 Uncategorized | icon4 07 7th, 2008|
Today is my final seminar for our graduation project "Touchwork", maybe I will talk in another post about our project, but currently I'm writing this post so as to keep myself busy doing sth & accordingly keep myself awake..
We -project team members- are supposed to be meeting about an hour & 20 mins from now and I think that's not enough time to sleep, wake up, get ready & after all.. be conscious !!

I hope everything today goes fine today in shaa Allah...
Our seminar is today @ 9:30 am in the seminar hall (in case you read that before the seminar timing, you are welcomed to attend :D)

I just can't believe it till now that this is supposed to be the last day @ college in shaa Allah..
Please pray for us..





لم أقم بنشر شيء منذ فترة، هناك عدة أشياء يجب الكتابة عنها لكنها مازالت قيد الإعداد لتصل للمستوى المطلوب. هذه بعض الروابط والأفكار التي أراها مثيرة للاهتمام الفترة الحالية:

  • اقتربنا من الانتهاء من ترجمة النسخة المصغرة من موقع GetGnuLinux.org، سينتقل بعدها العمل إلى النسخة المطولة من الموقع، المؤسسة المسئولة عن الموقع فخورة جدا بوجود النسخة العربية )
    لكن مازال ينقصنا اسم للموقع بالعربية لكي يتم حجز اسم النطاق، أية اقتراحات؟
    يمكنك المساهمة في الترجمة هنا أيضا مباشرة تحتاج فقط للتسجيل مجانا، ونقوم حاليا بإعداد دروس فيديو لكيفية التسجيل والترجمة، لكن قد يستغرق هذا بعض الوقت.
  • انضممت لمحرري وادي التقنية، كثيرا ما تمنيت أن أجد موقع مماثل لكي أستطيع الإشارة إلى مقالات وأخبار خارجية عندما أقوم بالكتابة عن شيء ما، الآن لدينا وادي التقنية ) .
  • حاليا أقضي معظم وقتي في موقع فريندفيد، أخيرا وجدت شبكة اجتماعية مناسبة لي، لم أحب فيسبوك كثيرا، فأنا لم أهتم بإرسال الزهور أو الهدايا وتلك الألعاب الغريبة، أما فريندفيد فالمحتوى الذي تشارك به والروابط والأخبار تجعلها خدمة رائعة، وليس هذا بغريب على مؤسسها الذي كان المهندس الأساسي لخدمة بريد جوجل قبل أن ينشئ فريندفيد.
  • المجموعة العربية لأوبن سولاريس بدأت العمل، التفاصيل هنا وهنا.
  • دليل أوبنتو العربية بحاجة للعمل، سأحاول المشاركة فيه في أقرب فرصة بإذن الله
  • ترجمة ووردبرس لم تكتمل بعد أيضا.