The internet and the Web

What is the internet?

The internet is really just billions of computers connected with wires that are run all over the earth. a connection of millions of computers all over the world. Through these connections, your computer has access to other computers all over the world called servers. These servers are the backbone of the web. They store websites and then serve them to your computer. When you typed techgenius.wordpress.com, you were actually accessing the web server that stores our website. The server is configured to allow anyone ‘view’ the website. However, to edit the website, you have to provide access codes i.e. a username and password. This is to prevent an authorized alterations and modifications to the site.

Food for Thought

There are almost as many webpages on the internet as there are neurons in your brain. (http://bit.ly/peoBvChttp://bit.ly/4rgHPg )

Internet Map

Map of the Internet

What is a Website?

In its simplest form, a website is a collection (folder) of files (usually web pages) stored on a web server and located at a web address like www.yahoo.com. So whenever you type www.yahoo.com you are actually requesting a file from Yahoo’s server.

So with that down, there are two kinds of websites.

  1. Static Websites
  2. Dynamic Websites

Static Website – A static website is simply a collection of HTML files. A webpage corresponds to a file. This means that a one page website with say a homepage only contains one file. A two page website would contain two files e.t.c. The web server will respond with the same webpage every time that page is requested. The main characteristic of a static website is the fact that the website will not change irrespective of the time, day, location or computer that is accessing it. It will look the same to anyone and everyone. It remains the same unless altered by the Web Designer hence the name ‘Static’.

Dynamic Website – A Dynamic website is a collection of files containing instructions for generating WebPages. Unlike static websites, when a page is requested, the server performs the instructions stored in the dynamic webpage and the respond based to the instructions on the page. This means that if the instruction say “Print Today’s Date”, the web server will respond with today’s date. And if you were to request the same page tomorrow, it would not respond with today’s date, rather it will respond with tomorrow’s date. And thus the main characteristic of Dynamic website is the ability to automatically change depending on what instructions web given by the Web Developer

What is HTML?

HTML stands for HyperText Markup Language. It is used to identify the elements in a websites like a picture, link, heading, sub-heading, paragraph and so on. But if HTML is used to “identify” elements in a webpage, that means all websites out to look the same right? So how come web sites all look different. That is where another language comes in called CSS

What is CSS?

CSS stands for Cascading Style Sheets. CSS handles to alter the appearance of web pages. It is very important because it tells the browser how to display the elements. Its responsible for the aesthetics of the page like colour, font, background image, margins and so on. CSS works with HTML to display rich looking websites.

Conclusion

So in conclusion,

  • The internet is simply a connection of billions of computers all over the world.
  • A Web site is a folder stored on a web server that can be accessed by a web address e.g. www.google.com
  • A Static website is a collection of web pages written in HTML that always looks the same unless altered by the Web Designer
  • A Dynamic website is a collection of files that contain instructions for generating WebPages.
  • HTML and CSS are used to generate the content and appearance of a webpage respectively.

Hope you found this article useful. Please leave your comments below We’d like to read your feedback. Cheers!

Advertisements

Web Design Intro

Hello There, I want to apologise for the silence over that past few days. I couldn’t eek out time to write a manuscript. I’ve just been very busy. I’m pretty sure that many of you are wondering “when do we get to see some hardcore material?”. Well, all I can say is stay tuned. :-). Ok with that being said, I personally have decided to take another approach. Instead of pre-typing a post (after careful thought of course), I’ve decided to just type the post straight away. More like freestyle on the M-I-C. Ya Feel me?

I will start to take this broad topic by breaking it into small easy-to-understand bits and then give you links to appropriate materials. This the first in a long series of posts on how to create websites. So… Let’s get started.

What is HTML?

Tim Breners Lee

To fully understand this, let’s go back to the beginning of the web. Once upon a time at an organisation called CERN (which actually stands for European Organization for Nuclear Research. weird huh), They had a challenge where lots of Physicists around the world had articles, data, information on vast numbers of topics all in different formats which required different software to view.

So it occurred to the a man named Tim Berners-Lee to come up with a way to standardize this information so that it can be easily retrieved by any computer that has the client software. So he set out to develop the engine of the world wide web. He designed everything. From transfer protocol (HTTP) to language (HTML), Web browser, Web Editor, Web Server, File Transfer Protocol (FTP).. Pretty much everything it took to get the web up and running. Ok, my geek sense just tingled. Let me break it down in a way that’s even easier to understand.

Let’s say I am in Lagos (At the moment, I am actually.. Laughing) and I wanted to send a message to my friend John in Benin. First of all, I would write a letter right? That letter (web page) would have to be written in English (HTML) in order for John to understand what I am saying right? And then I would take the letter to take the letter to a post office. Which essentially is a “protocol” or standard way to send letters right? Then I would write something on the envelope (HTTP Response Header) like “Gist of the Week” and the give it to the Post man who would send the information to John. In the case of the world-wide-web, I would be a Web-server and John would be a client/browser. Do you now get it?

So in web-design your job is simply to create Letters written in English for John (or any other sane person) to understand. But remember that people have different levels of perception. This means that the same letter may be interpreted differently by different people. However, the basic idea behind the letter will be the same.

Conclusion

So, HTML which stands for Hyper-Text Mark-up Language is simply a language in which web pages are written so that they can be understood by browsers.

Practice: Open any site of your choice, right-click anywhere on the page and click “View Source” (Actual phrase might differ from browser to browser) and then you can see the underlying HTML that generates that page.

Effective Searching

The internet is like an ocean of knowledge. With Billions of WebPages. The internet has brought about the revolution that men of old prayed to see. Back then, it took at least six months for a new book to be released but now the web is updated every 6 seconds (using old stats).

But with this vast ocean of knowledge, how can I find what I’m looking for? I can’t just be guessing URLs right? That’s where search engines come in. But the thing is that a lot of people have the wrong ideas about search engines and most of the time can’t find what they are looking for. I remember when I was in school; some of us did crazy things like typing stuff like this into search engines

“Where can I find documents on Simultaneous Equations” or “What are the similarities between simple and compound interest” and my personal favourite, “Where can I download yahoo messenger”

It never occurred to us that the search engine isn’t a person! It’s almost like we had this idea of someone sitting in a cubicle somewhere just waiting for us to type something and then quickly replies.

However in some cases, thanks to search engineers, we actually got what we were looking for. But in many cases we wouldn’t find what we wanted and then would have to scroll to the bottom and sometimes go to the next page looking for something.

So I’ve decided to give you some nice tips that will make you a good online detective (Laughing). So here we go.

  1. Keywords – Search Engines use keywords which are the words we type to know exactly where and how to search. This means that you don’t need to ‘speak English’ as long as you use keywords, you are more likely to get the desired results e.g. “Natalie Tran YouTube” or “Blog Tech Genius”
  2. Trim Redundant Words – Try as much as possible to use nouns. Don’t use words like AND, OR, THE e.t.c this only helps to ‘confuse’ the search engine and make it more strict during its search. Also, be careful before you use common terms like “Free”, “Download”, “Software” e.t.c
  3. Keyword Order – Many search engines use the order in which you type the keywords to determine the priority that it gives to the keywords. So “Visual Studio Free Download”, “Download Visual Studio for Free” and “Free Visual Studio Download” are certainly not the same.
  4. Use Phrases – Phrases are good because they tell the search engine to search documents exactly as you stated it. To use phrases, simply put the phrase in quotation marks
  5. Use few keywords – I recommend you use a maximum of 8 keywords. Anything above that and you will most likely be lost. If you can limit yourself to five cool.

And finally, Learn about your favourite search engine. Search engines are not the same and as such have different inner workings. Try to learn more about your favourite search engine. Chances are that they have specialized ways to ‘query’ the search engine. In other words uses a simplified code to tell it exactly how you want it to search. For example you might want to search a particular domain group e.g. “.co.uk”, “.com.ng” and so on. You might also want it to search but omit certain words and many other cool things as well.

Practice

Hey, why don’t you try this fun game I like to play where you search for the beginning of a sentence and then make the search engine complete it for you e.g. “John is a” or “Why is it that “. you are bound to find something new or interesting. I know.. Something must be really wrong with me. (Laughing) But just try it out

BENEFITS

I know someone will go like… “I don’t need this I’ve always gotten what I wanted right?” My answer is well… not really. Searching the way you’ve been doing it (referring to my examples above) only puts you at the mercy of the search engines ‘discretion’. This means you are less likely to stumble across what you want let alone something interesting. I can boldly say that I’ve learnt a lot by searching efficiently searching the web. I have even stumbled upon so many interesting things that changed me while searching. There’s an entire universe out there. You just need the right means of transportation.

Update: Just saw this video from Google on how search works. Its the same for other search engines.

Just another Idea…

Over time , I’ve always wanted to share my thoughts and ideas but somehow, like in many other cases I seem unable to carry out whatever it was I wanted to and those ideas just fade away in my head, For some reason this one seems to have stuck and I think this is the perfect opportunity to share it. The thing is, the whole thing appeared quite obvious shortly after I started using the tools (independently at first) which are combined to bring it about. I think the networking and system administration guys might find this a little interesting.

I jokingly called the platform eVIL, short for electronic Virtual Internetworking Lab. It may sound really serious but please don’t be carried away by the name, unlike the labs at New Mexico that developed the atomic bombs dropped over Japan in WW2, there’s nothing sinister about it. It’s quite simple, just an aggregation of tools or rather, software working together, both by design and proven speculation. So what tools? Ones I believe we are pretty familiar with:

1. VMware Workstation

2. GNS3(or dynagen) with dynamips and working Cisco IOS images.

3. Many other tools like Wireshark, Cisco Security Device Manager (SDM), Microsoft ISA server 2008, VPC – a Virtual PC emulator for simple testing etc., the list is endless and depends only on what you intend to do.

VMware is an application that allows you to run one or more operating system in a virtual environment created on your computer and allows you to network them together. Dynagen is a Cisco router emulation software, it’s similar to VMware in a functional sense, except you are running Cisco IOS images (i.e. the operating system running on Cisco routers) and GNS3 which is just a graphical frontend for Dynagen.

The whole idea started during my industrial training about 2 years at an Indian firm in Lagos. I was with the I.T support department and asides from the regular helpdesk work role we did a little in-house research and app building. Often we had to network a number of systems together to try out stuff before deploying on the live network. I was about to leave the company and I realized I needed to build on some of the work we had done. I had just one laptop so I considered VMware as a way out.

I had barely used VMware workstation before that time but I didn’t realize one could network VMs until then. I noticed that a virtual network adapter was created on the host computer for each virtual network created on VMware workstation. These virtual networks are named VMnet1, VMnet2…and so on. Once you’ve installed a virtual machine, simply place it in a VMnet by specifying the particular one in the network connection settings for that VM. All VMs placed in the same VMnet are automatically in the same LAN and can communicate with each other.

Having used Dynagen and later GNS3, I noticed one could connect interfaces on the emulated routers to your host computer through a loopback adapter (a virtual network adapter) which you can always create on Windows. The point then was to allow one to gain access to the router either through Cisco’s SDM (a GUI alternative for running commands instead of the traditional CLI), through Telnet or a web browser. The catch was this – why not connect an interface on the router to the virtual network adapter automatically created by VMware by default essentially connecting your router to that same VMnet and using it as a gateway to other VMnet networks all within the host PC.

Now, you may be wondering what the whole point is but note this, VMware allows you to install many different flavours of Linux, Windows desktop and Servers, Solaris, Red Hat and many other operating systems. You can have an environment running several nodes all networked, having the flexibility to create the LANs the way you want them with more than one router and even emulate WANs with GNS3 and make the whole setup appear even more realistic.

A simple implementation with one router and two virtual networks, Nodes within a particular VMnet can communicate with the other VMnet (with the right configurations on the router of course).

The whole thing was to serve as a suitable learning environment and a lab for trying out stuff, not just reading about them but gaining some sort of hands-on experience and seeing how it all worked. Tools like Wireshark even made it more fun as GNS3 allows you to view traffic as it traversed the routers. It could even be installed on VMs that are Windows nodes. Back then, I was interested in creating a Windows Server 2003 domain LAN, connected to an external network (i.e. another VMnet). I also wanted to try out different technologies like VPN, IPv6, and SMB (or is it samba now?); Web servers, FTP servers, Terminal servers etc. (guess what? I never did).

One major consideration (and I’m sure you would have thought of this as well) is your computer’s hardware specs. VMware uses system resources (RAM, processor and hard disk space) for its VMs, GNS3 could be even more brutal as your computer’s processor usage usually pegs at 100% though this can be solved using a feature called Idle-PC. I believe a decent modern day system will be able to support a simple implementation, for instance Windows XP can conveniently run on 64MB of ram and about 4GB of HD space, Ubuntu will do fine on 256MB and about 8GB, Windows Server 2003 (depending on what you’ll be using it for) might do well between 300-512MB and 10GB or more HD space.

I also believe there’s another way out. VMware allows you to ‘bridge’ a virtual VMnet adapter to one of your physical adapters (Wireless or Ethernet cable adapter) allowing access to the outside world. Now if one is to connect one host PC to another PC (with a similar setup of VMware and GNS3) using a crossed cable or an ad-hoc wireless connection, with the other PC’s adapter bridged to a VMnet adapter, making sure they are all on the same network by assigning IP addresses from a single LAN to all four adapters – the setup might just be extended across PCs. Of course I’ve never tried it, but you never know.

I think network admins who can’t afford to toy with a live network might find this useful, or simply for learning purposes, or practice for some certification exam. Personally, I’ve always wanted a personal laboratory where I could afford to screw things up without fear and then push the reset button literarily (evil laugh).

All about FOSS.

Hello to all budding “techgeniuses” out there. This post is NOT a how-to for any super-cool techie-type skill, so everyone’s invited. This post IS however, a primer to a paradigm shift for any and all whom are interested in FOSS.

The first known use of the phrase free open source software(That’s the full meaning of FOSS, by the way)on Usenet was in a posting on 18 March 1998, just a month after the term open source itself was coined. FOSS would refer to an all inclusive category of free software(software created for free usage by any individual or corporate body) and open source software(which is also like free software, but also is licensed to grant the right of users to use, study, change, and improve its design through the availability of its source code).

Now I won’t be going into the expected tirade concerning history behind FOSS, adoption, popular trend and all that good stuff……. what I WILL do, over my next series of posts, will be to explain in detail what FOSS alternatives are available for all proprietary software categories currently in use by, well, us.

The categories I’ll go through will be in the following order:

Application software

 Business software
 Software for children
 Communication software
 Computer-aided design software
 Computer-aided manufacturing software
 Data management software
 Desktop publishing software
 Desktop widgets
 Digital typography
 Editing software
 Educational software
 Electrical device control software
 Entertainment software
 Genealogy software
 Government software
 Graphics software
 Knowledge representation software
 Language software
 Legal software
 Library and information science software
 Multimedia software
 Music software
 Personal information managers
 Computer programming tools
 Religion software
 Science software
 Simulation software
 Application software suites
 Transport software
 Video games

System software

 System software
 Free system software
 Access control software
 Application launchers
 Personal computer automation software
 Boot loaders
 Compatibility layers
 Computer printing
 Computer security software
 Data compression software
 Device drivers
 File comparison tools
 File managers
 Firmware
 Graphical user interfaces
 Identity management systems
 Installation software
 Job scheduling
 Keyboard layout software
 Keyboard-sharing software
 Computer libraries
 Malware
 Middleware
 Network-related software
 Operating systems
 Revision control systems
 Screenshot software
 Search engine software
 Servers
 Spam filtering
 Storage software
 System administration
 Terminal multiplexers
 Transaction processing
 Utility software
 Virtualization software
 Windowing systems

Computer programming tools

 Computer programming tools
 Bug and issue tracking software
 Build automation
 Code navigation tools
 Code search engines
 Compilers
 Computer-aided software engineering tools
 Data modeling tools
 Debuggers
 Desktop database application development tools
 Disassemblers
 Discontinued development tools
 Documentation generators
 Text editors
 EXE packers
 Formal methods tools
 Free computer programming tools
 Integrated development environments
 Java development tools
 Software-localization tools
 Microsoft development tools
 Profilers
 Programming language implementation
 Revision control systems
 Software testing tools
 Static program analysis tools
 UML tools
 Unix programming tools
 User interface builders
 Web development software
 Computer programming tool stubs

 

Seems like a handful, eh? Well, no fears. With your encouragement(and help) we’ll all get to know what FOSS has in store for us.

PS: The list won’t be processed in order of FIFO….it’ll be completely random!

 Stay tuned!!

What is RSS?

RSS Icon Ever wonder what this cute yellow icon represents? Well, It represents RSS Feeds. RSS actually stands for RDF Site Summary but it’s commonly referred to as Really Simple Syndication. Its an open standard that allows web content to be to be collated and aggregated together using XML (Xtensible Markup Language) Technology. Its not the only standard for serving feeds as there is also ATOM. There’s a lot to RSS and Feeds in general but I’ll try and break it down as much as possible

To easily understand what it is, let’s imagine this scenario: I have 24/7 internet at home and I love browsing on movies, games, tech blogs and so on. Assuming my favourite sites are:

  1. www.youtube.com
  2. www.amazon.com
  3. www.ebay.com
  4. www.cnet.com
  5. www.yahoo.com
  6. www.gametrailers.com
  7. www.gamespot.com
  8. www.imdb.com
  9. www.boxoffice.com
  10. www.techcrunch.com
  11. www.techrepublic.com

So every day to check for new content, I would have to go through the above sites one after another. Isn’t that a hassle? And maybe before I finish checking www.techrepublic.com , a new YouTube video might be uploaded. RSS was invented to tackle this problem. It’s simply a structured way to organise site content in a way that all kinds of software like websites, browsers, mobile applications, widgets (or gadgets) e.t.c can access and notify you of updates. That’s where the yellow icon comes in wherever you see it; you know it links to the feed URL. So in order to solve my problem, I would first need to get a feed aggregator. It’s a software package that can check for RSS feeds from various locations and arrange and collate them together. There are many Feed Aggregators and I would like to classify them into the following categories

  1. Browsers – If you use browsers like Internet Explorer, Mozilla Firefox, Safari or Opera (Chrome doesn’t have by default) then you can use its inbuilt feed aggregator. Just go ahead and click the RSS link (Usually located at the top right corner of your browser)
  2. Web Applications – So far the only web application that allows you to manage your RSS is Google Reader (reader.google.com ) There you can either search for feeds or add your own url
  3. Gadgets – Gadgets or Widgets in some platforms are small pieces of applications that are embedded into other applications e.g Google Sidebar, Opera Widgets e.t.c Most of them also come with RSS Feed Aggregators
  4. Mobile Applications: In my own opinion, this is the best way to consume RSS Feeds. Most smartphones: Android, Symbian, iOS and RIM (Blackberry) all have a form of RSS Feed Aggregator. Even if you dont have a smartphone, you should get Snaptu and install it on your java enabled phone and you can subscribe to your favorite RSS Feeds. It can also get your feeds from Google Reader.

After I have any of the above feed aggregators, I will then visit all my favorite sites and start clicking on the RSS icons of each site. I will add the URL to any of the above aggregators. When Im done, all I have to do is go to my RSS Feeds aggregator and Voila! I can now access all of my favorite websites at once.

Practice

Try Browsing your favorite sites looking out for RSS Feeds or The cute Yellow Icon above. After you find it, click it and click subscribe (if your browser supports RSS) or copy the URL in your browser

Then Goto to your preffered aggregator. If you don’t have, you can goto reader.google.com, Login or Sign and add the feed URL there

I hope you find this tutorial useful. This blog also supports RSS Feeds as well. So please subscribe and get notified about recent posts. If you are having problems, reply this post with your issue and I’ll help you out. Cheers!

How to use this Blog

I am very glad at the response I got from yesterday’s pep talk. And I know this is the start of something great. My prayer is that it helps you at the end of the day. Ok! Now it’s time to move into main menu.

This blog is organised into categories. These categories could range from Multi-media, Mobile Goodies like themes and Apps to Game Reviews and virtually any field under Technology from Hardware to Telecommunications, we got it. Just use the categories links on the right to navigate. You could also make use of the search bar. That would equally suffice. I hope you find this blog useful. Here are a few things I would like you to have at the back of your mind

  1. This Blog isn’t a complete tutorial solution – The web is filled with millions of tutorials so there is no point re-inventing the wheel. Our goal is to place you on the right track and that’s what we’ll do. Discuss the core concepts in a way that’s very easy for you to understand and the put links for further study. We’ll try our best to the select the finest of tutorials so that you won’t have to look far and wide.
  2. Videos – I’m a Nigerian and I understand the difficulty watching videos on the web because of bandwidth. However, Videos are a good means of passing a message across. So in conjunction with adding the video, we’ll do a short explanation beneath the video to give you an idea. It may seem repetitive if you can watch the video but it will help others.
  3. Practice – At certain gaps in the blog, we’ll place a PRACTICE paragraphs and in them, we’ll give you a challenge of some sort for you to try out on your own.
  4. Subscribe – Please subscribe to our RSS Feeds (What is RSS?). That way you get notified when any of us posts a new article.
  5. Tags – This is a special way of grouping similar articles. Similar to “see also” or “You might also be interested in.”
  6. Downloads – As for software, or any other kind of documents, we may need to upload it to a file hosting site like www.rapidshare.com or www.mediafire.com. All you have to do is click on the links and follow the instructions on the site to download. Some of them may require that you wait a specified number of seconds. Please wait and after a while, the link to download the content will be available to you(or just go premium).

Ok good, these should get you started. Please your feedback is very important. Tell us the areas you are facing challenges in learning and we’ll help you however we can.