Blog Bug's

bugging blogs

Protected: … on CSS Frameworks

This content is password protected. To view it please enter your password below:

posted by ninoy in CSS,Tips and have Enter your password to view comments.

on Downgrading PHPUnit 3.6 to 3.5 in Ubuntu …

sudo apt-get remove phpunit

sudo pear upgrade pear
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover components.ez.no
sudo pear channel-discover pear.symfony-project.com
sudo pear install –alldeps phpunit/PHPUnit

sudo pear uninstall phpunit/PHPUnit
sudo pear uninstall phpunit/DbUnit
sudo pear uninstall phpunit/PHP_CodeCoverage
sudo pear uninstall phpunit/File_Iterator
sudo pear uninstall phpunit/Text_Template
sudo pear uninstall phpunit/PHP_Timer
sudo pear uninstall phpunit/PHPUnit_MockObject
sudo pear uninstall phpunit/PHPUnit_Selenium
sudo pear uninstall pear.symfony-project.com/YAML

sudo pear install pear.symfony-project.com/YAML-1.0.2
sudo pear install phpunit/PHPUnit_Selenium-1.0.1
sudo pear install phpunit/PHPUnit_MockObject-1.0.3
sudo pear install phpunit/PHP_Timer-1.0.0
sudo pear install phpunit/File_Iterator-1.2.3
sudo pear install phpunit/PHP_CodeCoverage-1.0.2
sudo pear install phpunit/Text_Template-1.0.0
sudo pear install phpunit/DbUnit-1.0.0
sudo pear install phpunit/PHPUnit-3.5.15

posted by ninoy in PHP and have No Comments

… on Removing Constraint on Port Addressing

Can’t think of any way, but have the idea of applying the
concept of frequency-hopping spread spectrum. But instead
of channels, use the port numbers to hop in.

posted by ninoy in CS 255 and have No Comments

… on Modified Network Layer to Support Real-time Service

Real-time transfer suggests that when a request has been made, it is immediately communicated to the recipient. Hence, putting off packet transmissions, no matter how much of a fraction of a second, would be undesirable.

Currently, TCP handles packet transmissions with the aid of acknowledgements and waiting for acknowledgements could possibly result to transmission delays. To support real-time transfer in TCP, we suggest to remove the retransmission of lost packets to lessen latency and delay of receiving packets. For audio/video applications, minor loss of data is tolerable.

To minimize packet losses, the window size would still adapt the slow start, additive increase and multiplicative decrease of window size protocol. This will still provide the balance between the load and the fairness of the network.

For applications that do not tolerate data loss and requires reliability, the packets will be sent in duplicates. The amount of duplicates are determined on how often the timeouts occur. Upon a timeout, the transmission window would increase the allocation of the duplicates. The amount of duplicate packets would increase say from 10% to 15% of the current window size. This will continue to increase up to 50% maximum (all packets will be sent with duplicates).
On the next sending and if there is no time-out received on the previous data sent, the number of redundant packets to be sent would be decreased by say 5% or 10%. This would continue until there is no more duplicate packets sent.

It should be noted that duplicate packets will not congest the network since the window size is decreased during timeouts. However, the number of redundant packets are to be increased. The trade-off with this method is the efficiency of the usage of the resources against the reliability of the transfer.

Another thing to consider is to determine packets to duplicate. Certain packets may hold important data which if lost would translate to an incomplete and incomprehensible message. It would also be inefficient to send multiple packets that would be discarded at the receiving end.

posted by ninoy in CS 255 and have No Comments

… on Network Layer Reliability

Reliable delivery implementations can be implemented at the end points and also in the network core.

Reliability in the end points is seen on the reliable/sequenced delivery provided by TCP on the transport layer. Hosts and networks work hand-in-hand in the successful delivery of packets from one end to another. This is particularly crucial when TCP sends an acknowledgement receipt to the host. Such acknowledgement would include the next sequence number for transmission. More than that, TCP is also responsible for the validation of addresses. At the same time, TCP also performs the packet queueing. The role of TCP in validating addresses, queueing packets suggest its indispensability in the successful delivery of packets from one end to another. The host merely respond to the requests by the TCP (e.g. retransmission).

On the other hand, reliability on the network core starts on the physical layer reliability that pertains to the high availability and continuity of network. This can be achieved through redundancy, either on links or routers’ processors and line cards. That is, we achieve higher network reliability by redundancy in low reliability network elements. Reliability can be effectively translated from the physical layer to upper layers (i.e. data link and network layer) with a resilient upper layer. Resiliency is the ability to react on failure and there are certain data link/network layer protocols that provide resiliency, namely OSPF, MPLS, and Ethernet with RSTP.

Currently, much of the reliability concern is implemented on the end points. But with the changing demand and usage of the internet, especially with regard to real-time, reliable, and highly available voice services, broadcast media transmission, and video on demand, in the future network (NGN – next generation networks), reliability on the lower layers are more explored to address new demands.

References:
Cerf, Vinton and Kahn, Robert. A Protocol for Packet Network Intercommunication. IEEE. 1974.
Clark, David. The Design Philosophy of the DARPA Internet Protocols. Proc SIGCOMM. 1988.
Clark, David. Rethinking the design of the Internet: The end to end arguments vs. the brave new world. MIT Lab for Computer Science. 2000.
Carpenter, B.. Architectural Principles of the Internet. IAB. 1996.
Koudrin, Alex. Network Reliability and Resiliency in Next Generation Networks at Physical, Datalink, and Network Layers. Victoria University of Wellington. 2007.

posted by ninoy in CS 255 and have No Comments

posted by ninoy in CS 255 and have No Comments

… on Having Updated Sane

$ sudo add-apt-repository ppa:plaxx/random-fixes
$ sudo apt-get update
$ sudo apt-get install libsane sane-utils

posted by ninoy in Tips and have No Comments

…on Maps API (Google 1.x, Google 2.x, & OSM) – Javascript with Paths

Google 2.x

	<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAA8Hm0UjfAUlzqtm8C4hrYcRRHdNuSbQjBWSHvxpsS-elLV0ZwthR9fApc1xrVNPI-YmmRt62mP-Ifag">
	</script>
	<script type="text/javascript">
		google.load("maps", "2.x");
		function initialize() {
			var map3a = new google.maps.Map2(document.getElementById("map3a"));
			var polyline = new GPolyline(
				[
					new GLatLng(14.647185,121.068959),
					new GLatLng(14.648783,121.069002),
					new GLatLng(14.648638,121.068637)
				], 
				"#ff0000", 
				5
			);
			map3a.addOverlay(polyline);				
			map3a.setCenter(new google.maps.LatLng(14.648552,121.068553), 17);
		}
		google.setOnLoadCallback(initialize);
	</script>
	<div id="map3a" style="height: 400px; width: 400px;"></div>


OSM

	<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
	<script>
		var init = function() {
			var map3b = new OpenLayers.Map("map3b");
			var mapnik = new OpenLayers.Layer.OSM();
			map3b.addLayer(mapnik);
			var geometry = new OpenLayers.Geometry.LineString(
				[
					new OpenLayers.Geometry.Point(121.068959,14.647185).transform(
						new OpenLayers.Projection("EPSG:4326"),
						new OpenLayers.Projection("EPSG:900913")
					),
					new OpenLayers.Geometry.Point(121.069002,14.648783).transform(
						new OpenLayers.Projection("EPSG:4326"),
						new OpenLayers.Projection("EPSG:900913")
					),
					new OpenLayers.Geometry.Point(121.068637,14.648638).transform(
						new OpenLayers.Projection("EPSG:4326"),
						new OpenLayers.Projection("EPSG:900913")
					)
				]
			);
			var feature = new OpenLayers.Feature.Vector(
				geometry, 
				null,
				{
					strokeColor: "#ff0000",
					strokeOpacity: 0.7,
					strokeWidth: 5
				}
			);
			var vectors = new OpenLayers.Layer.Vector("Vectors");
			vectors.addFeatures(feature);
			map3b.addLayer(vectors);
			var lonLat = new OpenLayers.LonLat(121.068553,14.648552).transform(
				new OpenLayers.Projection("EPSG:4326"),
				new OpenLayers.Projection("EPSG:900913")
			);
			map3b.setCenter(lonLat, 17);
		}
		addOnLoadEvent(init);
    </script>
	<div id="map3b" style="height: 400px; width: 400px"></div>


refresh if no map rendered

posted by ninoy in CS 297 and have No Comments

…on Maps API (Google 1.x, Google 2.x, & OSM) – Static with Paths

Google 1.x

	<img src="http://maps.google.com/staticmap?center=14.648552,121.068553&zoom=17&size=400x400&sensor=false&path=rgba:0xff0000ff,weight:5|14.647185,121.068959|14.648783,121.069002|14.648638,121.068637&key=ABQIAAAA8Hm0UjfAUlzqtm8C4hrYcRRHdNuSbQjBWSHvxpsS-elLV0ZwthR9fApc1xrVNPI-YmmRt62mP-Ifag" border="0" alt="Department Computer Science UP Diliman" />

Department Computer Science UP Diliman

Google 2.x

	<img border="0" src="http://maps.google.com/maps/api/staticmap?center=14.648552,121.068553&zoom=17&size=400x400&sensor=false&path=color:0xff0000ff|weight:5|14.647185,121.068959|14.648783,121.069002|14.648638,121.068637" alt="Department Computer Science UP Diliman" />

Department Computer Science UP Diliman

OSM

	<img class="sampleMap" src="http://dev.openstreetmap.org/~pafciu17/?module=map&center=121.068553,14.648552&zoom=17&type=mapnik&width=400&height=400&paths=121.068959,14.647185,121.069002,14.648783,121.068637,14.648638,thickness:5,transparency:0,color:255:0:0" alt="Department Computer Science UP Diliman" />

Department Computer Science UP Diliman

posted by ninoy in CS 297 and have No Comments

…on Maps API (Google 1.x, Google 2.x, & OSM) – Javascript with Markers

Google 2.x

	<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAA8Hm0UjfAUlzqtm8C4hrYcRRHdNuSbQjBWSHvxpsS-elLV0ZwthR9fApc1xrVNPI-YmmRt62mP-Ifag">
	</script>
	<script type="text/javascript">
		google.load("maps", "2.x");
		function initialize() {
			var map2a = new google.maps.Map2(document.getElementById("map2a"));
			map2a.setCenter(new google.maps.LatLng(14.648552,121.068553), 17);
			map2a.addOverlay(new GMarker(new GLatLng(14.648552,121.068553)));
		}
		google.setOnLoadCallback(initialize);
	</script>
	<div id="map2a" style="height: 400px; width: 400px;"></div>


OSM

	<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
	<script>
		var init = function() {
			var map2b = new OpenLayers.Map("map2b");
			var mapnik = new OpenLayers.Layer.OSM();
			map2b.addLayer(mapnik);
			var markers = new OpenLayers.Layer.Markers( "Markers" );
			map2b.addLayer(markers);
			var lonLat = new OpenLayers.LonLat(121.068553,14.648552).transform(
				new OpenLayers.Projection("EPSG:4326"),
				new OpenLayers.Projection("EPSG:900913")
			);
			markers.addMarker(new OpenLayers.Marker(lonLat));
			map2b.setCenter(lonLat, 17);
		}
		addOnLoadEvent(init);
    </script>
	<div id="map2b" style="height: 400px; width: 400px"></div>


refresh if no map rendered

posted by ninoy in CS 297 and have No Comments