related links:
Friday, December 12, 2008
Browser Operating System
related links:
Thursday, November 20, 2008
Important Links
This site have wonderful knowledge about web development, designing, programming, database and many more.
http://www.tutoriliazed.com
This site basic knowledge about web, a complete web directory for introduction with many technology.
http://www.w3schools.com
Thursday, November 6, 2008
Drupal
Drupal
is a free and open source modular framework and content management system (CMS) written in the programming language PHP. Like many modern CMSs, Drupal allows the system administrator to create and organize content, customize the presentation, automate administrative tasks, and manage site visitors and contributors.
Drupal is sometimes described as a "Content Management Framework" as its capabilities extend from content management to enabling a wide range of services and transactions. Although Drupal does offer a sophisticated programming interface, basic web site installation and administration can be accomplished with no programming.
Drupal core
The official release of Drupal, known as "Drupal core", contains basic features common to most CMSs. These include the ability to register and maintain individual user accounts, administration menus, RSS-feeds, customizable layout, flexible account privileges, logging, a blogging system, an Internet forum, and options to create a classic "brochureware" Web site or an interactive community Web site.
Core modules
Drupal core also includes "core modules" which can be enabled by the administrator to extend the stock functionality of the core Web site. The core Drupal distribution provides a number of features, including: Access statistics and loggingAdvanced search functionsCaching and feature throttling for improved performance under loadComments, forums, and pollsDescriptive URLs (for example, "www.example.com/products" rather than "www.example.com/?q=node/432")Multi-level menu systemMulti-user content creation and editingOpenID supportRSS Feed and Feed AggregatorSecurity/new release update notificationUser profilesVarious access control restrictions (user roles, IP addresses, email)Workflow tools (Triggers and Actions)
Core themes
The color editor being used to adjust the "Garland" core theme Drupal core includes several "core themes", which customize the aesthetic look-and-feel of the site. These themes can be chosen by the administrator via a special menu. The Color Module, introduced in Drupal core 5.0, allows administrators to change the color scheme of certain themes via a Web-browser interface. This feature was added to allow a higher level of customization for the average non-coder.
Tuesday, November 4, 2008
iPhone SDK : Images in TableView using Objective-C
First create a string that contains source information of image file like “Image Name” and “Image Type”. Then create an Image using this String. Then upload the image to the cell.
NSString *imageSource = [[NSBundle mainBundle] pathForResource:@"icon" ofType:@"jpg"];
UIImage *image = [UIImage imageWithContentsOfFile: imageSource];
cell.image = image;
Note : The icon.jpg should be in your “Resources” folder.
Thursday, April 24, 2008
Python
Python can run on many platforms like Windows, Linux, MAC, Amiga and others. The Python is is freely usable but its implementation is copyrighted.
Comparison with other Popular Languages:
Java:
Python programs are generally run slower than Java programs but Python programs are typically 3-5 times shorter than equivalent Java programs. The reason of this difference is Python's data types and its dynamic typing.
For example, a Python programmer does not declare the types of arguments or variables. Python's run time must work harder than Java's run time. For example, when evaluating the expression x+y, it must first inspect 'a' and 'b' to find out their type.
JavaScript:
Python supports a programming style that uses simple functions and variables without using class definitions like JavaScript. But the main difference is that Python support Object Oriented programming style.
Perl:
Python and Perl have similar background and similar in many features. The difference is that Perl supports common application-oriented tasks(built-in regular expressions, file scanning and report generating features) on the other hand Python supports common programming methodologies(data structure design and object-oriented programming)
C++:
The main difference is typing style. A Python program is typically 5 to 10 times shorter than equivalent Java program.
Tcl:
Tcl works as a stand-alone programming language like Python. However, Tcl, which traditionally stores all data as strings, is weak on data structures, and executes typical code much slower than Python.
Tuesday, April 15, 2008
TRAC: Web-Based Project Management System
Some Features of Trac:
Trac Wiki: Trac has a built-in wiki, used for text and documentation throughout the project. It allows users to editing text easier and allows people to contribute text content for a project.
Trac Ticket System: Tickets are used to assign project tasks to developers. Tickets deals with bug reports, features requests, and support issues.
Trac Reports: It provides reporting facility for current status of tickets of the project.
Trac Timeline: It allows to view the project progress in a single report. It provides all the events in order, description of each event, and who is working on these events.
Trac Repository Browser: Trac Repository is Version Control System. Using this we can browse Directories and files stored in the repository of the configured version control system.
Trac Roadmap: It allows to view ticket system in a way that can help to manage the project in a better way in the future.
Email Notification of Ticket Changes: Trac provides supports for notification about ticket through emails. This facility keep developers up-to-date on tickets.
Monday, April 14, 2008
Friday, April 4, 2008
Smarty Templates Engine
Smarty is templates engine for PHP. It provides a way to separate programming logic from contents and presentation. It enables templates designers and programmers to work independently. Smarty templates can contain logic which is only for presentation purpose. Its unique feature is template compiling; it reads templates files and create PHP scripts from them. Once they are created, then they executed from there. This is what makes Smarty efficient.
Features:
· Fast and efficient.
· No templates parsing overhead (Compile once).
· The if/else constructs are passed to PHP parser.
· Nesting of sections like if/else.
· Built-in caching support.
· Arbitrary template sources.
· Custom cache handling functions.
· Plug-in architecture.
Thursday, April 3, 2008
Joomla
Joomla is Content Management System to develop websites and on line Web Applications. Joomla become most popular platform to develop websites. It makes simple to create add-ons and extensions. It makes adding or editing content, updating graphics and multimedia, and managing complex data.
Joomla has the following features:
- Edit the content of web pages with a word processor-style interface.
- Add new pages to your site using a click-and-add interface.
- Add images/media through web-uploads.
- Control site elements.
It also support specific functionality, for example, end user registration, advertising banners, a contacts directory and interactive polls.
Joomla stores all the content and information related to your site in a database named MySQL. It uses PHP as a programming language.
Tuesday, April 1, 2008
Google Maps API Basics
Introduction
Google Maps API (Application Programming Interface) lets you embed Google maps in web pages. It uses Java Script for scripting. In order to use the Maps API you need a API key that can be obtained by signing up with Google for Maps API. After obtaining the API key you can develop map applications.
Loading the Google Maps API
Google Maps API is loaded with the help of Java Script code in script tag. Basically you make the src attribute of script tag to point tohttp://maps.google.com/maps?file=api&v=2&key=abcdefg
This URL points to the location of the JavaScript file that includes all of the symbols and definitions you need for using the Google Maps API. Your page must contain a script
tag pointing to this URL, using the key you received when you signed up for the API. In this example the key is shown as "abcdefg
."Localization of Google Maps API
Maps API also introduces the concept of Mapplets (a combination of maps and gadgets). Mapplets allow you to embed external applications into Google Maps. It also includes support for localization. It uses English by default but one can change hl
attribute in script tag of Java Script to change this default behavior to support the language of your choice.
For example, to display a Maps API application in German, add &hl=de
to the tag as shown below:
<script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=abcdefg&hl=de"
Wednesday, March 26, 2008
Eclipse: Powerful Open Source IDE
Fundamentally, Eclipse is a framework for plug-ins. Besides its runtime kernel, the platform consists of the workbench, workspace, help, and team components. Other tools plug into this basic framework to create a usable application. Plug-ins add functionality through predefined extension points that the Eclipse platform offers. Plug-ins can also define new extension points for others to extend. This plug-in architecture provides a flexible, open, scalable, tool-integration solution. With the open Eclipse platform, you can customize a component or extend it to suit the needs of your development environment.
Eclipse is a cost-effective, productive development environment to support life-cycle software development through effective tool integration. The flexible plug-in architecture and resource management let organizations customize and extend Eclipse to meet their engineering processes, tool integration, and project management needs.
Useful References
For basic concepts about the Eclipse plug-in architecture, extensions, and examples, see the Eclipse Foundation site (www.eclipse.org), especially www. eclipse.org/articles/Article-Plug-inarchitecture/plugin_architecture.html. Good overviews of existing plug-ins, especially plug-ins in their early development stages, are available at http://eclipse-plugins.info/eclipse/index.jsp and http://www.eclipseplugincentral.com/.
Saturday, March 22, 2008
SWT (Standard Widget Toolkit)
The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the AWT and Swing Java GUI toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition.
SWT is a graphics library and a widget toolkit integrated with the native window system especially with Windows but Linux and Solaris are supported as well. SWT is an OS-independent API. SWT can be seen as a thin wrapper over the native code GUI of the host operating system.
SWT is written in Java. The design strategy of SWT was focused on building a simple, essential library that would produce GUI applications closely coupled to the native environment.
SWT has been designed to be as inexpensive as possible. This means that it is native-oriented. Anyway, it differs from AWT in a number of details. SWT provides different Java implementations for each platform, and each of these implementations calls natively (through the Java Native Interface, JNI) the underlying native implementation. The old AWT is different in that all platform-dependent details are hidden in C (native) code and the Java implementation is the same for all the platforms.
Resources:
An important difference from normal Java programming is the way OS-dependent objects are managed in SWT. Swing emulates a large part of such objects (such as widgets, for instance) in Java, leaving the disposal job to the JRE garbage collector. This saves a lot of complexity for the programmer but this lack of control can lead to some unexpected issues, especially with cross-platform development.
SWT designers chose a different approach, obliging the developer to explicitly dispose of OS-dependent objects in the application code. SWT has been designed with efficiency in mind, so handling explicitly OS resources becomes an occasion to promote efficient programming and not just a necessity. Resource disposal is needed to free the OS resources used by the SWT application. Such OS resources need to be explicitly de-allocated by invoking the dispose method.
In practice, disposing of objects is a delicate business and it can lead to unpredictable results whenever another object tries to access an already disposed item.
The Basic Structure of an SWT Program
As already said, an SWT program relies upon the native platform resources (wrapped by the Display class, as we will see later on) both in terms of allocated resources (such as colors, images, and so on) and as regards the event mechanism. As regards event handling, in SWT there is only one thread that is allowed to handle native user interface events.
We now see the basic structure of an SWT program.
There are two basic classes used in any SWT application, the Display and Shell classes. Instances of the Display class are responsible for managing the connections between SWT and the underlying operating system, enforcing the SWT models (for colors or images, for example). The Shell class instead represents windows managed by the platform-dependent desktop manager.
Typically, an SWT program will first create a local resources manager (an instance of the Display class) and attach all the needed widgets to one or more Shell objects.
A snippet of code showing the use of the Display and Shell classes.
00: Display display = new Display();
01: Shell shell = new Shell(display);
02: //GUI code here
03: shell.open();
04: while (!shell.isDisposed()) {
05: if (!display.readAndDispatch())
06: display.sleep();
07: }
08: display.dispose();
09: }
10: }
Basic Controls
Some of the basic components are the following:
Button. This component is the well-known button component used in toolbars, forms, and so forth.
ComboBox. This widget is the well-known combo box component.
Label. This component represents a (non-selectable) object that displays a string or an image.
List. This widget represents a basic list component.
ProgressBar. It shows a progress indicator.
Sash. It is the Swing equivalent of a JSplitPane. It is a widget that can be dragged to resize two areas in a GUI.
Scale. This component implements an editable GUI item representing a range of continuous numeric values.
Slider. This component represents an editable object that stands for a range of discrete, numeric values.
Table. This component represents a basic table.
Text. This component represents a basic text area.
Tree. This component represents a basic tree widget.
StyledText. This component represents a text area with styled fonts and other advanced attributes.
Thursday, March 13, 2008
Fedora VS Ubuntu
In many ways Fedora and Ubuntu family are similar, both tend to focus on Gnome and give you a great deal of bleeding edge software. Ubuntu was found by Mark Shuttleworth and sponsored by Canonical Ltd. It is currently one of the most popular GNU/Linux flavors. Fedora is a general purpose system; it does not concentrate on one specific market. It is suitable both for home users, programmers and the corporate server. In each case it requires some customization however, Fedora Core stability is comparable to similar distros like Ubuntu or openSUSE. There are many efforts to make the software testing within Fedora Core even better by implementing an automated test system. Ubuntu is based on Debian, which is one of the most stable and mature distributions available. Still, Ubuntu comes with fresh software and instabilities may occur. Kubuntu on the other hand is considered a bit worse in terms of stability since recent versions of KDE usually break more often that fresh GNOME.
Ubuntu's stated purpose is to replace Windows but their first bug is that Windows is more popular. As such, they strive to make it as user-friendly as possible, and you will often, but not always, find that things work with less effort on Ubuntu. Ubuntu and the rest of its family use a live installation disk which more attractive for new users. Fedora, regardless of the latest official line, is more or less a testing ground for RedHat, they often put in new things, and might not test them as thoroughly as they would be tested.
Ubuntu uses sudo for everything, they discourage even giving root a password. Fedora makes sudo a bit more difficult to use for the non-root user since even with sudo. Ubuntu uses the apt system for package management; you will find it faster than yum. To the end user, in many ways, it's simply a matter of getting used to the syntax of one or the other.
As someone who prefers BSD and the far more minimalist ArchLinux, both distros strike as having too much installed as default as well as too much reliance on GUI tools, but this is just my taste. Might be one reason that many professionals use Fedora, because it's what they use at work, so using it at home makes you more comfortable with it, and better able to act reflexively if there are problems.
For a beginner, it would be more appropriate to recommend Ubuntu. Not because Fedora is bad, but Ubuntu is aimed more at the beginner. That’s the reason the Fedora forums seem more mature, many Fedora people are people who've been using Linux for years and started with RedHat.
Android (Mobile Phones Platform)
Android is a software development platform for mobile phones based on the Linux operating system. It is developed by Google and the Open Handset Alliance.
Android is a software "stack" for mobile phones that's based on open-source software. Android is called a "stack" because its software extends from the lowest levels controlling the phone's hardware to the highest levels of user interaction. At the bottom is a stripped-down version of the Linux kernel. On top of the kernel is the open-source WebKit Web browser and several other open-source programs.
We can't run Android on a phone that we might have today. Instead, manufacturers like HTC, LG, Samsung, and Motorola (all OHA members) will need to adapt it to future handsets. If the consortium has its way, these phones will be available in stores in the second half of 2008. You'll also be able to buy an Android-based phone over the Internet and drop in a chip from the cell phone that's in your pocket today, assuming you have a cell phone from T-Mobile, AT&T, or another provider that uses the GSM transmission standard.
On 12 November 2007 the OHA released a preview of the Android software development kit which includes development and debugging tools, a set of libraries, a device emulator, documentation, sample projects and tutorials. Developers are required to download the Android SDK to an x86-based computer running Windows XP or Vista, Mac OS X 10.4.8 or later, or Linux.
Java Development Kit, Apache Ant, and Python 2.2 or later are also required. Eclipse 3.2 or later is the only officially supported IDE through Android Development Tools Plugin but the programmer is free to use command line tools to create, build and debug Android applications.
Android has the following Features:
- Handset layouts : The platform is adaptable to both larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 1.0 specifications, traditional smartphone layouts.
-
- Storage : SQLite for structured data storage
-
- Connectivity : Android supports a wide variety of connectivity technologies including GSM, Bluetooth, EDGE, 3G, and Wi-Fi.
-
- Messaging : Both SMS and MMS are available.
-
- Web browser : The web browser available in Android is based on the open-source WebKit application framework.
-
- Java virtual machine : Software written in Java can be compiled into Dalvik bytecodes and executed in the Dalvik virtual machine, which is a specialized VM implementation designed for mobile device use, although not technically a standard Java Virtual Machine.
-
- Media support : Android will support advanced audio/video/still media formats such as MPEG-4, H.264, MP3, and AAC, AMR, JPEG, PNG, GIF.
-
- Additional hardware support : Android is fully capable of utilizing video/still cameras, touchscreens, GPS, compasses, accelerometers, and accelerated 3D graphics.
-
- Development environment : Includes a device emulator, tools for debugging, memory and performance profiling, a plugin for the Eclipse IDE.
Tuesday, March 11, 2008
We are back!
This blog should be more active now as I have also recruited members of my team to start contributing here.
From next week, I will resume my review of open source technologies. I wanted to take this post to introduce our new contributors: Naveed, Umair, Usman and Waqas. You can view their profiles on the right.
I would also like to let you know about the two other blogs that people from TMM are contributing to: Small Business Marketing, Sea Frieghts
Introduction
OpenWrt as the name suggests is open source i.e. the source code is available for free, it has no subscription fee and there are no commercial versions with extra features. It is a GPL (GNU General Public License) Linux distribution for wireless routers. OpenWrt is designed to be customizable and modular so that new features can be added as modules in the forms of packages. Instead of trying to cram every possible feature into one firmware, OpenWrt provides only a minimal firmware with support for add-on packages. For users this means the ability to custom tune features, removing unwanted packages to make room for other packages and for developers this means being able to focus on packages without having to test and release an entire firmware. OpenWrt primarily uses a command-line interface, but also features an optional web-based GUI interface. Technical support is provided through the forums and IRC channel.
Variants
There are two versions of OpenWrt
whiterussian
kamikaze
whiterussian is the older, more properly documented and the more stable of the two but its development ha stopped since February 2007. Whereas kamikaze is the newer version with a different design that supports a wide range of devices. Currently it supports devices from more than 75 manufacturers that include MikroTik's RouterBoards, LinkSys, D-Link, 3COM, Asus, Dell, Microsoft, Motorola, Netgear, Philips, Siemens, Toshiba and the list goes on. It has a new kernel and is stable but work is in progress.
Features
The biggest change is probably the addition of webif, the Web-based Admin Console that lets you install and remove packages with a click or two. There are more applications available for OpenWrt almost every day. in addition to webif, OpenWrt has a fully writable JFFS2 file system, which allows for package management via the ipkg package system. This makes OpenWrt very versatile and adaptable to any particular situation. You can add new packages. Supports all networking and security stuff like VPN, firewall, DHCP, VLANs, WPA encryption, iptables etc.
Conclusion
With OpenWrt, friendly and helpful volunteers have created a powerful and fun Linux system that replaces the default Linksys firmware. You can use OpenWrt to implement everything from programmable VLANs to intrusion detection on a compact, fan-less box. With OpenWrt, you will be amazed at what free software is up to these days.