•  
  • Web (14)

POST versus GET

Categories: Web
Tags:
Comments: No Comments
Published on: July 30, 2011

POST and GET are two method of submission being used in HTTP. Essential similarity between these methods are that, they are both key value pairs, and they are used to transfer data. There are several differences between post and get. Some of them are as follows:

  • Visibility: with GET method, elements which are submitted are visible through the address bar of you browser. With GET method, elements are sent via Query String. with POST method elements which are submitted are not visible through address bar. With Post Method elements are submitted via the body of the HTTP header.
  • Length/Size of the data: With GET, depending on the browser there is a limit of the data you can send. With POST, (Theoretically) there is no limit of the data you can send.
  • One of the main difference is that GET is idempotent(doesn’t cause any side effects), however POST is not idempotent and causes side effects, ie: posting the same data again and again.
  • Character Type : GET method uses only ascii characters while POST method uses enctype of data.
  • GET is the default method for a form, you should indicate that you want to use POST.
  • With GET method URLs can be cached and bookmarked with POST method you can’t cache or bookmark it.

Windows Server AppFabric

Categories: Programming, Scalability, Web
Tags: ,
Comments: 1 Comment
Published on: July 19, 2011

Caching and reliable hosting is one the important elements for high available and scalable applications. Microsoft delivers Microsoft server appfabric. Two major components are Caching and Hosting. OK, i dont much know about hosting except the fact that it uses Microsoft Activation service, and I think, IIS is using it internally. Again, I m not very familiar with it. But you can learn more in the following URL:
Microsoft AppFabric
and Microsoft provides a training kit which is really useful :
AppFabric Traning Kit

As far as caching, AppFabric Cache used to be velocity cache. It s more than a distributed key value pair, it has many other features such as tags, where you can tag the key value pairs and then you can get them by tag. Moreover, you can create regions to store the relative items within an organization. For example: You can have a student cache, teacher cache, classes cache, etc. You dont have to stick everything into a single cache.

Just like other cache services, the API provides, Add (Adds an item to Cache), Get(Gets an item from cache), Put(Adds or updates an item), Remove methods(Removes an item from cache). Moreover, you can handle concurrency with Optimistic or Pessimistic Concurrency. Usually, you would like to define these in an interface and wrap the Factory Method of Data Classes. In terms of configuration, there are several configuration parameters for appfabric cache, during development, I usually prefer storing the configuration in the dedicated config file, such as cache.config. Moreover, in your application you would prefer to wrap the datacachefactory class, instantiate it and keep it live as long as the application lives.

You can set expiration time for the items in the cache, default is 10 minutes. You can set it so that it doesn’t expire etc.

There is cache eviction, which occurs when the machine the cache is on, runs out of memory. The cache items becomes evicted and drops. Least recently used algorithm is used for this implementation.

While developing code with cache, it is always good to do defensive programming, because there might be several problems, such as items might expire, cache servers might go down etc. So it is very desirable to consider all these failures.

One important point is that, every item you store in the cache should be serializable. All the primitive type in C#.Net are serializable, if you are creating your own types, make sure you make them serializable, there are couple ways to do that, such as implementing ISerializable interface or by using DataContract and DataMember attributes (Which WCF uses). Once your items are serializable you can store them in the cache.

Usual usage of cache is to be placed in front of database. So each request doesnt go to database but instead, it gets the data from cache which increases the response time of the application. This is just one of the usage of cache. Cache basically takes the load of the database.

Speeding up Web sites

Categories: Programming, Web
Tags:
Comments: No Comments
Published on: December 6, 2010
  • Minimize http requests: due to the latency and RTT (round trip time), high number of HTTP request increases page loading times. Several There are techniques and ways to reduce the HTTP requests made to a site, such as CSS Sprites, Combining and compressing JavaScript files.
  • Use a CDN (Content delivery network). CDN allows users to download static media files much faster. Simply using a CDN increases the speed of you website.
  • Add an expires or a Cache-Control Header, cache items.
  • Gzip Components, use compression.
  • Compress, minify stylesheets and javascripts
  • Put stylesheets at the top of the page
  • put the scripts at the bottom of the page.
  • Make JavaScript and CSS in external files.
  • Use Image Sprites.
  • Reduce DNS lookup due to network delay, latency
  • Avoid redirects
  • Cache your pages
  • Minimize, avoid IFrames,
  • Reduce Cookie Size
  • Use Cookie free domains for static files
  • Minimize DOM access

More to read on :

http://developer.yahoo.com/performance/rules.html

Web development terminology, glossary

Categories: Programming, Web
Tags:
Comments: No Comments
Published on: November 29, 2010

# AJAX
AJAX, stands for Asynchronous JavaScript and XML, which is a term describing a web development technique for creating interactive web applications using a combination of: * HTML (or XHTML) and Cascading Style Sheets for presenting information* Document Object Model, JavaScript to dynamically display and interact with the information presented* XML, XSLT and the XMLHttpRequest object to interchange and manipulate data asynchronously with the web server.
(source: http://en.wikipedia.org/wiki/AJAX).

# Animation
It is referred to an image that changes over time. A simple example is Abacus logo where the red dot is moving up and down every several seconds.

# ASP
Short for Active Server Pages that is used for creating dynamic content of a web page. Technically said it is a server side scripting language. It is mostly used on Windows platforms.

# Bandwidth
Bandwidth is the maximum amount of data that can travel a communications path in a given time, usually measured in seconds. If you think of the communications path as a pipe, then bandwidth represents the width of the pipe that determines how much data can flow through it all at once.

# Banner
Also referred to as a banner ad, a banner is a typically rectangular advertisement placed on a Web site either above, below or on the sides of the Web site’s main content and is linked to the advertiser’s own Web site.

# Browser
Very often called Web browser, a software application used to locate and display Web pages. The two most popular browsers are Microsoft Internet Explorer and Netscape Navigator. There are many other browsers like AOL Browser, Opera, NeoPlanet and many others.

# Database
A special way of organizing computer data. It looks like a table implemented columns and rows for fast accessing data from any of the cells in the table. There are many different types of databases but all of them work on the same principle. Databases are very useful for storing and organizing data for later retrieval. Very often used for managing accounts, managing user information, creating guest books and bulletin boards, even this page (dictionary) is implemented with database.

# Discussion Group
A web page that supports interactive discussions by users. Users submit text content using a form, that is saved on the server and that way make it available to other visitors.

# DNS
The Domain Name System which identifies each computer as a network point on the Internet using an internet protocol address systems to translate from domain name to IP and reverse.

# Domain Name
A unique name that identifies one or more IP addresses. For example, the domain name abacus.ca represents one IP address. Domain names are used in URLs to identify particular Web pages. Every web site that you visit is stored under domain name.

# Domain Name Extension
Part after the dot in the domain name is a domain name extension. In the abacus.ca domain, domain extension is .ca . There are many other domain name extensions such as .com .net .org .gov .edu .mil .info .web .us .uk .cc .it .mx .ba and many others.

# Downloading
Downloading is the method by which users access and save or “pull down” software or other files to their own computers from a remote computer, usually via a modem.

# E-Commerce
E-Commerce means conducting business on the Internet. It is mostly referred to buying and selling items on line.

# Encryption
A way of coding the information in a file or e-mail message so that if it is intercepted by a third party as it travels over a network it cannot be read. Only the persons sending and receiving the information have the key and this makes it unreadable to anyone except those persons (your browser does it automatically).

# Flash
Browser independent vector and graphic animation technology owned by Macromedia Inc.. Most browsers support Flash technology and one flash animation looks the same on all browsers.

# FTP
FTP stands for File Transfer Protocol which is one of the methods of transferring files over the Internet.

# GIF
GIF stands for graphics interchange format, it is a bit-mapped graphics file format used by the World Wide Web. GIF supports colour and various resolutions. But it is limited to 256 colors.

# Home Page
It is a first page (also called opening page) of a Web site.

# Hosting
Hosting is a service provided by hosting company. That’s a place (a computer available on the Internet) where web site is stored and made available to web site users to view the content of that web site.

# HTML
Stands for HyperText Markup Language, the authoring and editing language used to create web pages on the World Wide Web.

# Internet
The largest global network connecting millions of computers. It is strictly based on TCP/IP protocol for communication between host and server.

# Intranet
A private network belonging to an organization, usually a corporation, accessible only by the organization’s members, employees, or others with authorization.

# IP Address
An IP (Internet Protocol) address is a unique identifier for a point or host connection on an IP network. An IP address is a 32 bit binary number usually represented as 4 decimal values, each representing 8 bits, in the range 0 to 255 (known as octets) separated by decimal points. It is just a number like 66.46.105.9

# Java applet
A short program written in Java (not JavaScript) that is attached to a World Wide Web page and executed by the browser machine. Often used for complicated web applications.

# JavaScript
JavaScript is a client-side scripting language that allows dynamic behavior to be specified within HTML documents. Most browsers support java however some browsers are disabled for JavaScript use.

# JPEG (JPG)
Stands for Joint Photographic Experts Group. JPEG uses compression technique for color images and therefore some details are lost in the compression yet giving relatively good quality. It is widely used on the Internet and other digital applications.

# Link
Sometimes called hyperlink. A link is object on the web page. When visitor of a web site click with the mouse on that object then user is taken to another web page where the link is pointing to. Different types of links are: text links, graphic links, java links, form links and some other which are not very important.

# MP3
MP3 is the file extension for MPEG, audio layer 3. Layer 3 is one of three coding schemes (layer 1, layer 2 and layer 3) for the compression of audio signals. MP3 files could be embedded into web site providing music while visitors are viewing the site. MP3 files are relatively small comparing to other audio files and therefore are quite suitable for transferring over the Internet.

# PHP
PHP Hypertext Preprocessor is a server-side, HTML embedded scripting language used to create dynamic Web pages. Designed for Windows and Unix type platforms.

# Protocol
A formal set of conventions that allow communication between two communicating functional units. Simply said it is a language that computers use to talk to each other. Of course there are many such languages. Most popular is TCP/IP used officially on the Internet.

# Search Engine
A program that performs searching on documents for specified terms or phrases and returns a list of the documents where those terms were found. Search Engines are lately referred to Internet Search Engines. Most popular search engines today are Google, Yahoo, MSN, AllTheWeb, Excite, Lycos, AOL, HotBot, Altavista. There are over several thousands search engines and growing every day.

# Search Engine Optimization
Search Engine Optimization (SEO) is an act of of increasing the the number of visitors to a particular Web site by adding appropriate keywords and phrases, and such ranking high in the search results. The higher a Web site ranks in the results of a search, the greater the chance that your site will be found by a search user. For general and competitive web sites it takes a lot of professionalism to tweak the web site in order to be well optimized and search engine friendly.

# Spam
Spam referrs to the practice of blindly sending commercial messages or advertisements to email users or posting to newsgroups.

# Submission Forms
Forms are web pages “fields” for a user to fill in with information. They are an excellent way of collecting and processing information from people visiting a website, as well as allowing them to interact with web pages. Forms are written in HTML and processed by CGI programs. The output can be sent as an e-mail form, stored online, printed, and/or returned to the user as an HTML page.

# Thumbnail
A small version of a bigger image on a web page. Usually containing a hyperlink to a full-size version of the image.

# URL
It stands for Uniform Resource Locator, which is a string that supplies the Internet address of a resource on the World Wide Web, along with the protocol by which the resource is accessed. The most common URL type is “http,” which gives the Internet address of a World Wide Web page. Some other URL types are gopher and ftp.

# Video Clip
A short video sequence that can be embedded into a web page.

# Web Application
Web Applications are web programs or real programs designed to be used on the web site using a browser. Example of web application would be e-commerce web site, web banking, stock exchange on the web, web games and many others. Web applications are becoming very popular due to wide availability of the Internet access.

# Web Based E-mail
Web based e-mail is a software on a POP3 server that allows you the luxury, if desired, to access your POP accounts by simply using a web-browser. It allows users to send and receive emails via any web-browser by viewing an HTML web page.

# Web Page
One of the pages one the web site including home page.

# Web Site
A site presence on the World Wide Web. Each Web site contains a home page (opening page), which is the first document users see when they enter the site.

# World Wide Web
A system of Internet servers that support specially formatted documents. The documents are formatted in a script called HTML (HyperText Markup Language) that supports links to other documents, as well as graphics, audio, and video files. This means you can jump from one document to another simply by clicking on hot spots. Not all Internet servers are part of the World Wide Web.

c# Parsing a query string format

Categories: Web
Tags:
Comments: No Comments
Published on: May 5, 2010

Below is how you can find a string that is in QueryString format and build a dictionary out of it.

       protected Dictionary processMessage(string message)
        {
            Dictionary data = new Dictionary();

            var terms = message.Split(';');

            for (int i = 0; i < terms.Length; i++)
            {
                var atoms = terms[i].Split('=');
                for (int j = 0; j < 1; j++)
                {
                    data[atoms[0]] = atoms[1];
                    _logger.Warn("data : " + atoms[0] + " - " + atoms[1]);
                }
            }
            return data;
        }

Distributed Systems Principles and Paradigms

Tags:
Comments: No Comments
Published on: February 12, 2010

This is a great book about distributed systems.

Recommend it to everyone who is into Scalability and Distributed Systems.

Distributed Systems Principles and Paradigms

Advertising Glossary and Terms

Categories: Web
Tags:
Comments: No Comments
Published on: January 27, 2010

Ad tags
Bits of HTML code that let publishers display Right Media Exchange ads on their web pages. Ad tags are specific to a publisher’s site, ad display type and/or size (banner or pop).

Advertiser
A participant in the Right Media Exchange who buys ad space from publishers.

Banner
A graphical ad that typically displays with a horizontal orientation. Common sizes: 728×90, 468×60, and 720×300.Campaign. Typically refers to an advertiser line item that runs a series of related ads. Ads may be grouped into campaigns according to product offers or themes that reflect similar marketing goals.

Content of Offer
Describes the kind of product or service being advertised in a creative, such as credit card, travel, or software downloads. Creatives are categorized so that networks and publishers can target appropriately.
CPC. Type of campaign with cost-per-click pricing. The advertiser pays for an impression only when a user clicks on the ad.
CPM. Type of campaign with cost-per-mil pricing (cost per thousand impressions). The advertiser pays for the impression every time its ad displays. Cost of one impression is 1/1000 the CPM price.

Creative
Another name for an ad. A single creative can have image elements, rich media elements, and supporting files that make up the ad.

Dynamic pricing
Pricing model that lets advertisers vary what they pay for an impression, instead of paying one flat CPM price. Advertisers are typically willing to pay more for an impression on premium inventory that has lots of good users. They’re also willing to pay for impressions on less desirable inventory, but those impressions are worth a lot less. Dynamic pricing lets them pay for each impression based on how much it’s worth to them.

eCPM
See effective CPM.

Effective CPM
The effective price per 1000 impressions shown. When campaigns have CPM, CPC, and CPA pricing, the only way to compare them is to translate each one into an equivalent effective CPM, or eCPM.

Exit pop
Creative that appears when users close their browser or leave the publisher’s site.

Expandable banner
A banner ad that expands when users move their mouse pointer over the ad, causing the ad to expand beyond its borders.

Flash ad
Type of creative featuring animation. Creative can be identified by the .swf file extension, which stands for Shockwave Flash.

Floating ad
Type of ad that is super-imposed over a page and floats over it for a certain number of seconds, then disappears or fades.

Frequency cap
Limits the number of times a line item can serve a creative during a certain time period.

Geotargeting
Specifies which geographical regions a particular network or advertisers will receive impressions from. If a network should only serve to US traffic, you should geotarget the US only.

HTML creative
Type of creative that may have images, text, and other elements written in HTML.

Impression
An instance of an ad displaying on a publisher’s site. Sometimes referred to as “imps”.

Interstitial
Type of creative that appears between pages of a website. When users leave one page of the site, the interstitial ad appears for a certain number of seconds before the requested destination page loads.

Inventory
The ad space that publishers offer for sale on their websites or other media property.

Inventory type
Type of media property that a publisher makes available for displaying ads, such as a website, toolbar, email message, or desktop software. Categorizes publisher properties so that advertisers and networks can target appropriately.

Learning
Unlike other advertising optimization systems, there is no predetermined learning or audition period in the Right Media Exchange. It begins optimizing a campaign automatically, as soon as enough statistically significant data is available. Because it is completely automated, optimization happens more quickly than with other technologies. Learning is the process by which the Right Media Exchange gathers creative performance data, such as impressions, clicks, conversions, and user characteristics, in order to predict the probability of a click or conversion on a site. The ad server uses this information to calculate a bid price for the ad auction. When the Right Media Exchange has enough predictive information, a creative changes from learning mode to optimized mode.

Media Guard
The Right Media Exchange’s ad classification and regulation system that protects your site from potentially brand-damaging advertising, bringing trust to the exchange. Every single creative in the exchange is scrutinized by an automated and human review process and categorized with an unprecedented level of detail and accuracy. Media Guard has created a set of objective and uniform classification standards that aligns all buyers and sellers in the exchange. That regulation builds trust in the marketplace, and gives you confidence that you’re going to get the advertising you want on your site.

Minimum Payout
The minimum revenue that you must earn before a network will issue a payment.

Network
An entity that facilitates the buying and selling of media between a group of publishers and advertisers. Sometimes referred to as an “ad network”.

Optimized
A creative that has finished learning. See “Learning”.

Placement
Controls impression delivery to each network, based on price, frequency capping and geotargeting preferences.

Pop
Type of creative that appears in a new window, either over a website page (popup) or under a website page (popunder). The window can be popped by the publisher or by the advertiser’s tag.

Publisher
A participant in the Right Media Exchage who maintains a website, desktop application or other inventory type with ad space that is available for sale to advertisers.

Revenue share
The share of earned revenue that each network offers to its publishers.

Rich media sd
Type of creative that uses Javascript or other technology to stream video, include sound or animations, or display elements that interact with the user. Takes more bandwidth and time to load than an image or text ad and may not be supported by all browsers. Some examples: expandable banners, pointroll ads.

Right Media Exchange
The Right Media Exchange is interactive advertising’s first open media exchange. Connected on a common platform, buyers and sellers seamlessly trade more than two billion impressions on the exchange each day. The Right Media Exchange enables competition in an open, fair market to drive more value for ad networks, publishers and advertisers.The Right Media Exchange does for digital media what the NASDAQ and other auction-based financial exchanges do for securities.

Key benefits to publishers include open access to campaigns, true value discovery, maximized revenue, control over what runs on your site and the ability to easily develop new relationships.

Segment
A distinct category of users or members of a target audience who can be identified based on the webpages they visit or actions they take.

Seller
A participant in the Right Media Exchange who sells advertising space. Can be a publisher or a network.

Skyscraper
A graphical ad that typically displays with a vertical orientation. Common sizes: 160×600 and 120×600.

Targeting
Rules that govern when, where, how often, and to whom an ad should serve.

Textlink
Type of creative that uses only text (words) with hyperlinks to the advertiser’s website or a page containing more advertising information.

Third Party Ad Network
An ad network that is not currently a direct participant in the Right Media Exchange.

Third Party Creative/Third Party Tag Creative
Type of creative that is hosted by a third party ad server instead of by the Right Media Exchange ad server.

URL creative
Type of creative that consists of a Web address that points to a webpage, hosted image, or JavaScript file.

UTC
Coordinated Universal Time (Greenwich Mean Time).

Volume
A measure of how much traffic a website receives. Typically expressed as a number of impressions, such as 100,000 impressions per month.

Some Information on Mosix

Categories: Scalability, Web
Comments: No Comments
Published on: December 17, 2009

MOSIX is an on-line management system targeted for high performancer computing on Linux clusters, multi-clusters and Clouds. It supports both interactive processes and batch jobs. MOSIX can be viewed as a multi-cluster operating system that incorporates automatic resource discovery and dynamic workload distribution, commonly found on single computers with multiple processors.

mosix

Ajax Loader

Categories: Web
Tags:
Comments: No Comments
Published on: December 17, 2009

This is a pretty nice site that creates ajax loading images :)

http://www.ajaxload.info/

Old version programs

Categories: Uncategorized, Web
Tags: No Tags
Comments: No Comments
Published on: December 11, 2009

Newer versions of programs are not always better, so here you go ;

http://www.oldversion.com/

page 1 of 2»

Welcome , today is Tuesday, February 7, 2012

Bad Behavior has blocked 250 access attempts in the last 7 days.