12 Ocak 2008 Cumartesi

deus ex machina

deus ex machina



The phrase deus ex machina (literally "god out of a machine") describes an artificial, or improbable character, device, or event introduced suddenly in a work of fiction or drama to resolve a situation or untangle a plot (e.g. an angel suddenly appearing to solve problems).

Linguistic considerations

The Latin phrase "deus ex machina" has its origins in the conventions of Greek tragedy. It refers to situations in which a mechane (crane) was used to lower actors playing a god or gods onto the stage. Though the phrase is accurately translated as "God from a machine," in literary criticism, it is often translated to "God on a machine." The machine referred to in the phrase is the crane employed in the task. It is a calque from the Greek 'από μηχανής θεός' ápo mēchanēs theós.

The Greek tragedian Euripides is notorious for using this plot device as a means to resolve a hopeless situation. For example, in Euripides' play Alcestis, the eponymous heroine agrees to give up her own life to Death in exchange for sparing the life of her husband, Admetus. In doing so, however, she imposes upon him a series of extreme promises. Admetus is torn between choosing death or choosing to obey these unreasonable restrictions. In the end, though, Heracles shows up and seizes Alcestis from Death, restoring her to life and freeing Admetus from the promises. The first person known to have criticized the device was Aristotle in his Poetics, where he argued that the resolution of a plot must arise internally, following from previous action of the play.

9 Ocak 2008 Çarşamba

Stephen R. Bourne



Stephen Bourne

Steve Bourne is a computer scientist, most famous as the author of the Bourne shell (sh), which is the foundation for the standard command line interfaces to Unix.

Bourne has a Bachelor's degree in mathematics from King's College London. He has a Diploma in Computer Science and a Ph.D. in mathematics from Trinity College, Cambridge. Subsequently he worked on an ALGOL 68 compiler at the Cambridge University Computer Laboratory.

After Cambridge, Bourne spent nine years at Bell Labs with the Seventh Edition Unix team. As well as the Bourne shell, he wrote the adb debugger and The UNIX System, the second book on the UNIX system, intended for a general readership.

After Bell Labs, Bourne worked in senior engineering management positions at Silicon Graphics, Digital Equipment Corporation, Sun Microsystems and Cisco Systems. He is presently chief technology officer at El Dorado Ventures, a Menlo Park-based venture capital group in California. He is also the chair of the Editorial Advisory Board for ACM Queue, a magazine he helped found when he was President of the Association for Computing Machinery. Additionally, he is a Fellow of the Association for Computing Machinery and of the Royal Astronomical Society.

ASUS Eee PC




Asus EeePC

The ASUS Eee PC is a 'sub-notebook' designed by ASUS and Intel. ASUS describes the name Eee as deriving from "the three Es"; an abbreviation of their advertising slogan for the device: "Easy to learn, Easy to work, Easy to play".


Display: 7 in (17.8 cm) 800×480 TFT LCD with LED backlight
Graphics: Integrated Intel GMA 900 graphics processor (Shared Memory Architecture), additional VGA port (up to 1600×1280 pixels)
Storage: 2 GB Solid state drive (SSD) flash, 4 GB SSD, 8 GB SSD
Processor: 900 MHz Intel Celeron-M ULV 353 which has 512 kB L2 cache RAM, @ 630 MHz (70 MHz x 9) cooled by a fan
Memory: 512 MB DDR2-400 RAM, 512 MB DDR2-667, 1 GB RAM DDR2-667
Camera: 0.3 megapixel; up to 640×480, up to 30 fps

8 Ocak 2008 Salı

Operation: Bot Roast

Operation: Bot Roast is an operation by the FBI to track down bot herders or hackers who install malicious software on computers through the Internet without the owners’ knowledge, which turns the computer into a zombie computer that then sends out spam to other computers from the compromised zombie computer, making a botnet or network of bot infected computers. The operation was launched because the vast size of the botnet poses a threat to national security.

Abilities of bot herders

* Steal the computer owner’s identity.
* Launch massive spam campaigns.
* Engage in click-fraud - schemes which artificially inflate the number of visitors to a website.
* Launch denial of service attacks that can cripple web servers and crash sites.

The operation was created to disrupt and disassemble bot herders. The FBI has identified about 1 million computers that were compromised, and to arrest the persons responsible for creating the malware, and notify the owners of infected computers.

Some early results of the operation include the charging:

* Robert Alan Soloway of Seattle, Washington, is accused of using botnets to send tens of millions of spam messages touting his website.
* James C. Brewer of Arlington, Texas, is accused of infecting tens of thousands of computers worldwide, including some at Chicago-area hospitals.
* Jason Michael Downey of Covington, Kentucky, is charged with using botnets to disable other systems.

7 Ocak 2008 Pazartesi

HMAC



RFC 2104 HMAC: Keyed-Hashing for Message Authentication

HMAC Algorithm in Detail

In cryptography, a keyed-Hash Message Authentication Code, or HMAC, is a type of message authentication code (MAC) calculated using a specific algorithm involving a cryptographic hash function in combination with a secret key. As with any MAC, it may be used to simultaneously verify both the data integrity and the authenticity of a message. Any iterative cryptographic hash function, such as MD5 or SHA-1, may be used in the calculation of an HMAC; the resulting MAC algorithm is termed HMAC-MD5 or HMAC-SHA-1 accordingly. The cryptographic strength of the HMAC depends upon the cryptographic strength of the underlying hash function, on the size and quality of the key and the size of the hash output length in bits.

An iterative hash function breaks up a message into blocks of a fixed size and iterates over them with a compression function. For example, MD5 and SHA-1 operate on 512-bit blocks. The size of the output of HMAC is the same as that of the underlying hash function (128 or 160 bits in the case of MD5 and SHA-1), although it can be truncated if desired. Truncating the hash image reduces the security of the MAC which is upper bound by the birthday attack.


where h is a cryptographic hash function, K is a secret key padded with extra zeros to the block size of the hash function, m is the message to be authenticated, ∥ denotes concatenation, ⊕ denotes exclusive or (XOR), and the outer padding opad = 0x5c5c5c...5c5c and inner padding ipad = 0x363636...3636 are two one-block–long hexadecimal constants.


The construction and analysis of HMACs was first published in 1996 by Mihir Bellare, Ran Canetti, and Hugo Krawczyk, who also wrote RFC 2104. FIPS PUB 198 generalizes and standardizes the use of HMACs. HMAC-SHA-1 and HMAC-MD5 are used within the IPsec and TLS protocols.


The following pseudocode demonstrates how HMAC may be implemented.

function hmac (key, message)
opad = [0x5c * blocksize] // Where blocksize is that of the underlying hash function
ipad = [0x36 * blocksize]

if (length(key) < blocksize) then
key = key || [0x00 * (blocksize - length(key))] // Pad the key if shorter than blocksize
end if

for i from 0 to length(key) - 1 step 1
ipad[i] = ipad[i] XOR key[i]
opad[i] = opad[i] XOR key[i]
end for

return hash(opad || hash(ipad || message)) // Where || is concatenation
end function


Denial of Service

DoS


Understanding Denial-of-Service Attacks

ddos.org

RFC 4732 Internet Denial-of-Service Considerations

A denial-of-service attack (DoS attack) or distributed denial-of-service attack (DDoS attack) is an attempt to make a computer resource unavailable to its intended users. Although the means to, motives for and targets of a DoS attack may vary, it generally comprises the concerted, malevolent efforts of a person or persons to prevent an Internet site or service from functioning efficiently or at all, temporarily or indefinitely.

One common method of attack involves saturating the target (victim) machine with external communications requests, such that it cannot respond to legitimate traffic, or responds so slowly as to be rendered effectively unavailable. In general terms, DoS attacks are implemented by:

* forcing the targeted computer(s) to reset, or consume its resources such that it can no longer provide its intended service; and/or,
* obstructing the communication media between the intended users and the victim so that they can no longer communicate adequately.

Denial-of-service attacks are considered violations of the IAB's Internet proper use policy. They also commonly constitute violations of the laws of individual nations.


2 Ocak 2008 Çarşamba

exFAT

#define OEM_FLASH_PARAMETER_GUID 0A0C7E46-3399-4021-90C8-FA6D389C4BA2

msdn exFAT

msdn TFAT Overview

Extended file allocation table (exFAT) is a new file system that is better adapted to the growing needs of mobile personal storage. The exFAT file system not only handles large files, such as those used for media storage, it enables seamless interoperability between desktop PCs and devices such as portable media devices so that files can easily be copied between desktop and device. In addition, exFAT can be adopted with minimal effort. The exFAT file system encapsulates standard FAT and TFAT functionality.

# Enables the file system to handle growing capacities in media, increasing capacity to 32 GB and larger.
# Handles more than 1000 files in a single directory.
# Speeds up storage allocation processes.
# Removes the previous file size limit of 4 GB.
# Supports interoperability with future desktop OSs.
# Provides an extensible format, including OEM-definable parameters to customize the file system for specific device characteristics.

struct
{
GUID OemParameterType; //Value is OEM_FLASH_PARAMETER_GUID
UINT32 EraseBlockSize; //Erase block size in bytes
UINT32 PageSize;
UINT32 NumberOfSpareBlocks;
UINT32 tRandomAccess; //Random Access Time in nanoseconds
UINT32 tProgram; //Program time in nanoseconds
UINT32 tReadCycle; // Serial read cycle time in nanoseconds
UINT32 tWriteCycle; // Write Cycle time in nanoseconds
UCHAR Reserved[4];
}
FlashParameters;