Sep 14


Famous Personalities of Computer Science – Part2

John von Neumann (von Neumann’s Architecture)


Von Neumann built a solid framework for quantum mechanics. He also worked in game theory, studied what are now called von Neumann Algebras, and was one of the pioneers of computer science.

The term computer architecture describes the layout of the machine. All computers use the von Neumann model, named after the American who suggested it.
read more


Tim Berners-Lee ( Founder of World Wide WEB (www))

A graduate of Oxford University, England, in 1989, Tim Berners-Lee invented the World Wide Web, an internet-based hypermedia initiative for global information sharing while at CERN, the European Particle Physics Laboratory. He wrote the first web client and server in 1990. His specifications of URIs, HTTP and HTML were refined as Web technology spread. More Here

Kenneth Lane Thompson & Dennis Ritchie ( Unix OS and C language)

In the 1960s, Thompson and Dennis Ritchie worked on the Multics operating system. While writing Multics, Thompson created the Bon programming language. The two left the Multics project when Bell Labs withdrew from it, but they used the experience from the project, and in 1969, Thompson and Ritchie became the principal creators of the Unix operating system. At this time, Thompson decided that Unix needed a system programming language and created B, a precursor to Ritchie’s C. Read More

Bjarne Stroustrup (C++ Language)

Bjarne Stroustrup is the designer and original implementer of C++ . Dr. Stroustrup is the College of Engineering Chair Professor in Computer Science at Texas A&M University. Read More Here

Anders Hejlsberg (Delphi, C# Language Developer)

Anders Hejlsberg (born December 1960) is a prominent Danish software engineer He was the original author of Turbo Pascal, the chief architect of Delphi, and currently works for Microsoft as the lead architect of the C# programming language.

Larry Wall (Perl Programming Language)

Larry Wall (born September 27, 1954) is a programmer and author, most widely known for his creation of the Perl programming language in 1987.

Read More

Tags: blog, Computer, computers, google, information, Internet, microsoft, physics, quantum, Research, Server, Software, system, Technology, unix, web, World Wide Web, XP
Sep 14

Youtube Videos are Bandwidth eaters for Limited bandwidth Internet users. Education Institutions also need to block Youtube videos. Here a simple trick for blocking youtube videos using squid Proxy.

Add the following line to /etc/squid/squid.conf

## The videos come from several domains so block all
acl blk_youtube dstdomain .youtube.com .googlevideo.com .ytimg.com

http_access deny blk_youtube

Tags: blog, google, Internet, Server, youtube, youtube video
Sep 13

IBM recently published an article on the use of WS-ReliableMessaging between WebSphere 6.1 and Axis2. Most interesting I found the part on the Quality of Service of WS-RM:

  • Unmanaged non-persistent tolerates network and remote system failures. You can configure Web service applications to use WS-RM with a default in-memory message store. This QoS requires minimal configuration; it is for a single server only and does not support clusters. Although this QoS allows for the re-sending of messages that are lost in the network, failure of a server results in lost messages. The default is unmanaged non-persistent.
  • Managed non-persistent tolerates system, network, and remote system failures, but state is discarded after the messaging engine restarts. This in-memory QoS option supports clusters as well as single servers. This option uses a messaging engine to manage the sequence state, and messages are written to disk if memory is low. This QoS allows for the resending of messages that are lost in the network, and can also recover from server failure. However, a failure of the messaging engine causes message loss.
  • Managed persistent tolerates system, network, and remote system failures. This QoS for asynchronous Web service invocations is recoverable. This option also uses a messaging engine and message store to manage the sequence state. Messages are persisted at the Web service requester server and at the Web service provider server, and are recoverable if the server fails. Messages that have not been successfully transmitted when a server fails can continue to be transmitted after the server restarts.

QoS of WS-RM is actually not part of any standard. Most implementations of WS-RM are non-persistent, in particular Microsoft WCF and Sun’s Metro. And that is in my opinion the major shortcoming of the WS-* story. The WS-RX committee should have made message persistence part of the WS-RM spec and/or the WS-RM Policy spec.

Anyway, IBM has a persistent implementation of WS-RM. And so has SAP: SAP doesn’t even give you the option and uses persistent WS-RM as its default. Well done by SAP, although the SAP implementation is based on an older version of the WS-RM spec (WS-RM 2005/02.)

What I don’t find are reports of the use of persistent WS-RM between stacks of different vendors, e.g. between IBM and SAP. Maybe we’ll need to have a go ourselves one day?

Tags: application, blog, google, implementation, implementations, memory, microsoft, network, persistence, sap, Server, servers, service invocation, stack, system, web, websphere
Sep 10

Some of My Friend asked How they can run the world famous Linux Proxy server Squid in Windows XP.

It is better to use Linux for this purpose. , You can make an experiment in your windows and switch to Linux.

installing squid on windows

Download squid for windows from :

http://squid.acmeconsulting.it/download/squid-2.6.STABLE18-bin.zip

Full Installation Instructions are in the documentation.

Change the c:\squid\etc\squid.conf from the default :

acl home src 192.168.0.0/255.255.255.0 # (change it for your subnet)

http_access allow home

cache_dir aufs c:/squid/var/cache 1000 16 256

dns_nameservers 208.67.220.220

run the following commands :

mkdir c:\squid\var\cache

c:\squid\sbin\squid -z

Done,
Now your squid is ready.

squid

Tags: blog, google, linux, Server, servers, Windows, XP
Sep 02

I have a client who has viewes that contain UNION ALL command for number of very large tables. The logic is to apply a WHERE condition to that view to get the data. Even having indexes on those tables SQL Server applies a WHERE condition to each SELECT statement within a view that may lead to performance proble. To demonstate it please considetr AdwentureWork data and two tables Sales.SalerDetails and SalesOrderHeader

CREATE VIEW v1
AS
SELECT S.SalesOrderID
FROM
Sales.SalesOrderDetail S
UNION ALL
SELECT S.SalesOrderID
,S.CreditCardID FROM
Sales.SalesOrderHeader S

SET STATISTICS IO ON
SELECT TOP 100 * FROM v1 WHERE SalesOrderDetailID >40000 AND SalesOrderDetailID<45000

Table ‘SalesOrderDetail’. Scan count 3, logical reads 1359, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table ‘SalesOrderHeader’. Scan count 1, logical reads 34, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

You can see that SQL Server ‘touched’ those tables by using Clustered Index Scan on
Sales.SalerDetails and Clustered Index Seek on Sales.SalesOrderHeader. Indeed I realy simplified the logic as in reality it has horrible performance. How to improve?

I create a Multi-Statement Table-Valued UDF that accepts a parameter
CTREATE FUNCTION dbo.udf1
(
@SalesOrderID INT
)
RETURNS @t TABLE (c1 INT,c2 INT)
AS
BEGIN
INSERT INTO @t
SELECT S.SalesOrderID
FROM
Sales.SalesOrderDetail S
WHERE SalesOrderID > @SalesOrderID AND SalesOrderID<@SalesOrderID+5000
UNION ALL
SELECT S.SalesOrderID
FROM
Sales.SalesOrderHeader S
WHERE SalesOrderID > @SalesOrderID AND SalesOrderID<@SalesOrderID+5000
RETURN
END
Table ‘#74AE54BC’. Scan count 1, logical reads 12, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

See , I applied a WHERE condition within an UDF for every statement as UDF must get parameters.This is another argument to use Table-Valued UDF …

Tags: blog, database, Databases, google, indexes, parameters, performance, Server, SQL