Saturday, February 21, 2009

Commitment to Goals

Sometimes I don't know I feel I'm overwhelmed. I don't know what I should do first. A lot of things I like to do. My problem I don't focus on one task at a time. I feel I want to do them all at once. That's why I fail to accomplish even the major tasks.

So, Goal Setting is a very crucial process to achieve goals or accomplish tasks successfully!

This is what I have found not letting me get connected with others effectively. This has been due to not setting my goals clearly, not writing them down, no drawn plans, too many goals/tasks to be accomplished, and that is not good.

Thus, I recently started reading about how to set goals prioritized to my needs, how to stay motivated and keep these qoals in my mind, what things that will help me achieve these goals.

Before reading in this regard, I was reading "The Secret", a great book authored by "Rhonda Byrne". When I reached the section "How to Use the Secret", I started to ask myself: How can I really use the Secret?
A process composed of 3 steps called "The Creative Process":
  1. Ask
  2. Believe
  3. Receive
I found that this process is somehow about setting goals. Asking yourself what you really want and write it out on a piece of paper is asking yourself "What are your Goals?"

The Secret is all about the "Law of Attraction". It is the thoughts in your mind. Your thoughts what make your life. Good thoughts will bring you good things and vice versa.
Thus, by the time you ask yourself "What are my Goals?" you are making thoughts, and of course everyone would think of goals that will bring him the goal of goals, or as Craig Harper calls it the "Internal State" in his blog Goal Setting-The WHY behind the WHAT, such as:

Happiness, Self-Respect, Inner-Peace, Self-Confidence, Self-Esteem, Security, Attention, Recognition, Love, Connection, Popularity, Fulfillment, Joy ...etc.

In other words, Internal State can be determined through feelings and emotions, the core values.

So, why haven't I managed of achieving my goals, or accomplishing tasks required to achieve certain goals?
The answer is clearly that I did NOT use the: "Goal Setting Process"

Next, I will be talking more on "Goal Setting".
Feel free to have your comment on this.

Sunday, December 21, 2008

6 Things Filling my Passion

LOL, how funny is this?? Being tagged by somebody and you have to do what the rules in this game imply!! I'm still new to the blogging world and I wasn't aware of such kind of games till
I was tagged by Mike King, the owner of the wonderful blog called LearnThis.ca!

Six Things I'm Fond of:
  1. Linux Ubuntu (Server Edition): This distro is just fantastic. Linux is the best!
  2. Fitness Lifestyle: well, this might be the area I'm passionate the most, bodybuilding, weight training, nutrition, motivation, helping others getting fit, selling this lifestyle.
  3. Photography: Although, I got a little frustrated after getting all the pictures stolen!!
  4. Coffee and Tea: This is my addiction! Do me a blood diagnosis you will find caffeine instead of blood.
  5. Self-Improvement: Recently, started seriously reading about Self-Improvement: Mind, Relationships, Friendships ...etc.
  6. Discussions: discussing with others the self-improvement topics, trying to help others from this perspective, keep improving my communication skills to further level and that's through pursuing this kind of activity.

Since I'm still new to blogging I don't have any readers and even haven't started writing my blogs seriously. So, rules have been violated!!
You’ve Been Tagged:
  1. Dead End!
  2. Dead End!
  3. Dead End!
  4. Dead End!
  5. Dead End!
  6. Dead End!


THE RULES (as others suggested to be posted):

1. LINK TO THE PERSON WHO TAGGED YOU
2. POST THE RULES ON YOUR BLOG
3. WRITE SIX RANDOM THINGS ABOUT YOURSELF
4. TAG SIX PEOPLE AT THE END OF YOUR POST AND LINK TO THEM
5. LET EACH PERSON KNOW THEY ARE TAGGED AND LEAVE A COMMENT ON THEIR BLOG
6. LET THE TAGGER KNOW WHEN YOUR ENTRY IS UP
7. DON’T BREAK THE CHAIN (not actually a rule)

Friday, November 28, 2008

Academic Projects

Done within courses in the mentioned university:
  • Developed an Arithmetic Calculator interface using Java
    Objective: this project was assigned to master the GUI design and implementation. Only the notepad was used.
    Description:
    it mimics exactly the standard windows calculator.
    Course ICS201: this project was a part of a course devoted to master the advanced techniques in programming: Inheritance, Abstract Classes, Interfaces, Polymorphism, Applets, GUI, Threads, Recursion, Searching & Sorting …etc.
  • Developed a Network Messenger with a file-transferring feature using C#
    Objective: was assigned to master Client/Server applications development through TCP/UDP programming.
    Description:
    was assigned to develop an advanced chatting system with a file-transferring feature. This applicat has both client and server sides in which both will communicate using the TCP as well as the UDP protocol using different ports for different purposes. Users will not only publicly chat with each other but also can do private chatting, file sharing and sending instant messages. TCP protocol was used for private chatting and file sharing. UDP protocol was used for the public chat.
    Course SWE344: this project was a part of a course devoted to understand the various Internet Protocols and experience the Client/Server Programming using the C# (.Net Framework). Internet Protocols are: TCP/UDP programming, Asynchronous programming, HTTP programming, Remoting programming, SMTP programming, POP programming, MIME programming, Broadcasting/Multicasting programming, FTP programming.

  • Designed a web-based Clearance System using Oracle Database and JSP (Software Process was followed)
    Objective: was assigned to master the use of UML tools (Rational Rose & Sybase Power Designer was used), Writing SRS document,
    Description:

    Course SWE313: this project was a part of a course devoted to understand the Princibles of Software Engineering and experience the Software Engineering Process:
    1. Specifications: Requirements analysis, Requirements specification, Requirements validation. User/System Requirements.
    2. Design: Architectural design, Abstract specification, Interface design, Component design, Data Structure design, Algorithm design. Design Models like Object model, Sequence model, State Transition model, Structural model, Data-Flow model.
    3. Implementation: Reuse, Prototyping, Design Patterns, Frameworks
    4. Test (V&V): System testing (integration, release, performance), Component testing (interface), Static vs Dynamic testing, Test Case Design (Requirement-based, Partition, Structural, Path).

  • Wrote a words-occurrence counter with graphical interface using Assembly language
    Objective:
    Description:

    Course COE205: this project was a part of a course devoted to master the
  • Designed a web-based Speaker Scheduling System using Oracle Database and JSP
    Objective: was assigned to experience the Web-Based interfaces design using JSP, ER diagrams, SQL statements, granting Privileges, creating Views, Sequences ...etc.
    Description: It facilitates the scheduling of presentations, speaker scheduling, statistics gathering and reporting.
    Course ICS334
    : this project was a part of a course devoted to understand the SQL (SQL statements, Sorting, Aggregation, Grouping, Joins), Conceptual Modeling (ER/EER), Mapping, Relational Algebra, Functional Dependencies and Normalization.
  • Developed a web-based social system (Facebook-like system) using MySQL Database and ASP.Net
    Objective: this project was assigned to experience the use of Web Development Technologies HTML, Client-Side scripting (JavaScript), Style Sheets (CSS), XML, Server-Side scripting (ASP.Net)
    Description:
    Providing a way of communicating with other people around the world is the main aim of proposing such a project. The system allows users to join one or more networks, such as a school, place of employment, or geographic region in order to easily connect with other people in the same network. Users create profiles that often contain photos and lists of personal interests, exchange private or public messages, and join groups of friends. The viewing of detailed profile data is restricted to users from the same network or confirmed friends.
    Course SWE444: this project was a part of a course devoted to study the fundamentals of Web Engineering, Web Development Technologies.

Done during the Co-Op training period:
  • Configuring/Administering an application server called BEA WebLogic Server under UNIX environment:
    1. UNIX Administration:
    2. BEA WebLogic Administration:

Being done on my own:
  • Developing a Reminding Calendar using Java and NetBeans
    Objective: to master what was learnt in ICS201 and the use of the IDE NetBeans.
    Description:


  • Developing a Fitness Tracking System using Java and NetBeans
    Objective
    :
    Description:

Wednesday, November 19, 2008

Linux Overview

A. What is Linux
Linux is a UNIX-Based Operating System, and it is well-known that UNIX operating system was designed to be scalable, reliable, modular, secure and portable with network extensibility. Thus, Linux is considered as a multi-user, multi-tasking, network-enabled operating system accessible from anywhere on the network. Multiple users can access a Linux computer remotely, each running their own individual desktop instance, all at the same time. The Linux/Unix X-Windows network enabled multi-user windowing system allows full remote access. The Linux/Unix OS was designed to support remote and secure multi-user access using SSH. This gives all Linux/Unix administrators and users a powerful flexible standard remote interface while the automobile is often the primary remote access tool of other OS administrators (e.g. Windows XP).

B. History of Linux
Linux evolved from a kernel created by Linus Torvalds when he was a student at the University of Helsinki. When Linus Torvalds was studying at the University of Helsinki, he was using a version of the UNIX operating system called 'Minix'. Linus and other users sent requests for modifications and improvements to Minix's creator, Andrew Tanenbaum, but he felt that they weren't necessary. That's when Linus decided to create his own operating system that would take into account users' comments and suggestions for improvements. Late in 1991, Linus Torvalds had his kernel and a few GNU programs wrapped around it so it would work well enough to show other people what he had done.

C. The Kernel

The kernel is at the heart of the Linux/Unix operating system. It is responsible for enabling multi-tasking, multi-user, multi-threading, multi-processing, security, interfacing with hardware and the network. It is this kernel which Linus Torvalds developed, based on the POSIX/Unix design, which gives Linux its name. Shells, user applications and everything else interfaces with this kernel.

D. Why to Use Linux
Comparing Ms Windows Operating Systems, Linux avoids the MS/Windows "DLL libraries", which causes Windows or its applications to fail when a newer or incompatible run-time dynamic linked library (DLL) is installed. Linux employs version numbers in its run-time shared object libraries, which can therefore coexist on the system with different versions of the same libraries. The Linux RPM package management system, for example, helps resolve dependencies and conflicts with files and libraries.
Network settings and many other MS/Windows parameters require a reboot to take effect. This is also true when MS/Windows registry settings are modified. Linux is modular enough to allow the particular service (i.e. networking) to be cycled without shutting down the entire computer. Linux also has many kernel parameters which can be set through the "/proc/" interface to allow dynamic changes to a running kernel. This greatly increases Linux system uptime and eliminates the time wasted performing system reboots.
The file system directory structure is completely configurable and not limited to drive letters such as A, C or D as a top level mounts point. Thus MS/Windows has a limit of 23 mount points.
The Linux/Unix file system is network enabled (using NFS) to extend its reach. Both directly attached storage and networked file systems are mountable at any point in the file system directory hierarchy and can be simultaneously used by all users on the system.
The use of Linux/Unix pipes, tees and redirection allow a modular approach to the design of Linux/Unix tools. They allow the capability of any tool to be extended, chaining input and output with other tools.
Linux/Unix shell scripts provide a batch scripting capability which can be scheduled, propagated to other systems or used to create new commands. Only GUI interfaces may require physical point and clicks on each system to perform a task. While some debate GUI vs. commands and scripts, Linux/Unix embraces both.
Linux is an open source code which guarantees fast development.

My Trip Into Linux

Linux/UNIX-based systems are well suited to work as a central server for business. With Linux/UNIX-based systems, web-based applications can be served up for corporate/public use and email can be handled, easing uptime, high availability and privacy concerns. Also, printing, file services …etc can be centralized under one roof. Linux works very efficiently as an application server, providing the programs for users on thin clients. Though, doing so requires powerful hardware. With Linux/UNIX-based systems, everything need to be done is doable. Here, my report will focus on showing the necessary steps required to acquire the basics of UNIX/Linux operating systems for administering the BEA WebLogic applications server. Since, BEA WebLogic, at Aramco Company, is installed under a UNIX-Based environment.

To succeed in acquiring the basics of the UNIX/Linux OS, knowing how to administer the OS itself is strongly required. Thus, there are several steps need to be followed to master the UNIX/Linux administration, and that’s of course for getting ready to administer the BEA WebLogic. This report is aimed at the beginner Linux users who are intending about switching to Linux and want to learn how to use it. Also, it can be beneficial to intermediate Linux users.

This report starts by giving an overview of the Linux OS. This is followed by showing the steps of installing the Linux OS. Then, how the file system is organized will be described. After that, the fundamental scripts/commands for system administration will be followed. Then, basic network configurations will be shown. Finally, how to provide the essential printing services will be illustrated.
  1. LINUX OVERVIEW
  2. INSTALLATION
  3. FILE SYSTEM ORGANIZATION
  4. SYSTEM ADMINISTRATION
  5. PRINTING SERVICES
Next Blog!!