Algo Puzzle - Product of Elements of an Arrayvivek, Sun, 2008-04-27 00:09I came across this interesting problem of coming up with an algorithm that would compute, for each element of an array, the product of all other elements in that array, in linear time without using the division operator (or implementing a division algorithm.) A solution is to traverse left to right computing the growing product, and then traverse right to left computing the growing product and multiplying it with the result from the previous traversal. I.e., Given,P Q R SCompute, 1 P PQ PQR x x x x QRS RS S 1 ------------------- QRS PRS PQS PQR Implemented in python,
def elProd( A ):
result = []
prod = 1
# for i from 0 up to len(A) - 1
for i in range( len( A ) ):
result.append( prod )
prod = prod * A[ i ]
prod = 1
# for i from len(A) - 1 down to 0
for i in range( len( A ) - 1, -1, -1 ):
result[ i ] = result[ i ] * prod
prod = prod * A[ i ]
return result
Subversion: Branching and Committingvishnu, Mon, 2007-01-08 15:56Oftentimes you have changes in your working copy that you'd like to preserve but not taint the trunk with it. Maybe you'd like to work on it later, or perhaps you'd just like to branch off features so that you don't interfere with a trunk moving to stable. The trouble is, you didn't decide beforehand that you have to create a branch. How do you solve this problem? Enter Here's how you do it:
You'd still be in the old working copy however, but one that points to the new svn url. That's confusing, so as soon as you commit your changes, Super Cavitation - The New Generation Speed ResearchSreekanth, Thu, 2005-11-10 19:36I just happened to watch a telecast on Discovery India on a topic called Speed with modern research and one of the ideas that predicted much result was Super Cavitation. Supercavitation is the use of cavitation effects to create a large bubble of gas inside a liquid, allowing an object to travel at great speed through the liquid by being wholly enveloped by the bubble. The cavity (i.e., the bubble) reduces the drag on the object and precisely this makes supercavitation an attractive technology: drag is normally about 1,000 times greater in water than in air. The potential of this technology being relatively frictionless linear as well as radial motion in an environment of much high density and hence much high drag. Inventor: W. Daniel Hillisvivek, Wed, 2005-10-05 15:49I have always dreamed of becoming an Inventor, have a lab of my own with all sorts of esoteric gadgets and all the time in the world to create whatever I want. At 46, Daniel Hillis is doing exactly that. An American inventor, he is living his dream - conjuring up whacky ideas and implementing them in his uber-cool lab. He is also an author, a scientist, and an engineer.
The Two Schools of Cryptographyvivek, Sat, 2005-10-01 19:06Technology Research News (TRN) is featuring an article on the two schools of cryptography, based on the two basic methods of cryptography, namely, computational and probabilistic. Two schools of cryptography (TRN How it works) Threads Cannot Be Implemented as a Libraryvivek, Sun, 2005-09-11 12:15A paper by Hans Boehm demonstrates why vicarious multithreading, through library implementations (such as Pthreads), in languages like C and C++ can never be 100% correct. TSync, A Google Summer of Code Inventionvivek, Sun, 2005-09-04 10:15James Anderson, a graduate student of University of California (San Diego), has come up with a solution for managing multiple upto-date copies of files across a network of computers and other devices including PDAs, Laptops etc, without manual user intervention. He calls his invention 'Transparent Synchronization' (Tsync). Released under an opensource license (GPL), and currently in its beta state, Tsync is a Google SoC project. Tsync is a user-level daemon that provides transparent synchronization for one or more data volumes (directory trees) amongst a set of computers. Tsync uses a peer-to-peer architecture for scalability, efficiency, and robustness, which ensures that each node remains connected with all other connected nodes. The overlay network also provides a scalable means by which a Tsync node can learn about other hosts, besides the bootstrap host with which it was configured. Tsync uses strong authentication and encryption: hosts authenticate each other using the OpenSSH RSA-key authentication mechanism, and all data is encrypted using the symmetric key cryptography. James Anderson is one among the elite group of 13 exceptions out of 400 students who were invited to work with Google as the sponsoring agency. Introduction to the Xen Virtual Machinevivek, Fri, 2005-09-02 18:57Xen is the new kid in the virtualization arena, receiving well deserved attention from the industry and the academia, with some really big players betting on it. Xen is an open source virtual machine monitor, or hypervisor, developed by the University of Cambridge. It has a design goal of being able to run 100 full featured OS instances on a single typical computer. Xen provides secure isolation, resource control, quality of service guarantees, and live migration of virtual machines. Linux Journal is featuring an introductory article on Xen and its design. A nice, moderately technical read: Introduction to the Xen Virtual Machine Swarm Intelligence - Presentation Slidesvivek, Fri, 2005-09-02 01:16Nandagopal presented a small seminar on Swarm Intelligence at my college a few days back. A technique in Artificial Intelligence (his research interest), Swarm Intelligence is based around the study of collective behaviour in decentralised, self-organised, systems. I have attached the presentation slides to this post. Enjoy! Mobile Mesh Networkingvivek, Thu, 2005-09-01 23:36A Wireless LAN (WLAN) is a Wireless Local Area Network that uses radio waves as its carrier. The backbone network is usually wired and provides one or more wireless access points connecting the wireless devices to the wired network. So, communication distance is often constrained by the availability and location of access points. A Wireless Mesh Network on the other hand relies on all the nodes in the network to facilitate communication, thus extending the transmission distance upto the farthest node, where each node has atleast one reachable neighboring node that is closer to the base station. Since each node acts like a repeater in mesh networks, the more the number of nodes, the more the bandwith and the stronger the signal that reaches the access point. If you are looking for a definition of a Mesh Network - A mesh network is a network that employs one of two connection arrangements, full mesh topology or partial mesh topology. In the full mesh topology, each node is connected directly to each of the others. In the partial mesh topology, nodes are connected to only some, not all, of the other nodes.
Last week, PacketHop released its TrueMesh mobile mesh networking software and a suite of multimedia applications that provide instant wireless group communication. According to InformationWeek - The concept could be especially useful for law-enforcements agencies that need to set up a network around an incident scene. They can use the suite of multimedia applications to instant message each other, send photos of suspects, whiteboard on the photos, and stream video if they have cameras connected to their mobile devices. Additionally, they can locate and track different law-enforcement units that are part of the network on electronic maps.An Instant and Mobile Wireless Mesh Network (Roland Piquepaille's Technology Trends) |
TopicsRecent blog posts
|