Showing posts with label internet. Show all posts
Showing posts with label internet. Show all posts

A tribute to Mozilla Firefox nightly builds

Ever wished you could have the latest version of Mozilla Firefox? Think no more. You actually can have it. Keep reading and you'll see how.

On the date of this post the latest version of Firefox that I'm running is the one shown on the following picture (I'm downloading right now the 20080507 nightly build):

 MozillaFirefoxMinefieldVersion

As you can see my current version is the one from April, 30th. Look inside the red rectangle. I don't download the nightly build everyday.

One thing interesting is the name: Minefield. Believe me: It's not that minefield as the name states.

Nightly builds
This is what the folks from the Mozilla developer division say about the nightly builds:

Nightly builds are created most weekdays from the previous day's work, these builds may or may not work. Use them to verify that a bug you're tracking has been fixed.

We make nightly builds for testing only. We write code and post the results right away so people like you can join our testing process and report bugs. You will find bugs, and lots of them. Mozilla might crash on startup. It might delete all your files and cause your computer to burst into flames. Don't bother downloading nightly builds if you're unwilling to put up with problems.

I've been using the nightly builds for a long time and from what I found you can have the latest innovations in browsing technologies without worrying about lots of bugs or crashes. Using a nightly build is perfect. You can use it for your day to day navigation. It's really stable. From what I remember it has crashed 2 or 3 times in a time span of more than 1 year. Besides that, no worries!

Firefox features I like most 
From the innovations and my own tweaks, the ones that I like most are:

- URL auto-completion
One of the greatest features (there are lots of them) is URL auto-completing - they call it "Location bar and auto-complete". Type the title or tag of a page in the location bar to quickly find the site you were looking for in your history and bookmarks. Favicons, bookmark, and tag indicators help you see where the results are coming from.

This is implemented through a lightweight database that stores the URLs already visited. The more you access a URL the high will be its rank in the list of visited URLs. You just start typing the address and instantly you get the URL you're after. You don't need to type the whole thing every time. It's a must. I use it all the time. See it in action:

MozillaFirefoxMinefieldAddressAutoCompleting

- New revamped Download Manager
The Download Manager is fantastic too. You don't need to start your downloads all over again in case you interrupt them. You can resume from the point you stopped. You can check more info about its improvements in the next version of Firefox at the page Download Manager improvements in Firefox 3. See its face:

MozillaFirefoxMinefieldDownloadManager

- More available screen size (this is my own tweak)
More size to see the web page content. You can personalize your browser so that your toolbar buttons don't fill the space you could use to visualize content and more content. Check how I customize my browser so that I have the best fit:

 MozillaFirefoxMinefieldCustomizedToolbar

I've shrunk the above window to show it here, but you have a big space to type your URLs in the location/address bar.

I don't have any toolbar. I just put all the buttons I use most on the left of the address bar and the standard menus on the right. To do this simply right-click on one of the menus and select "Customize...". From there you can change the disposition of the buttons. Click and hold one of the buttons and put it anywhere you want. As I did I put them on the left and right side of the address bar. I just don't use the standard toolbars that are: the Navigation toolbar and the Bookmarks toolbar. To not use them, uncheck them. What you gain? More space.

- Restore Previous Session
Restore Previous Session is the other one that I think is really helpful. You see, while I was composing this post I had to get some screenshots. To do this I should have pressed the key Print Screen on the keyboard but instead I pressed the key Power that is just above the Print Screen one. What happened? My computer hibernated. I did this for three times in a row. The last one I hit the restart button on my machine while it was going to hibernate. I don't know why I did it. I lost all the applications that were in memory. Firefox was one of them. Now I just came back to continue typing this post and opened Firefox again. What did I get? The following dialog:

MozillaFirefoxMinefieldRestorePreviousSession

Clicking on Restore Previous Session, Firefox brought back all the tabs that were open the time the computer was turned off accidentally. Fantastic, isn't it? It can help a lot in case of power failure too.

The change from Internet Explorer to Firefox
I remember that I was reluctant in changing from Internet Explorer to Firefox. I decided to try Firefox one day. I installed and used it a little bit and I didn't like it, so I uninstalled and continued using Internet Explorer. I don't remember exactly when I gave it a second chance, but the fact is that I gave and this time I think it is forever. After playing with it a little bit more I saw how customizable it was through add-ons, etc (e.g.: the tweak I did with the toolbars isn't possible with Internet Explorer).

After the changing I don't want to go back to IE. Firefox is much superior in quality and velocity. You navigate the internet really faster.

Remember one thing though: you should have a version of Internet Explorer in case you need it for a site that doesn't work well with Firefox. Yes, there are sites and forms that don't play well with Firefox yet. If you ever be in such a situation, just open IE and try with it. That's what I do and it has worked fine.

How to get Firefox
If you don't know, Firefox runs on various versions of Microsoft Windows, Mac OS X, Linux, and many other Unix-like operating systems.

You have three options and on the date of this post the Firefox versions you can download are:

The current stable release version
Firefox 2.0.0.14. You can get it at the page Firefox web browser | International versions: Get Firefox in your language.

Beta version
The beta version is Firefox 3 beta 5. You can get it at the page Firefox web browser (beta) | International versions: Get Firefox in your language.

Nightly builds
Nightly builds are the ones I use. Each day we have a new one. You can get it at the latest trunk page.

Final notes
It's impossible to comment on every part of Firefox that I like. I hope that you could have gotten the notion of a few of the capabilities of this splendid piece of software. I think of Firefox as a work of art. In truth it's what it is: a work of art.

Firefox's source code is free software.

The open source community must be recognized as a powerful and expressive one. They are on the scene. Congratulations to everyone that helps make Firefox such an work of art. It's amazing to realize how a collaborative work has evolved impressively during the last years.

Folks, keep up the great job and continue innovating all the time. That's what makes someone like me write a post like this.

References
Mozilla Firefox article at Wikipedia
http://en.wikipedia.org/wiki/Mozilla_Firefox

The History of Mozilla Firefox article at Wikipedia
http://en.wikipedia.org/wiki/History_of_Mozilla_Firefox

mozilla - Developer Central
http://www.mozilla.org/developer/

Complete list of Firefox 2.0.0.14 features
http://www.mozilla.com/en-US/firefox/features.html

Recommended Add-ons :: Firefox Add-ons
https://addons.mozilla.org/en-US/firefox/recommended

Firefox 3 for Developers - Mozilla Developer Center (MDC)
http://developer.mozilla.org/en/docs/Firefox_3_for_developers

Distance Education and IT-Comm Pros

Distance EducationDistance education or distance learning is a positive manner of tackling global education shortcomings. If we think about the world population we can imagine that not everyone has easy access to the resources we’re so accustomed to. Considering time constraints, distance education reveals itself a great alternative because the time spent to get to a classroom can be a negative factor. Think about people that live outside of big cities. They can't even apply for a course they want because there is no such a course where they live. These barriers lessen education availability and so someone somewhere that doesn’t fit on the above time and place prerequisites has their plans thwarted and can't move forward towards the mainstay “Education”. It’s a really beautiful word. Look at it for an instant and realize what would be of you if you didn’t have the basic of it. To those people to acquire a diploma in some area of knowledge can be considered an unthinkable action.

With the advent of the Internet we have today a classroom right inside our own home. We have the information we want at the exact moment we want and in most part all the information is freely available, that is, we have the opportunity to learn about any subject without having to pay for that end avoiding expenses with specific material that in most cases will be used only once or at most twice to be frank.

Obviously there are prestigious institutions that provide distance education, which confer the most prestigious titles to those that finish a course without at least being present in a classroom. All that with the help of new technological advances that pervade our lives, which in turn make distance education something viable.

Particularly I don’t like the idea of distance education. I prefer to be present at the classroom. It would feel weird taking an educational leadership course in a virtual classroom. I believe that presence education is more enriching. I write this based upon all point of views, being the most important: more active social life interaction.

The virtual classroom world is interesting, yet it’s necessary to heed, for this can bring some undesirable consequences such as the lack of a direct liaison between the teacher/professor and their students and colleagues. Great part of our development is done through social interaction and this is almost foregone when we talk about distance education. There are plenty of other factors that influence my opinion, but for now this demonstrates one of the big bottlenecks that refrains the distance education of evolving in faster paces. There are still conservatives. It can be the case that in a near future such conservatives perish the thought.

The actual distance education environments, such as TelEduc in Brazil enable the distance education practice to reach more and more people. My alma mater UBM constituted a center for distance education called NEAD and uses TelEduc as its environment. I have used it and what I write here has as background my experience as a user of the system.

Tertiary institutions as the case of UBM offer a vast range of improvement courses for their employees and even support courses for students that are undergoing their internship programs and college conclusion projects. The idea appears to be good, but in practice it’s not adopted by everyone, perhaps because of the lack of information regarding the distance education platform’s features and capabilities.

It’s good to highlight that the devices and techniques used to implement distance education are in great part the result of advances pertaining to information and communication technologies. These technologies aggregate people from the more diverse knowledge fields. Information and communication technologies include the set of technological and computational resources set aside to generate and propitiate the use of information. Thus, such technologies are established on the following components: hardware and their peripheral devices, software and their resources, telecommunication systems and data and information management.

The people responsible for the development and management of these components are increasingly requested on the market. Between them are computer engineers, computer scientists, system analysts, business analysts, chief information officers (CIO), chief executive officers (CEO), chief financial officers (CFO) just to name a few.

The instructional level has been growing a lot during the last years, what rises the competitiveness on the job market. A proven fact is that executives have been using distance education to leverage their academic degree, attending courses, such as a Master of Business Administration (MBA) at international universities as MIT, University of Cambridge, University of California, Berkeley, etc. Notwithstanding the executives are on their houses in the comfort of their couches or beds.

I complete this brief analysis of the influence of distance education stating that the use of new technologies like the Internet and well developed distance education environments are making life a lot easier if we take into account the commodity and easy access to information of any given area.

It’s worth to remember about the inherited risks that most of the times pass by unnoticed. The utilization of technology in excess can enslave men, transforming them in slaves of their own inventions. Wherefore we must discuss such subject, aiming at the discovery of a steady point between the virtual and real life, providing a better way for a rich development environment where all people can evolve in a natural manner. I wrote and meant everybody, what presupposes the integration of the underprivileged people into this whole new world of information called Internet. Long live the blogs of life.

Computer Virus: Types, Sources and Harms

Computer virus
A computer virus is a computer program that can copy itself and infect a computer without permission or knowledge of the user. The term virus is commonly used to refer to many different types of malware programs.

Types
The following table shows the most common types of computer viruses and their characteristics.

Common types of computer virus
Type Characteristic
File Attaches or associates its code to a file. Usually, this type of plague adds the code to a file of a normal program or overwrites the file. The virus infects Windows executable files, especially the ones with .com and .exe extension types and doesn't act directly over data files. In order for its destructive power to take effect, it's necessary that the contaminated files be executed.
False Alarm Does not cause damage to the computer, but consumes connection time and bandwidth of the internet connection to make the user send the alarm to a larger number of people. Can be classified as Hoax or Chain Letter.
Backdoor As its name states, it's a virus that open the computer's "back door" enabling hackers to take the computer control. Normally, the backdoor virus comes embedded in files received through e-mail or downloaded from the internet. When the file is executed, the user free the virus, that opens a computer port for the virus creator so that he can gain the complete or restrict control of the computer.
Boot Infects the initialization area of floppy discs and hard disks. Vital system files are found on these areas. This virus has a high destruction power, even blocking the user from starting the computer operating system.
Trojan Horse Apparently inoffensive virus that brings embedded another program that is the malign virus.
Encrypted Codified virus that complicates antivirus actions.
Hoax Messages that usually arrive in e-mails alerting the users about a showy, highly destructive virus.
Macro Infects macros (executable code used in text processors and spreadsheets to automate tasks). Disables essential functions as Save, Close and Exit.
Multipartite Infects the master boot record (MBR), boot tracks and files.
Mutant Programmed to complicate its detection by antivirus software. Is capable of altering itself after each execution of the infected file.
Polymorphic More intelligent variation of the mutant virus. Tries to impede the antivirus action modifying its internal structure or its codification techniques.
Program Infects only executable files, blocking the user from initializing the operating system.
Script Programmed to execute commands without user interaction. There are two categories of the script virus: VB based on the programming language and the JS based on JavaScript. This kind of virus can come embedded in images and in files with uncommon extensions as .vbs.doc, vbs.xls or js.jpg.
Stealth Invisible virus that uses one or more techniques to avoid its detection. Can redirect system indicators and infect a file without altering the same.

Sources
Relationship sites, torrent download sites, virtual communities as Orkut just to name a few are sources of virus. Messages or posts apparently inoffensive can have an embedded/attached virus. The virus can even be hidden in images as the one shown bellow. Take it easy. The image below doesn't have a built-in virus!

Generally, the computer virus is scattered in places of great access as is the case of pornographic sites and download networks that distribute pirate software copies (the so famous P2P networks), although nothing impedes that a virus be received in a simple e-mail message.

Harms
Most of the time the virus remains in an inactive state waiting for the user to take action. The virus can copy all the data typed by the computer user, getting a list of the visited sites, the user's preferences and even a list of all the contacts (e-mail addresses) of the user that has a virus in their computer. This forms a really dangerous virus chain in which the virus can propagate itself to other users given the e-mail addresses of the other users.

The inexperienced users don't realize the maliciousness in such appeals and end falling into the trap. They pass credit card numbers, details from where they live, where they study, what they do to have fun, etc, that is, hand over private details to a person (can be the virus creator or no) completely anonymous.

A common situation is that of an infected user that has a computer virus and not even knows about its existence till the moment that s/he receives the bank statement in which is listed the draws of tens, hundreds or thousands of dollars.

Summary
Nowadays we're witnessing an awfully race for the acquisition of new computers. Lots of inexperienced users are getting into the computer and internet world. Such users don't posses most of the time the correct information about the threats inherent to the inadequate use of computers.

Computers are excellent tools when used to legal work related tasks and healthy leisure practices,
however the inexperienced user can fall into traps when s/he decides to have fun using the computer to search for illegal tasks or practices.

With the increasingly proliferation of computer viruses it's recommended that unknown files be discarded and that visits to inappropriate sites be avoided. It's also recommend the use of an antivirus software.

In the last analysis, for those that are already familiarized with the virtual world there isn't too much danger, though the above advice must be observed. The inexperienced users must ask the experienced users for advices to gain the necessary information regarding the inherent threats present in the virtual world.

Client server architecture

Client Server architecture
Client-Server architectureThe client server architecture is a computer architecture which separates a client computer from a server computer and is most implemented in a computer network such as the Internet. Each client or server connected to the network can be referenced as a node. The most common type of client server architecture includes only two types of nodes: client and server. This type of architecture is sometimes called 2-tier architecture. The 2-tier architecture makes possible the sharing of files and resources between devices connected to the computer network.

Client
A client is a computer that requests a service of a server. The service can be localized in other computer or in the same computer that requests the service, that is, the client computer can act as a server too.

Access to the service is available through some type of interface.

Types of clients
Common types of clients include:

  • Web browser - a web browser is a software application that enables a user to display and interact with text, images, videos, music and other information typically located on a web page at a website on the world wide web or a local network.
  • Email client - an e-mail client, also known as mail user agent (MUA) is a frontend computer program used to manage email. Sometimes, the term e-mail client is also used to refer to any agent acting as a client toward an e-mail server, independently of it being a real MUA, a relaying server, or a human typing directly on a terminal. In addition, a web application such as the Gmail from Google providing the relevant functionality is sometimes considered an email client.
  • Online chat client - an online chat client or instant messaging client is a software application that enables the user to engage in instant messaging.

Server
A server is a computer that accepts connections to serve the requests of client computers. The server sends responses to the client computers. A server is generally connected to a computer network.

Types of servers
The most common types of servers are:

  • Application server - a computer with a software engine that delivers applications to client computers or devices, typically through the Internet and using the hyper text transfer protocol (HTTP). The application server handles most, if not all, of the business logic and data access of the application.
  • Backup server - a computer responsible for safekeeping important business files, financial records, and personal music and pictures so that in case of the original files be deleted there will still exist a copy.
  • Database server - a computer responsible for the provisioning of database services to other computer programs or computers. Database servers store the database on a dedicated computer system, allow it to be accessed concurrently, maintain the integrity of the data, and handle transaction support and user authorization. A database server divides an application into a front end and a back end, in accordance with the client-server model. The front end runs on the client computer and displays the requested data. The back end runs on the server and handles tasks such as query processing, data analysis and storage.
  • DHCP server - a computer that provides the dynamic host configuration protocol (DHCP) service on the network that assigns network addresses to other devices, such as a telephone and computer.
  • DNS server - a computer that provides the domain name service (DNS) which translates the names of sites into their numerical addresses, that is, resolves the name of the website typed into the location field of the browser with the Internet protocol (IP) address of the server that will send the requested information from that website.
  • Domain server - a computer that holds all the records associated with a particular domain and answers queries about those records.
  • Email server - a computer acting as a mail transfer agent (MTA) or SMTPD (SMTP daemon) that is running the appropriate software. This computer is responsible for transferring the electronic mail messages from one computer to another.
  • File server - a computer responsible for the central storage and management of data files so that other computers on the same network can access those files.
  • Firewall server - designed to secure an internal network from threats and attacks that come from the Internet offering powerful and flexible control over all inbound and outbound network traffic.
  • FTP server - a computer that runs a program that can receive requests for a file transfer protocol (FTP) link from a client computer.
  • Logon server - a computer responsible for authenticating client computers in a domain.
  • Print server - a computer to which one or more printers are connected, which can accept print jobs from external client computers connected to the print server over a network. The print server then sends the data to the appropriate printer that it manages.
  • Proxy server - a computer system or an application program which services the requests of its clients by forwarding requests to other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server. The proxy server requests the service on behalf of the client between an internal network of an organization and the Internet as part of a security system to protect the organization's network of external intrusion.
  • Security server - a computer dedicated to provide security policy decisions and to enforce such decisions.
  • Terminal server - a specialized computer which aggregates multiple communication channels together. Because these channels are bidirectional, two models emerge: multiple entities connecting to a single resource, and a single entity connecting to multiple resources.
  • VPN server - a virtual private network (VPN) server is a piece of hardware or software that can act as a gateway into a whole network or a single computer. It is generally "always on" and listening for VPN clients to connect to it.
  • Web server - a computer that runs a program responsible for accepting HTTP requests from clients, such as web browsers, serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents and linked objects (images, etc.).

Note: a web service can be considered a type of server. A web service is defined by the W3C as "a software system designed to support interoperable Machine to Machine interaction over a network." Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.

Conclusion
The client server architecture is extremely used nowadays. Practically all the services that are present in the Internet are based on this architecture. Even a simple visit to a news page as much as the connection to verify the grades stored in the university’s server; all these services make use of the client server architecture.

The details related to planning, equipment acquisition, installation and configuration of software and hardware are the most important when an environment based on the client server architecture is being considered.

The application type offered by the server and the type of client that will access such application are key points to end up with a concise project.

It’s known that the greater page requisitions a server has the greater will be the necessity of a powerful hardware capable of assuring the proper operation of the application even in stress conditions. Therefore it’s important not only understand the basic concepts of the client server architecture but also acquire the understanding about specific concepts related to software and hardware, which form the base of the architecture.

We are witnesses of this fantastic era in which we see the creation of new services starting up through the great opportunities that the new wave of the internet called web 2.0 brings. Such services demands better approaches to the client server architecture.

Programming technologies, new hardware devices and network apparatus, multiple multimedia capabilities, wireless connections, etc – all reinforces the propagation of the client server architecture. As a basic example, look at the biggest video site of the planet YouTube, which receives millions of video requests and that needs to provide access to its clients in a smoothly way. All this in a transparent way to its clients.

The client server architecture will subsist for a long time because it leverages the so used means of communication of actuality called internet.