Hossam Blog

September 13, 2006

HTML Web Editors

Filed under: Tools — Hossam Ahmed @ 2:38 am
  • Acme Web Design – Compact freeware HTML editing tools. Counter generator, email-address cloaker.
  • AEdiX Suite – Syntax-highlighting text editor with special HTML features such as syntax validation and template scripting.
  • Alleycode – Fast syntax-highlighting editor with tutorial; additionally focusses on PHP and CSS interaction.
  • Amaya – W3C’s complete web browsing and authoring environment. [Open Source]
  • Anansi – Project-oriented HTML editor with both Windows 3.x and 95 versions.
  • Arachnophilia – HTML source editor with templates, tag insertion, internal page viewer, ftp client, and web browser launching. [Java]
  • Araneae – HTML editor for serious web developers features; helpful tools such as syntax highlighting, a colour picker, drag and drop image and link insertions, font tag insertion, date insertion, supports multiple languages, and multiple browser support.
  • blink – A WYSIWYG HTML Editor with built in stylesheet editor and HTML validator.
  • ClipCollect – Automatic text snippets formatter, editor, note database, clipboard utility. Website builder and converter mirrors any file directory contents to generated HTML pages.
  • CoffeeCup Free HTML Editor – This is a “trimed down” version of the CoffeeCup HTML Editor. Has FTP support and wizards for tables, frames and forms.
  • CreaText HTML Text Editor – An open-source HTML text editor for Mac OS X.
  • CSE HTML Validator Lite – Simple HTML editor with built-in HTML validator, syntax checker and spell checker. [Windows]
  • EasyHTML – Simple customizable HTML editor with syntax coloring, custom helpers, free JavaScript codes and a built-in browser.
  • Evrsoft 1stPage 2000 – Completely free professional HTML editing software with lots of features including built-in JavaScripts.
  • Fastcm – Simple web content management system using CML. Online documentation and mailing-list support. [Open source]
  • FCKeditor – Web-based HTML text editor with powerful formatting capabilities. Requires no installation on the client computer.
  • HotHTML 2001 Professional – Text based editing tool that supports ASP and Perl.
  • HTML-Kit – Edit, format, lookup help, validate, preview and publish HTML documents from an easy to use environment. Full featured web page editor that can point out errors and optionally auto correct the HTML code.
  • HTMLtoRTF Converter Easy – Converts multiple HTML to RTF with tables.
  • MAX’s HTML Beauty++ 2004 – Advanced HTML editor with right click tag editing, extended find and replace, internal preview, HTML Tidy support, and full support for PNG and WBMP image formats.
  • Nvu – Open source web authoring system with WYSIWYG and HTML modes and site manangement features derived from Netscape Composer. Designed for Linux, Windows, and Macs.
  • Online HTML Editor – Online HTML Editing tool. Easy to use visual tool for developing simple web pages.
  • PagePainter – Editor that allows the user to create and test color schemes for a web page before changing the code. [Windows 98+]
  • Plexel – Freeware Javascript Applications platform and Web Page Editor, Javascript source. [Open Source]
  • protopad – A WYSIWYG rich text editor that can output html and other scripting language.
  • ScrollbarGenerator – A web design utility that generates the css code that customizes the color of IE 5.5+ scroll bars. Available for MacOS and Windows.
  • Selida – WYSIWYG HTML editor with code completion, HTML 4 reference and integrated HTML Tidy.
  • SiteAid – A simple HTML editor with tabbed interface, integrated help, browser and formatting buttons.
  • Smart Web Builder – A web-developers and programmers editor with a customizable interface.
  • Squarefree Real-Time Editor – Framed editor: The results of HTML typed in the top frame immediately appear in the bottom frame.
  • Stone’s WebWriter – HTML editor for Win32, that features an image viewer, JavaScript editor, image map editor, FTP module, style sheet editor, and a collection of templates. Product price is free (without support) and shareware for support.
  • Taco Software – Produces full-featured freeware for Mac OS X including Taco HTML Edit.
  • ToCreator – Java program that automatically creates a Table of Contents (TOC) for any html document.
  • WebDwarf – Drag and drop WYSIWYG HTML editor with pixel precision positioning and scaling. Includes a text, HTML and Rich Text editor.
  • WebTide – A professional web developer’s tool. Requires Java VM. [Win32, MacOS, and Linux]
  • WebWizard – Simple browser-based graphical design tool. Online demonstration, documentation, free download with registration.

What Is 3G?

Filed under: What Is — Hossam Ahmed @ 2:21 am

3G (or 3-G) is short for third-generation technology. It is used in the context of mobile phone standards. The services associated with 3G provide the ability to transfer simultaneously both voice data (a telephone call) and non-voice data (such as downloadinginformation, exchanging email, and instant messaging). In marketing 3G services, video telephony has often been used as the killer application for 3G.3G networks are not upgrades of 2G networks and do not operate on the same frequency spectrum; rather, entirely new networks need to be built and new frequencies need to be assigned to mobile operators. Induced euphoria led to huge spectrum-licensing fees in many countries, especially in Europe, where spectrum auctions went into the billions of euros. These spectrum licensing fees which were collected years before actual 3G development, together with the enormous investments necessary to build the all-new 3G networks, financially strained a number of mobile operators, delaying 3G roll-out worldwide except in Japan and South Korea, where such spectrum licensing fees were non-existent as the priority in those countries was set on national IT infrastructure development.

The first country which introduced 3G on a large commercial scale was Japan. In 2005, about 40% of subscribers used 3G networks only, with 2G being on the way out in Japan. It was expected that during 2006 the transition from 2G to 3G would be largely completed in Japan, and upgrades to the next 3.5G stage with 3 Mbit/s data rates were underway.

The successful 3G introduction in Japan showed that video telephony was not the killer application for 3G networks after all. The real-life usage of video telephony on 3G networks was found to be a small fraction of all services. On the other hand, downloading of music found strong acceptance by customers. Music download services in Japan were pioneered by KDDI with the EZchakuuta and Chaku Uta Full services.

Technically, 3G networks are not IEEE 802.11 networks. IEEE 802.11 networks are short range, primarily internet access networks, while 3G networks are wide area cellular telephone networks which evolved to incorporate high-speed internet access and video telephony to these networks.

Features:The most significant features offered by third generation (3G) mobile technologies are the momentous capacity and broadband capabilities to support greater numbers of voice and data customers – especially in urban centres – plus higher data rates at lower incremental cost than 2G.

By using the radio spectrum in bands identified, which is provided by the ITU for Third Generation IMT-2000 mobile services, it subsequently licensed to operators. 3G uses 5 MHz channel carrier width to deliver significantly higher data rates and increased capacity compared with 2G networks.

The 5 MHz channel carrier provides optimum use of radio resources for operators who have been granted large, contiguous blocks of spectrum. On the other hand, it also helps to reduce the cost to 3G networks while being capable of providing extremely high-speed data transmission to users.

It also allows the transmission of 384kbps for mobile systems and 2Mbps for stationary systems. 3G users are expected to have greater capacity and improved spectrum efficiency, which will allow them to access global roaming between different 3G networkings.

Standard 3G:

International Telecommunications Unit (ITU): IMT-2000 consists of five radio interfaces

  • W-CDMA
  • CDMA2000
  • CDMA2001
  • TD-CDMA / TD-SCDMA
  • UWC-136
  • DECT+

What Is MAML?

Filed under: What Is — Hossam Ahmed @ 1:50 am

MAML is part of a new approach to help in Windows Vista. This approach is both more integrated with the software and more focused on user tasks. MAML provides a structre in which you can write user assistance information, which can then be presented to the user in a variety of locations.

An example of help using this schema (http://schemas.microsoft.com/maml/dev/2004/10) can be found on the Microsoft Office Online Assistance. Additionally, if the user chooses to get the latest online content, that content is downloaded to the local machine as MAML and transformed at runtime into HTML for display, just as the local content is.

MAML Topic Types
The following types of topic are currently in use in the new MAML based Office Online pages:
MAML_training.gif Training: to learn more about using programs, focus on features or activity areas and allow to suggest best practices. Courses are self-paced, and include graphics, animation, audio, and practice sessions for hands-on experience. They have an inherent browse sequence
MAML_article.gif Article: up-to-date information in the form of how-to, and tips information.
MAML_topic.gif Topics :conceptual information about functionality and theory behind features.
MAML_disucssion.gif Discussion: online Community where you can interact with fellow users, get your questions answered, share ideas, and learn more about products and technologies that interest you.

Reference
-Vista Help Technical Overview

What Is Assistace Platform?

Filed under: What Is — Hossam Ahmed @ 1:43 am

Assistance Platform (AP) is part of a new approach to help in Windows Vista. This approach is both more integrated with the software and more focused on user tasks.

AP is the technology used to deliver Help for windows vista.

It takes the MAML content and presents it to the user in an appropriate location.

Rather than present user assistance information as one help file with a large Table Of Contents, it can now appear in the following locations:

-Directly in User Experience
- Embeded Help
- Super Tooltips
- Ribbon
- Help pannels
-In application Context
- Help window
-No Context
- Help Centre

AP Wokrflow (Programming Windows Help PDC03)

  1. Well-designed app UI
  2. Assistance directly in app UI
  3. Help Pane and Help Center
  4. User community
  5. Your product support center

What Is WYSIWYG?

Filed under: What Is — Hossam Ahmed @ 1:29 am
WYSIWYG is an acronym for What You See Is What You Get, used in computing to describe a system in which content during editing appears very similar to the final product. It is commonly used for word processors, but has other applications, such as Web (HTML) authoring.
Meaning:
  • The term describes a user interface that allows the user to view something very similar to the end result while the document or image is being created. For example, a user can view on screen how a document will look when it is printed to paper or displayed in a Web browser.
  • It implies the ability to modify the layout of a document without having to type or remember names of layout commands.

Modern software does a fairly good job of optimising the screen display for a particular type of output. For example, a word processor is optimised for output to a typical printer. The software often emulates the resolution of the printer in order to get as close as possible to WYSIWYG. However, that is not the main attraction of WYSIWYG, which is the ability of the user to be able to visualise what he or she is doing.

In many situations, the subtle differences between what you see and what you get are unimportant. In fact, applications may offer multiple WYSIWYG modes with different levels of “realism,” including:

  • A composition mode, in which the user sees something somewhat similar to the end result but with additional information useful while composing, such as section breaks and non-printing characters, and uses a layout that is more conducive to composing than to layout.
  • A layout mode, in which the user sees something very similar to the end result but with some additional information useful in ensuring that elements are properly aligned and spaced, such as margin lines.
  • A preview mode, in which the application attempts to present a representation that is as close to the final result as possible.

Applications may deliberately deviate or offer alternative composing layouts from a WYSIWYG because of overhead or the user’s preference to enter commands or code directly.

 Historical notes:

  • Before the invention of WYSIWYG, all text and control characters appeared in the same typeface and style with little indication of layout (margins, spacing, etc.). Users were required to enter code tags to indicate that some text should be in boldface, italics, or a different typeface or size. These applications used an arbitrary markup language to define the tags. Because of its simplicity, this method remains popular for some basic text editing applications (such as Wikipedia).
  • The phrase was originated by a newsletter published by Arlene and Jose Ramos, called WYSIWYG. It was created for the emerging Pre-Press industry going electronic in the late 1970s. After 3 years of publishing, the newsletter was sold to employees at the Stanford Research Institute in California. The first conference on the topic was organized by Jonathan Seybold and the first technology popularized at Xerox PARC during the late 1970s when the first WYSIWYG editor, Bravo, was created on the Alto. The Alto monitor (72 pixels per inch) was designed so that one full page of text could be seen and then printed on the first laser printers. When the text was laid out on the screen 72 PPI font metric files were used, but when printed 300 PPI files were used — thus one would occasionally find characters and words slightly off, a problem that continues to this day. (72 PPI came from the standard of 72 “points” per inch used in the commercial printing industry.)
  • Seybold and the researchers at PARC were simply reappropriating a popular catch phrase of the time originated by “Geraldine”, Flip Wilson’s drag persona from Rowan & Martin’s Laugh-In in the late 60s and and then on The Flip Wilson Show, (1970–1974).
  • The Apple Macintosh system was originally designed so that the screen resolution and the resolution of the dot-matrix printers sold by Apple were easily scaled: 72 PPI for the screen and 144 DPI for the printers. Thus, the on-screen output of programs such as MacWrite and MacPaint were easily translated to the printer output and allowed WYSIWYG editing. With the introduction of laser printers, resolutions deviated from even multiples of the screen resolution, making WYSIWYG harder to achieve.
  • Charles Simonyi, the PARC researcher responsible for Bravo, joined Microsoft in 1981 to start development of application programs at Microsoft. Hence, Bravo can be seen as the direct ancestor of Microsoft Word.
See Also:
WYSIWIS:
What You See Is What I See (used in context of distant multi-users applications, e.g. CSCW)
WYSIWYAF:
What You See Is What You Asked For (in reference to programs such as those used for manual typesetting such as TeX or troff, that what is retrieved from the system is what the user specified – in essence, a statement of GIGO)
WYSIAYG:
What You See Is All You Get (used to point out that a style of “heading” that refers to a specification of “Helvetica 15 bold” provides more useful information than a style of “Helvetica 15 bold” every time a heading is used)
WYSIWYM:
What You See Is What You Mean (You see what best conveys the message)
WYTYSIWYTYG:
What You Think You See Is What You Think You Get (/wɪtɪsiwɪtɪg/) (when a program claims to be WYSIWYG but isn’t)
WYCIWYG:
What You Cache is What You Get (“wyciwyg://” turns up occasionally in the address bar of Gecko-based Web browsers like Mozilla Firefox when the browser is retrieving cached information) -or – What You Create Is What You Get -or- What You Click Is What You Get)
WYGIWYG:
What You Get Is What You Get (an alternative approach to document formatting using markup languages, e.g. HTML, to define content and trusting the layout software to make it pretty enough)
WYSYHYG:
What You See You Hope You Get (/wɪzihɪg/) (a term ridiculing text mode word processing software; used in the Microsoft Windows Video Collection, a video distributed around 1991 on two VHS cassettes at promotional events).

September 12, 2006

What Is Open Source?

Filed under: What Is — Hossam Ahmed @ 8:34 pm

For all people who used to make their programs Open Source. and read this word here.. 2 words should jump in their brain.

FREE Like FREEDOM

Yea.. this is the most advantage of using Open Source as technique in programming.

Programmers publish their projects && Work For Free, Here Free does not mean working hard and for nothing.. NOO.

They publish their projects in sourceforge.net “for example”

because ideas want to be free

and to make sure that the programs will survive, update, look gr8 ;)

Open source describes practices in production and development that promote access to the end product’s sources. Some consider it as a philosophy, and others consider it as a pragmatic methodology. Before open source became widely adopted, developers and producers used a variety of phrases to describe the concept; the term open source gained popularity with the rise of the Internet and its enabling of diverse production models, communication paths, and interactive communities.

  • open source software became the most prominent face of open source.The open source model can allow for the concurrent use of different agendas and approaches in production, in contrast with more centralized models of development such as those typically used in commercial software companies
  • Open source hardware — hardware whose initial specification, usually in a software format, are published and made available to the public, enabling anyone to copy, modify and redistribute the hardware and source code without paying royalties or fees. Open source hardware evolves through community cooperation. These communities are composed of individual hardware/software developers, hobbyists, as well as very large companies. Examples of Open Source Hardware initiatives are:
    • Sun Microsystem’s OpenSPARC T1 Multicore processor. Sun states in their Press release: “The source code will be released under an Open Source Initiative (OSI)-approved open source license.”
    • Arduino, a microcontroller platform for hobbyists, artists and designers.

u will find a lot of products are using Open Source technique like

  • LAMP
  • Linux Tux Logo
  • Apache Apache Logo
  • MySQL MySQL Logo
  • PHP PHP LogoPerl Perl LogoPython Python Logo
  • OpenOffice.orgOpenOffice Logo

What Is the different between x64 and x86

Filed under: What Is — Hossam Ahmed @ 7:52 pm

well, x86 and x64 are approaches in how Processor work.

but the Main Difference is The Processor Registers.

(more…)

What Is Kernel?

Filed under: What Is — Hossam Ahmed @ 7:19 pm

What is Kernel?
this is a great question.. and for who dunn know what is Kernel or never heard about this word.
Kernel is the Heart of most Computer Operating Systems.
it’s job managing System’s resources and communications between hardware and software.

Kernel’s Tasks:
The kernel’s task is to manage the computer’s resources and allow other programs to run and use these resources.
in a computers, the most central part is the Central Process Unit “CPU or Processor”, which actually runs different programs the way and for the amount of time dictated by the kernel

there are many different kernel design approaches like:

  • Monolithic Kernels.
  • MicroKernels.
  • Hybrid Kernels.
  • NanoKernels
  • ExoKernels

Kernel Development Overview:
Kernel development is considered one of the most complex and difficult tasks in programming.

Its central position in an operating system implies the necessity for good performance, which defines the kernel as a critical piece of software and makes its correct design and implementation difficult.

A kernel might even not be allowed to use the abstraction mechanisms it provides to other software. Many reasons prevent a kernel from using facilities it provides, such as:

  • interrupt management
  • memory management
  • and lack of reentrancy, thus making its development even more difficult for software engineers.

Kernel Development under:

  • Time-Sharing Operating Systems.
  • Unix.
  • MAC OS.
  • Windows.

Process Management:

The main task of an operating system kernel is to allow the execution of applications and support them with features such as hardware abstractions. To run an application, a kernel must load the file containing the code for the application to memory (and eventually set up its own address space), set up a stack for the program and branch to a given location inside the program, thus starting its execution.

Multi-tasking kernels are able to give the user the illusion that the number of processes being run simultaneously on the computer is higher than the maximum number of processes the computer is physically able to run simultaneously. Typically, the number of processes a system may run simultaneously is equal to the number of CPUs installed

The operating system might also support multiprocessors, in that case different programs and threads may run on different processors. To allow a kernel to run on such a system, it has to be extensively modified to make it “re-entrant” or “interruptible”, meaning that it can be called in the midst of doing something else. Once this conversion is complete, programs running at the same time on different processors can safely call the kernel. The kernel must also provide a way to synchronize memory access on different processors, which makes memory management and process management two highly inter-related topics

Memory Management:

The kernel has full access to the system’s memory and must allow userland programs to access this memory safely as they require it. Often the first step in doing this is virtual addressing, usually achieved by paging and/or segmentation. Virtual addressing allows the kernel to make a given physical address appear to be another address, the virtual address. This allows every program to believe that it is the only one (apart from the kernel) running and thus prevents applications from crashing each other.[citation needed] In fact, a program’s virtual address may even refer to data which is not currently in memory. The layer of indirection provided by virtual addressing allows the operating system to use other data stores, like a hard drive, to store what would otherwise have to remain in main memory (RAM). As a result, operating systems can allow programs to use more memory than the system has physically available. When a program needs data which is not currently in RAM, the OS writes the contents of a currently unused memory block to disk and replaces it with the data requested by the program.[citation needed] Virtual addressing also allows creation of virtual partitions of memory in two disjointed areas, one being reserved for the kernel (kernel space) and the other for the applications (user space). This fundamental partition of memory space has contributed much to current designs of actual generalistic kernels.

Device Management:

To perform, an operating system (OS) needs access to the peripherals connected to the computer, which are controlled through device drivers, which must be written by the developers and/or be provided by the manufacturers of the hardware. For example, to show the user something on the screen, the kernel relies on its monitor driver (such as VGA or VESA) which is then responsible for actually plotting the character/pixel.[citation needed] A device manager first performs a scan on different hardware buses, such as Peripheral Component Interconnect (PCI) or Universal Serial Bus (USB), to detect installed devices, then searches for the appropriate drivers. As device management is a very OS-specific topic, these drivers are handled differently by each kind of kernel design, but in every case, the kernel has to provide the I/O to allow drivers to physically access their devices through some port or memory location. Very important decisions have to be made when designing the device management system, as every access involves context switches, making the operation very CPU-intensive and easily causing a significant performance overhead.

System Calls:

To actually perform useful work, a userland program must be able to access the services provided by the kernel. This is implemented differently by each kernel, but most provide a C library or an API, which in turn invoke the related kernel functions either through the inter-process communication system, software interrupts or shared memory.

What Is PC?

Filed under: What Is — Hossam Ahmed @ 4:36 pm

PC Is a personal computer which usually a microcomputer whose price, size, and capabilities make it suitable for personal usage.The term was popularized by Apple Computer with the Apple II in the late-1970s and early-1980s, and afterwards by IBM with the IBM PC.

History:

  • Mainframes and large minicomputers .
  • Computers @ Home.
  • Business Computers.
  • Notebook “Laptop”.

Computer Categories:

Personal computers can be categorized by size and portability:

  • Desktop computers
  • Laptop or notebooks
  • Personal digital assistants (PDAs)
  • Portable computers
  • Tablet computers
  • Wearable computers

PC Consists of:

  • Motherboard
  • Central processing unit “Processor”
  • Main memory
  • Mass storage
  • Graphics – Video card

Who use PC?

Personal computers are normally operated by one user at a time to perform such general purpose tasks as word processing, internet browsing, internet faxing, emailing and other digital messaging, multimedia playback, video game play, computer programming etc.

The user of a modern personal computer may have significant knowledge of the operating environment and application programs, but is not necessarily interested in programming nor even able to write programs for the computer. Therefore, most software written primarily for personal computers tends to be designed with simplicity of use, or “user-friendliness” in mind. However, the software industry continuously provide a wide range of new products for use in personal computers, targeted at both the expert and the non-expert user.

Today:

During the 1990s, the power of personal computers increased radically, blurring the formerly sharp distinction between personal computers and multi-user computers, such as mainframes. Today higher-end computers often distinguish themselves from personal computers by greater reliability or greater ability to multitask, rather than by brute CPU ability.

In today’s common usage, personal computer and PC usually indicate an IBM PC compatible. Due to this association, some manufacturers of personal computers that are not IBM PCs avoid explicitly using the terms to describe their products. Mostly, the term PC is used to describe personal computers that use Microsoft Windows operating systems.

Hello world!

Filed under: Uncategorized — Hossam Ahmed @ 11:11 am

Hello Mates,

Welcome to my Blog @ WordPress.com. This is my first post.

i choosed the name “Hello world!” because it is the name of every program i create while learning a new programming language.. i used to use this words as much as we learn from professors in my faculty.. or in all books..

Thanks.. and have a good time :)

« Previous Page

Blog at WordPress.com.