Monday, June 23, 2008

E-mail spoofing

E-mail spoofing is a term used to describe fraudulent email activity in which the sender address and other parts of the email header are altered to appear as though the email originated from a different source. E-mail spoofing is a technique commonly used for spam e-mail and phishing to hide the origin of an e-mail message. By changing certain properties of the e-mail, such as the From, Return-Path and Reply-To fields (which can be found in the message header), ill-intentioned users can make the e-mail appear to be from someone other than the actual sender. It is often associated with website spoofing which mimics an actual, well-known website but are run by another party either with fraudulent intentions or as a means of criticism of the organization's activities. The result is that, although the e-mail appears to come from the email indicated in the "From" field (found in the email headers) it actually comes from another e-mail address, probably the same one indicated in the "Reply To" field; if the initial e-mail is replied to, the delivery will be sent to the "Reply To" e-mail, that is, to the spammer's email.

Monday, June 16, 2008

Difficulties with e-mail forwarding


There are some additional details when an e-mail forwarder is involved. Forwarders perform a useful service in allowing you to have one simple permanent address, even if you change jobs or ISPs. List servers perform a similar function, forwarding e-mail to many receivers on behalf of one sender. Forwarders pose no problem for an end-to-end authentication method like DKIM and DomainKeys, as long as the signed message is not modified (some lists do this).

CSV limits its focus to one-hop authentications. SPF and SenderID have in essence the same limitation, they don't work directly behind the "border" ( MX ) of the receiver. For SPF forwarders to third parties could rewrite the Return-Path (MAIL FROM) in a similar way like mailing lists. This approach emulates the SMTP behaviour before RFC 1123 deprecated source routes; for a technical explanation see SRS.

For SenderID, forwarders to third parties and mailing lists are asked to add a Sender: or Resent-Sender: header. For many mailing lists, the former is already the case, but other forwarders avoid any modifications of the mail in addition to the mandatory Received-timestamp line.


Use of a forwarder prevents the receiver from directly seeing the sender's IP address. The incoming IP packets have only the forwarder's IP address. Two solutions are possible if one can trust all forwarders. Either one trusts the forwarder to authenticate the sender, or one trusts the forwarder to at least accurately record the incoming IP address and pass it on, so one can do their own authentication.

The situation gets complicated when there is more than one forwarder. A sender can explicitly authorize a forwarder to send on its behalf, in effect extending its boundary to the public Internet. A receiver can trust a forwarder that it pays to handle e-mail, in effect designating a new receiver. There may be additional "MTA relays" in the middle, however. These are sometimes used for administrative control, traffic aggregation, and routing control. All it takes is one broken link in the chain-of-trust from sender to receiver, and it is no longer possible to authenticate the sender.

Forwarders have one other responsibility, and that is to route Bounce messages (a.k.a. DSNs) in case the forwarding fails (or if it is requested anyway). E-mail forwarding is different from remailing when it comes to which address should receive DSNs. Spam bounces should not be sent to any address that may be forged. These bounces may go back by the same path they came, if that path has been authenticated.

Wednesday, June 11, 2008

Concurrent Versions System

In the field of software development, the Concurrent Versions System (CVS), also known as the Concurrent Versioning System, provides a version control system based on open-source code. Version control system software keeps track of all work and all changes in a set of files, and allows several developers (potentially widely separated in space and/or time) to collaborate. Dick Grune developed CVS in the 1980s. CVS has become popular in the open source software world and is released under the GNU General Public License.

Monday, June 02, 2008

Robot software

Robot software is the coded commands that tell a mechanical device (known as a robot) what tasks to perform and control its actions. Robot software is used to perform tasks and automate tasks to be performed. Programming robots is a non-trivial task. Many software systems and frameworks have been proposed to make programming robots easier.

Some robot software aims at developing intelligent mechanical devices. Though common in science fiction stories, such programs are yet to become common-place in reality and much development is yet required in the field of artificial intelligence before they even begin to approach the science fiction possibilities. Pre-programmed hardware may include feedback loops such that it can interact with its environment, but does not display actual intelligence.

Currently, malicious programming of robots is of some concern, particularly in large industrial robots. The power and size of industrial robots mean they are capable of inflicting severe injury if programmed incorrectly or used in an unsafe manner. One such incident occurred on 21 July 1984 when a man was crushed to death by an industrial robot. That incident was an accident, but shows the potential risks of working with robots. In science fiction, the Three Laws of Robotics were developed for robots to obey and avoid malicious actions.

Tuesday, May 27, 2008

Ecological Systems Theory

Ecological Systems Theory, also called "Development in Context" or "Human Ecology" theory, specifies four types of nested environmental systems, with bi-directional influences within and between the systems. The theory was developed by Urie Bronfenbrenner, generally regarded as one of the world's leading scholars in the field of developmental psychology. Later a fifth system was added:

* Microsystem: Immediate environments (family, school, peer group, neighborhood, and childcare environments)
* Mesosystem: A system comprised of connections between immediate environments (i.e., a child’s home and school)
* Exosystem: External environmental settings which only indirectly affect development (such as parent's workplace)
* Macrosystem: The larger cultural context (Eastern vs. Western culture, national economy, political culture, subculture)
* Chronosystem: The patterning of environmental events and transitions over the course of life.

The person's own biology may be considered part of the microsystem; thus the theory has recently sometimes been called "Bio-Ecological Systems Theory." Each system contains roles, norms, and rules that can powerfully shape development.

Monday, May 19, 2008

Evolutionary robotics

Evolutionary Robotics (ER) is a methodology that uses evolutionary computation to develop controllers for autonomous robots. Algorithms in ER frequently operate on populations of candidate controllers, initially selected from some distribution. This population is then repeatedly modified according to a fitness function. In the case of genetic algorithms (or "GAs"), a common method in evolutionary computation, the population of candidate controllers is repeatedly grown according to crossover, mutation and other GA operators and then culled according to the fitness function. The candidate controllers used in ER applications may be drawn from some subset of the set of artificial neural networks, although some applications (including SAMUEL, developed at the Naval Center for Applied Research in Artificial Intelligence) use collections of "IF THEN ELSE" rules as the constituent parts of an individual controller. It is theoretically possible to use any set of symbolic formulations of a control laws (sometimes called a policies in the machine learning community) as the space of possible candidate controllers. It is worth noting that artificial neural networks can also be used for robot learning outside of the context of evolutionary robotics. In particular, other forms of reinforcement learning can be used for learning robot controllers.

Monday, May 12, 2008

Software Innovation

Software Innovation can be understood in (at least) two ways:

1. Software Product Innovation - the creation of novel and useful software programs.

2. Software Process Innovation - the introduction of novel and useful ways of developing software.

Innovation should be distinguished from invention, and from creativity . Both are relevant to software innovation, but whereas creativity is the state of mind which leads to innovative thinking, and invention could describe a new algorithm or program (or software development technique), innovation implies that the creative act and invention are carried into wider use, leading to substantial kinds of change; thus the successful exploitation of new ideas. Software innovation therefore = invention + exploitation + diffusion , where invention refers to the creative act or process, exploitation refers to its enactment in practice, and diffusion of innovations refers to its adoption by a wider audience. Software innovation may refer to both radical (disruptive, discontinuous) and incremental changes to software products and processes. Typical the result of software innovation is experienced as change – in the way people work, business is carried out, in people’s choice of entertainment, in the way they choose to communicate, or in how they govern their communities and interact with each other.

Tuesday, May 06, 2008

Cost overrun

Cost overrun is defined as excess of actual cost over budget. Cost overrun is also sometimes called "cost escalation," "cost increase," or "budget overrun." However, cost escalation and increases do not necessarily result in cost overruns if cost escalation is included in the budget.

Cost overrun is common in infrastructure, building, and technology projects. One of the most comprehensive studies of cost overrun that exists found that 9 out of 10 projects had overrun, overruns of 50 to 100 percent were common, overrun was found in each of 20 nations and five continents covered by the study, and overrun had been constant for the 70 years for which data were available. For IT projects, an industry study by the Standish Group (2004) found that average cost overrun was 43 percent, 71 percent of projects were over budget, over time, and under scope, and total waste was estimated at US$55 billion per year in the US alone.

Monday, April 28, 2008

Piri Reis map

The Piri Reis map ("Piri" pronounced /piɹi/) is a famous pre-modern world map created by 16th century Ottoman-Turkish admiral and cartographer Piri Reis. The map shows part of the western coasts of Europe and North Africa with reasonable accuracy, and the coast of Brazil is also easily recognizable. Various Atlantic islands including the Azores and Canary Islands are depicted, as is the mythical island of Antillia. The map is noteworthy for its depiction of a southern landmass that some controversially claim is evidence for early awareness of the existence of Antarctica.

Monday, April 21, 2008

Marine Cargo Types

There is a wide range of marine cargoes at seaport terminals operated. The primary types are these:

* Containers are the largest and fastest growing cargo category at most ports worldwide. Containerized cargo includes everything from auto parts and machinery components to shoes, toys, and frozen meat and seafood.

* Automobiles are handled at many ports.

* Project cargo and heavy lift cargo may include items such as manufacturing equipment, factory components, power equipment such as generators and wind turbines, military equipment or almost any other oversized or overweight cargo too big or too heavy to fit into a container.

* Break bulk cargo is typically material stacked on wooden pallets and lifted into and out of the hold of a vessel by cranes on the dock or aboard the ship itself. The volume of break bulk cargo has declined dramatically worldwide as containerization has grown.

* Bulk Cargoes, such as salt, oil, tallow, and Scrap metal, are usually defined as commodities that are neither on pallets nor in containers, and which are not handled as individual pieces, the way heavy-lift and project cargoes are. Alumina, grain, gypsum, logs and wood chips, for instance, are bulk cargoes.

Monday, April 14, 2008

Logical schema

A Logical Schema is a data model of a specific problem domain that is in terms of a particular data management technology. Without being specific to a particular database management product, it is in terms of either (for example, in 2007) relational tables and columns, object-oriented classes, or XML tags. This is as opposed to a conceptual data model, which describes the semantics of an organization without reference to technology, or a physical data model, which describes the particular physical mechanisms used to capture data in a storage medium.

Monday, April 07, 2008

Apache Derby

Apache Derby relational database management system that can be embedded in Java programs and used for online transaction processing. It has a 2 MB disk-space footprint. Apache Derby is developed as an open source project under the Apache 2.0 licence. Derby was previously distributed as IBM Cloudscape and Sun Java DB.

Friday, April 04, 2008

Relational model

The relational model for database management is a database model based on predicate logic and set theory. It was first formulated and proposed in 1969 by Edgar Codd with aims that included avoiding, without loss of completeness, the need to write computer programs to express database queries and enforce database integrity constraints. "Relation" is a mathematical term for "table", and thus "relational" roughly means "based on tables". It did not originally refer to the links or "keys" between tables, contrary to popular interpretation of the name.

Monday, March 24, 2008

CrushFTP

CrushFTP is a FTP server that supports the following protocols: FTP, FTPS, SFTP, HTTP, HTTPS, WebDAV and WebDAV SSL. Additionally, although not a protocol, it has a web interface for end users to manage their files from a web browser. CrushFTP uses a GUI for administration, but also installs as a daemon on Mac OS X, Linux, Unix, and as a service in Windows. It supports multihoming, hot configuration changes, and has a GUI based user and group manager. The plugin architecture in CrushFTP allows for plugins to read users from SQL, LDAP, Active Directory, folders, and NetInfo. All settings are stored in XML files that can be edited directly, or with the CrushFTP GUI. If edited directly, CrushFTP will notice the modification date change and load the settings immediately without needing a server restart.

Monday, March 17, 2008

Software development process

A software development process is a structure imposed on the development of a software product. Synonyms include software life cycle and software process. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.

A growing body of software development organizations implement process methodologies. Many of them are in the defense industry, which in the U.S. requires a rating based on 'process models' to obtain contracts. The international standard for describing the method of selecting, implementing and monitoring the life cycle for software is ISO 12207.

Sunday, March 09, 2008

Building-integrated photovoltaics (BIPV)

Building-integrated photovoltaics (BIPV) are photovoltaic materials that are used to replace conventional building materials in parts of the building envelope such as the roof, skylights, or facades. They are increasingly being incorporated into the construction of new buildings as a principal or ancillary source of electrical power, although existing buildings may be retrofitted with BIPV modules as well. The advantage of integrated photovoltaics over more common non-integrated systems is that the initial cost can be offset by reducing the amount spent on building materials and labor that would normally be used to construct the part of the building that the BIPV modules replace.

Tuesday, March 04, 2008

Toxicity of Metabolites

Many substances regarded as poisons are toxic only indirectly. An example is "wood alcohol," or methanol, which is chemically converted to formaldehyde and formic acid in the liver. It is the formaldehyde and formic acid that cause the toxic effects of methanol exposure. Many drug molecules are made toxic in the liver, a good example being acetaminophen (paracetamol), especially in the presence of alcohol. The genetic variability of certain liver enzymes makes the toxicity of many compounds differ between one individual and the next. Because demands placed on one liver enzyme can induce activity in another, many molecules become toxic only in combination with others.

Wednesday, February 27, 2008

Transreflective liquid crystal display

A transreflective liquid crystal display is a liquid crystal display (LCD) that reflects most of the sunlight it is exposed to, and automatically increases or decreases the light emanating from the screen depending on how much light shines on it. Therefore, it reduces the need for manual light adjustment of the screen.

Transreflective liquid crystal displays use a retroreflector to transmit light when external sources of light are available, such as the sun or a lamp, and illuminate the screen well. When these sources are available but do not illuminate well, the display transmits its own light from a backlight at the rear of the display.

Friday, February 22, 2008

Materials intelligence and Air Sampling

Nuclear tests, including underground tests that vent into the atmosphere, produce fallout that not only indicates that a nuclear event has taken place, but, through radiochemical analysis of radionuclides in the fallout, characterize the technology and source of the device. For example, a pure fission device will have different fallout products from a boosted fission device, which, in turn, differ from various types of thermonuclear devices.

One real-world example is a review of how xenon by-product levels could be used to distinguish if air sampling from a North Korean test, either atmospheric testing or leakage from an underground test, could be used to determine if the bomb was nuclear, and, if so, whether the Primary was plutonium or highly-enriched uranium (HEU)

Sunday, February 17, 2008

Integral action

The integral term magnifies the effect of long-term steady-state errors, applying ever-increasing effort until they reduce to zero. In the example of the furnace above working at various temperatures, if the heat being applied does not bring the furnace up to setpoint, for whatever reason, integral action increasingly moves the proportional band relative to the setpoint until the time-integral of the MV error is reduced to zero and the setpoint is achieved.