text:
MIDAS Ultrasound v4.0 Demo
- 1 Overview
- 2 Source Code Hosting (GForge Project Portal)
- 3 Software Implementation
- 3.1 Multicore DSP (Mid End)
- 3.2 System-on-Chip (Back End)
- 4 Get Ultrasound v4.0
- 4.1 Requirements
- 4.2 Using Prebuilt Executables
- 4.3 Build from Source
- 4.4 Setup and Run the Demo
- 5 Known Issues
- 6 Previous Versions of MIDAS
- 7 Useful References
- 8 Support and Questions
- 9 Disclaimer
The MIDAS Ultrasound v4.0 demo showcases an example system level implementation of midend and backend ultrasound signal processing on Texas Instruments (TI) multicore devices. It is important to note here that though the demo integrates signal processing algorithms specific to ultrasound, it can be used as a reference for any application that requires partitioning and stringing together algorithm/codecs across multiple cores.
This version of the demo, leverages the homogenous C6678 eight-core Multicore DSP, and the heterogenous OMAP3530 ARM+DSP System-on-Chip. The TI C6678 Low-cost EVM is interfaced via an ethernet-to-ethernet connection to the TI OMAP3530 Mistral EVM. Though this demo is developed and run on these devices, a lot of the code implementation can be used a reference to port to other TI Multicore offerings.
The C6678 is the industry's highest performing multicore DSP in production today, featuring eight 1.25-GHz C66x DSP cores and delivering 160 single-precision GFLOPS and 60
double-precision GFLOPS in just 10W. The OMAP3530 consists of a 720MHz ARM Cortex A-8 general processor and a 520MHz C64x+ DSP core, which together provide a power-efficient solution to handle both system controller and back-end processing functions in diagnostic ultrasound imaging systems.
The figure below showcases the function of the cores on the C6678 and the OMAP3530. As shown in the diagram, the B-mode Processing Unit (BPU) includes envelope detection and log compression, and the Doppler Processing Unit (DPU) which includes ensemble aggregation, wall filter and flow estimation, are implemented on separate cores on the C6678 device. The Scan Conversion Unit (SCU) is implemented on the OMAP's C64x+ DSP core. All the algorithm kernels implemented in this system are from TI's Embedded Processor Software Toolkit for Medical Imaging, which includes both the source code and detailed documentation for these algorithm modules. In addition, the demo showcases the use of TI's DMAI APIs on ARM as well as the use of Qt and tslib to create a touchscreen-based Graphical User Interface (GUI) on the SoC that allows users to interact with the ARM and DSP in real-time.
The sample raw data used in the demo is from a scan of a Carotid Artery, consisting of 69 frames of post-RF-demodulated data. Each frame worth of input data includes 256 scanlines, 512 samples/scanline of B-mode, and 48 scanlines, 256 samples/scanline, 10 ensembles of doppler (color flow) data. This input data is initially stored on the NFS/SDcard on OMAP3530. During initialization, all 69 frames worth of input data is sent to the C6678 which stores this in DDR. When processing starts, the input data is fed in at a set acquisition interval rate (set at 20 fps in this demo but can be customized), which is then processed through the BPU, DPU (on C6678) and SCU (on OMAP3530's DSP) modules as shown above, and the final scan-converted image is displayed via OMAP3530's DVI output onto an external 7-inch LCD screen.
This wiki document covers various aspects of the demo, including a discussion on the software design as well as step-by-step instructions to obtain the source code, and setup your development environment to build and run the demo.
Source Code Hosting (GForge Project Portal)
MIDAS source code is hosted on TI's GForge project portal.
The MIDAS project page is located at https://gforge.ti.com/gf/project/med_ultrasound/
Software Implementation
This section discusses the software implementation for Ultrasound v4.0 and showcases how TI's software components including the Multicore Software Development Kit (MCSDK), Software Development Kit for OMAP3530 (DVSDK), Codec Engine (CE), Digital Media Application Interface (DMAI) and iUniversal APIs can be leveraged by developers to create applications for homogeneous and heterogeneous multicore systems like the C6678 and OMAP3530 respectively.
Both the SoC and Multicore DSP software implementations leverage TI's Codec Engine (CE), a standard software architecture and interface for algorithm execution. CE eases multicore programming and more specifically in the case of an SoC like the OMAP3530, it abstracts the DSP for GPP (ARM) programmers. CE is based on a client-server architecture: for the SoC implementation, the ARM acts as the client, and the DSP as the server (consisting of single/multiple algorithms), while for the multicore DSP, one DSP acts as the client (master core). CE allows easy algorithm plug-in, where DSP developers supply XDAIS-compliant algorithms, and GPP (ARM) developers integrate these DSP algorithms and make remote procedure calls from their ARM applications. Interprocessor communication and DSP resources (like DMA, memory) are managed by CE under the hood, and no manual coding of IPC is required.
TI's SYS/BIOS 6.x is a highly configurable, real-time operating system that caters to a variety of embedded processors and is included as part of TI's Code Composer Studio integrated development environment. SYS/BIOS provides some key features that enable easy memory management, preemptive multitasking and real-time analysis. Based on the application's requirements, developers can optimize their final runtime image by including/excluding specific SYS/BIOS modules.
The Multicore Software Development Kit (MCSDK) includes key components that ease multicore development including the chip support library, low level drivers, platform software (PDK), Network Developer's Kit (NDK), etc. The Codec Engine, which we describe in more detail later provides a framework and APIs to easily plug-and-play algorithms, and handle Inter-Processor Communication (IPC) under the hood.
The figure below showcases the TI software components available for development on the System-on-Chip, that the software application on OMAP3530 leverages:
Multicore DSP (Mid End)
The software application that runs on C6678 is based on a Master/Slave model, where Core 0 acts as the centralized controlling core aka the Master core, and Core 1 and Core 2 act as the Slave cores. Note that though in this demo we utilize only three cores since they are enough to demonstrate our use-case, it is ofcourse feasible to use the same programming model to extend the application to utilize all eight cores. The processing modules are statically assigned to Core 1 (BPU) and Core 2 (DPU) and Core 0, which serves as the master, takes care of synchronization and sets up the buffer pointers. Note however that even though distribution is done statically, the assignment of algorithms to cores is done outside of the main application. This allows easy reconfiguration and at the application sotware level, the developer can be agnostic to which core is running which algorithm.
Functional Overview
The software application on C6678's Core 0 is designed to integrate the following functional blocks: Front End Interface, Mid End Controller, Mid End Processing and Back End Interface.
Mid End Controller
As the name suggests, the Mid End Controller is responsible for initializing and initiating the other blocks. Commands received from the OMAP3530 are also interpreted here.
Front End Interface
The Front End Interface serves two primary functions: it provides periodic events that mark the availability of incoming input data and it provides functions to access this data that has arrived. Since this version of the demo, Ultrasound v4.0 showcases processing blocks post IQ demodulation, and has no front-end implementation, it becomes necessary to mimic the function of the ultrasound front-end as in a real system, where input frames would be continuously received at a set acquisition frame rate. The Front End Interface serves this role, where in it fires an INPUT_RDY event every (1/acquisition rate) seconds. The clock ticks are derived from the SYS/BIOS Timer module. Note here that though in this design we use a frame-based processing model, where the frame boundary defines the input block size, it is also possible to have partial frames as input boundaries.
Mid End Processing
The Mid End Processing function block is pending on the INPUT_RDY event from theFront End Interface and as soon as a new frame is "received," it initiates processing on that input block.Mid End Processing acts as the Client in the Codec Engine (CE) framework and uses the iUniversal interface to call upon Algorithm Servers that correspond to various functions within the ultrasound midend processing signal chain. In this implementation, there are two algorithm servers implemented, one for each core (Core 1 and Core 2).
Let us now look at the primary execution threads that define the data flow through the Mid End Processing block. The figure below shows four primary tasks that utilize theMessageQ IPC module for message passing. The messages provide pointers to the data and trigger the execution of tasks in the receiving functions. The actual message buffer is setup in shared memory that both the message sender and the message receiver can access. In this case, the MidEnd_scatterTask() pends on a new input frame. When data becomes available, the MidEnd_scatterTask() allocates memory for the message from heap, and assigns the message pointer to the B-mode input data. It similarly allocates memory for a message that points to the Color flow input data. Using the MessageQ_put blocking call, the MidEnd_scatterTask() passes the input data pointers for B-mode and Color to the BPUcluster_task() andDPUcluster_task(). The BPUcluster_task and DPUcluster_Task use the corresponding MessageQ_get calls to pend on the incoming B-mode and Color data frames. Once a new frame is received, these tasks call the UNIVERSAL_process API provided by the iUniversal interface, to invoke the BPU and DPU processing algorithms on Core 1 and Core 2 respectively. Once the B-mode and Color data are processed, the BPUcluster_task() and DPUcluster_task() use the MessageQ_put API to pass the output data pointers to the MidEnd_gatherTask(). The MidEnd_gatherTask() ensures that data atomicity is maintained, so that the B-mode and Color data that corresponds to a particular frame always stays together.
Note that the control tasks that involve data scattering and gathering, viz. MidEnd_scatterTask() and MidEnd_gatherTask() are running on Core 0, the Master core, and the processing tasks, viz. BPUcluster_task() and DPUcluster_task() are running on Core 1 and Core 2, respectively. It is important to note here that the IPC between cores is handled under the hood via CE and by using MessageQ, the developer is agnostic to this fact and can simply call the MessageQ APIs for passing data pointers between cores.
Back End Interface
Once the output B-mode and Color data is ready for scan conversion, it is time to pass the data to the OMAP3530 that handles the backend processing and display. The Mid End application's Back End Interface block provides functions to communicate with the OMAP3530 back end. For this example implementation, we use the ethernet ports on both device EVMs to interface the two together. To implement the communication protocol in software, we use RDSP, an application written on top of the MCSDK's Network Development Kit (NDK), that allows easy passing of data and parameters between the C6678 and the OMAP3530.
CE Implementation Details
To better understand this, we delve into a brief discussion on CE. The CE framework is essentially a set of APIs used to instantiate and run XDAIS-compliant algorithms. XDAIS is an algorithm standard that DSP programmers should follow to ensure that their algorithms easily plug-and-play with other algorithms and can be called using CE APIs. CE requires two essential components to operate in tandem: a CE Client and a CE Algorithm Server. In this demo, the master core, Core 0, serves as the CE Client and uses CE APIs to make "remote procedure calls" to CE Algorithm Server executables that reside on DSP Core 1 and Core 2. Essentially, the CE Algorithm Server combines the core codec (BPU in the case of Core 1 and DPU for Core 2) along with the other infrastructure pieces (SYS/BIOS, IPC, etc) to produce an executable (.x64P) that is callable by Core 0, the CE Client. The application on Core 0 invokes the BPU and DPU remote algorithms on Core 1 and Core 2 using the iUniversal interface, which is a set of APIs used to provide an easy way for XDAIS-compliant, non-VISA (Video, Image, Speech, Audio) algorithms to run using CE
CE provides some unique features that significantly eases the multicore DSP software development process. One of the primary advantages is that CE eliminates the need for the developer to manually code any Inter-Processor Communication (IPC) details. Once the developer configures memory for IPC, CE takes care of the rest of IPC under the hood. This is illustrated later in this section with code snippets. CE also captures some key TI hardware features, where resource management for memory and EDMA are done via CE. CE also enables code reuse and faster time to market. For more information on CE lease click on the relevant links in the References section.
System-on-Chip (Back End)
This section discusses the software design for the System-on-Chip application and showcases how TI's SDK for OMAP3530 including the Codec Engine, DMAI and iUniversal APIs can be used to ease SoC software development. As previously mentioned, the SoC's role is to do backend processing and display, and provide mechanisms for data input/output.
The figure below summarizes the implementation.
As shown, OMAP3530's ARM receives data that has undergone B-mode estimation and Color Flow processing, from the C6678. OMAP3530's C64x+ DSP core runs the DSP/BIOS real-time operating system and runs the Scan Converter Unit (SCU) algorithm on this received data. The SCU converts both B-mode and Color Flow data from the acquired polar/cartesian co-ordinates to the display cartesian co-ordinates. Just like in the case of the Multicore DSP implementation, the algorithm module (SCU in this case) is packaged into a 'DSP Algorithm Server' that is managed by the Codec Engine and executed on the DSP core. On the ARM, the demo application uses Codec Engine APIs to make a remote procedure call to this 'Algorithm Server'.
The ARM core runs the Linux operating system, and all peripherals are controlled through Linux device drivers, which are part of the PSP. The ARM application resides on this Linux filesystem and uses a multithreaded framework to achieve data FIFO management.
Functional Overview
The ARM application consists of a main function, and four execution threads running in parallel viz. acquisition, process, control and display threads, which are configured as preemptive/ priority-based scheduled.
• The main function completes initialization and becomes the event handling loop
• The acquire thread (initiated as part of the RDSP application) reads the raw input ultrasound data (from C6678) into the SoC
• The process thread engages the C64x+ DSP for scan conversion
• The display thread transfers ultrasound image frames to the frame buffer of the FBDev display driver
Fixed-size buffers are exchanged between acquisition-process, and process-display threads for data movement. The thread where the data originates creates and maintains the set of data buffers, and FIFOs are used to put and get buffer pointers. In the following subsections we will delve into each of the threads discussed above. It might be useful to follow along with the source code as we discuss these elements.
The main function in main.cpp performs necessary initialization tasks, which include initiating a connection between 6678 and OMAP3530, sending the input files via TFTP from the SD card on OMAP3530 to 6678's DDR, sending configuration parameters for the algorithm modules (BPU, DPU) on C6678, initiating the acqusition, process, display and control threads and setting up the user interface. Once the main window is setup, this main thread becomes the event handling loop that makes function callbacks in response to touchscreen events. All trigger events (slots) and their associated callback functions (signals) are defined in mainwindow.cpp. The image() function is the most important signal in mainwindow.cpp and is triggered at the onset once data has been sent to 6678, and it is time to begin image processing.
The acquisition thread is responsible for receiving raw, pre-scan-converted ultrasound data from the C6678. The Mid End Interface consists of the MidEndIf_getBuffer and MidEndIf_putBuffer functions. The RDSP client application layer calls these functions in the acqusition thread it spawns. The MidEndIf_getBuffer allocates buffer space for the incoming data. All data buffers that are shared between the OMAP3530's ARM and DSP need to be allocated in physically contiguous blocks of memory, which is what the BufTab_create() API call helps achieve for these input buffers. The MidEndIf_putBuffer call pushes the buffer pointers into a FIFO Acq2ProcFifo. Once the Process thread finishes processing the input frame, it releases the used buffer, which the Acqusition thread can then reuse for the next input frame. Note that the Acqusition thread continues to receive data at the acquisition frame interval defined in the C6678 application's Front End Interface. This is to mimic how an actual ultrasound system works where the acquisition rate and the display rate are independent of each other.
The process thread function defined in UsProcess.c interacts with the C64x+ and engages the DSP to run the SCU processing algorithm module. Just like we saw with the acquire thread, since the output buffers will be shared between ARM and DSP, the process thread also allocates contiguous memory for these. When imaging starts, the UsProcess_thrFxn begins and starts receiving input buffers from the acquisition thread on the Acq2ProcFifo/2 FIFOs. It passes the input and output buffer pointers to the UsProcess_ScanConvertB and UsProcess_scanConvertColor calls for the B-mode and Color data respectively. Once scan conversion is complete, the process thread places the pointer to the final output buffer on the Proc2DispFifo. The UsProcess_scanConvertB and UsProcess_scanConvertColor functions invoke the DSP-side scan conversion method using the IUNIVERSAL UNIVERSAL_process() API which in turn invokes the corresponding functions on the DSP-side. When the process thread is fully primed it releases the display thread for it to start accepting buffers on the Proc2DispFifo. Once free running though, the thread continues to process input buffers as fast as it can and sends them to the Display thread.
The Display thread's function defined in UsDisplay.c transfers the final scan-converted ultrasound image frames that it receives on the Proc2DispFifo to the frame buffer of the FBDev display device driver. The Display_create() DMAI method opens the display device driver, and the Display thread uses a handle to this to copy output buffers to the driver. The Display thread uses the H/W resizer to copy the output buffer to the display device driver, instead of using a memcpy() to ensure execution efficiency. DMAI's Framecopy API is used to perform this buffer copy. The display refresh rate is set at 60 fps but incorporates logic that skips a frame if the frames are received from the process thread too fast, or repeats a frame if there is no new frame available from the process thread. Once the Display thread is triggered, the acquire, process and display threads continue to run in a loop. Since this is a demo with only a limited number of frames, the C6678 loops through the same input dataset which are continuoulsy processed and outputted in real time.
DSP Module Integration
In this section we outline some of the steps we took to integrate the BPU, DPU and SCU algorithm modules to plug-and-play with the Codec Engine (CE) using IUNIVERSAL. As CE Application Developers it is possible to use simple API calls to pass data and configuration parameters between the CE Client and CE Server cores.
The BPU, DPU and SCU modules, as provided in the Embedded Software Toolkit for Medical Imaging, are all XDAIS compliant. You can find many articles on this TI EP wiki that guide you through the process of making your codecs XDAIS compliant.
Since the steps for BPU, DPU and SCU modules are similar, we will focus on the SCU module to illustrate how IUNIVERSAL is setup in this scenario where the CE Client is the ARM core on OMAP3530 and the CE Server is the DSP core on the OMAP3530.
The application capitalizes on the IUNIVERSAL API's capability to make a remote procedure call from the ARM to the DSP algorithm, without the need to write any system software for the C64x+. To initiate the ARM-DSP communication, the ARM creates a Codec Engine instance with an Engine_open() call that resets, loads and starts the DSP Engine and returns a handle to the same. Using this handle hEng, the UNIVERSAL_create() API creates an SCU algorithm instance using parameters from the ISCU_Params structure that specify the size of memory to allocate on the DSP. It is important to note that the SCU header file at "midas/ultrasound/algos/scu/src/scu.h" is shared between the DSP and the ARM, which makes it possible for the two cores to share the same interpretation of SCU-specific structures and datatypes, even when both are compiled using different compilers. The UNIVERSAL_create() call returns a handle to the IUNIVERSAL algorithm instance hAlg as:
hAlg = UNIVERSAL_create(hEng, algName, (IUNIVERSAL_Params*)&ISCU_ALLOC_PARAMS);
Next, the ARM populates the SCU configuration structure,scuConfig_t, with parameter values from the user-provided configuration file/s, and with the tissue and flow color mapping lookup tables specified in "midas/ultrasound/userdata/LUTs". The SCU configuration structure is also defined in the SCU header file that ARM and DSP share. To send this configuration information to the DSP, the ARM passes a pointer to the scuConfig_t structure and the handle to the SCU algorithm instance hAlg, using the UNIVERSAL_control() API as shown in the code section below. UNIVERSAL_control() calls the corresponding SCU configuration function SCU_TI_control() on the DSP.
universalStatus.data.numBufs = 1; universalStatus.data.descs[0].bufSize = sizeof(scuConfig_t); universalStatus.data.descs[0].buf =(XDAS_Int8 *)(hUsProcess->pScuConfigB); status = UNIVERSAL_control(hUsProcess->hAlg, XDM_SETPARAMS, &universalDynParams, &universalStatus);
It is important to note here that any buffers that the ARM shares with the DSP, it allocates in contiguous memory. This is necessary because unlike the ARM, the DSP does not have a virtual memory manager and therefore assumes that the buffer is aligned to a 64-bit boundary and is contiguous. In this demo implementation, the allocated buffers reside in CMEM, a contiguous memory manager by TI. When the ARM allocates contiguous memory using the Memory_contigAlloc() or BufTab_create() DMAI API, a CMEM pool that fits the buffer size requested is reserved for this buffer. The number and total size of CMEM pools is defined in the 'loadmodules.sh' script (from /opt/midas/. on the target), which the ARM application runs during initialization. Since both ARM and DSP have access to this CMEM memory space, they only need to exchange buffer pointers.
Once the SCU algorithm instance on the DSP is configured with the parameters it requires, it is ready to begin scan conversion processing. The ARM uses the UNIVERSAL_process() API to call the DSP-side SCU_TI_process() function; based on the scan conversion mode in the configuration, the DSP runs the corresponding processing function. Again, all input and output buffer pointers that the ARM and DSP exchange point to buffers allocated in CMEM.
status = UNIVERSAL_process(hUsProcess->hAlg, &inpBufDesc, &outBufDesc, NULL, &inArgs, &outArgs);
Finally, when the application exits, the UNIVERSAL_delete() API deletes the SCU algorithm instance hAlg. This deallocates all the dynamic memory that was associated with the hAlg instance. The algorithm instance deletion is accompanied with an Engine_close() call which deletes the Codec Engine instance created for ARM-DSP interaction as:
UNIVERSAL_delete(hUsProcess->hAlg); Engine_close(hUsProcess->hEng);
To summarize, the CE and IUNIVERSAL APIs allow application developers to seamlessly plug in XDAIS-compliant algorithm modules into their ARM application. As illustrated in the previous section, the use of IUNIVERSAL and CE is similarly used on the C6678 to ease multicore programming.
Get Ultrasound v4.0
Both the prebuilt executables and the source code are available for MIDAS Ultrasound v4.0.
If you would like to just run the demo as-is for starters, you could use the prebuilt SD card image and executables. The instructions for this are outlined in section "Using Prebuilt Executables and SD Card" below.
If you would like to download the source code to study and play with and setup your development environment to build the demo from scratch, the source code package with build instructions are available, which is described in the section "Build from Source".
- Mistral OMAP3530 EVM Rev G w/ power adapter
- C6678 EVM w/ power adapter
- Gigabit Network Switch
- 2 x Ethernet Cables
- USB cable for on-board emulator OR XDS560 Emulator w/ power adapter and cable
- HDMI to DVI cable
- Lilliput 7-inch LCD screen w/ power adapter
- Windows PC w/ CCSv5 installed
- RS-232 cable
Additionally, if using prebuilt executables and SD card,
- SD card (2GB or larger)
- SD card reader
- RS-232 cable
Additionally, if building from source,
- Linux PC with Ubuntu 10.04 LTS
Using Prebuilt Executables
Follow guidelines in this section if you would like to run the demo quickly and use it as-is for starters. At the end of this section, you'll have a bootable SD card for the OMAP3530 and the prebuilt executables for the 6678.
If you would like to build from source, skip to the next section.
The SD card that you write in this process includes the bootable filesystem and executables for the OMAP3530 side, and also contains the prebuilt executables and CCS target configurations to connect to the C6678 EVM and load the executables on the three cores that will be used.
You can use either a Windows PC or a Linux PC to write the SD Card. Both options are described here.
Option 1: Using a Windows PC
If you are using a Windows PC to write the SD card follow these instructions:
1. Download and install Cygwin from here
2. Create a new folder with the name 'SDCardImages' at the path C:/cygwin
3. To obtain the SD card image, click here and download the file 'midas_usound_demo4_sdcard.tar.gz' from the MIDASUltrasound4.0 release package into the 'SDCardImages' folder
4. Double click the Cygwin icon on your Desktop to start Cygwin and type the following commands:
host $ cd /cygdrive/c/cygwin/SDCardImages host $ tar xzf midas_usound_demo4_sdcard.tar.gz
5. WARNING! It is important you perform these steps very carefully. Not doing so can lead to complete data loss!
Plug in your SD card reader with the SD card (min. size of 2GB)
Click on Start --> Control Panel --> Administrative Tools --> 'Computer Management.' On the left hand side, click on the 'Disk Management' tab.
The SD card should show up as "Disk1" or "Disk2". If it shows up as Disk 1 replace <partition> in the command below with "sdb"; if it shows up as Disk 2 use "sdc" and so on. Double check that the <partition> does correspond to the SD card, else you may risk writing over your hard disk and lose your data.
host $ dd bs=4096 if=midas.img of=/dev/<partition>
This process can take quite some time to complete and while the image is copying, the terminal does not show any progress or update information.
Once the SD card is written successfully you will see a message on the terminal saying that the ~2GB has been copied.
Skip the next section, and proceed directly to 'Setup and Run the Demo'
Option 2: Using a Linux PC
If you are using a Linux PC to write the SD card follow these instructions:
1. Create a directory named 'SDCardImages' on the Linux host where you would like to download the SD card image:
host$ mkdir SDCardImages
2. To obtain the SD card image, click here to download the file 'midas_usound_demo4_sdcard.tar.gz.' Make sure you place this into the 'SDCardImages' folder
3. Uncompress this file as below. Once this uncompresses, you will see a file 'midas_usound_demo4_sdcard.img' in this directory.
host$ cd SDCardImages host$ tar –xzf midas_usound_demo4_sdcard.tar.gz
4. WARNING!! It is important you perform this step very carefully. Not doing so can lead to complete data loss!
Plug in your SD card reader with the SD card (min. size of 2GB) and write the image 'midas_usound_demo4_sdcard.img' to the card. Replace <partition> in the command below with sdb, sdc, sdd, etc. depending on where your SD card is mounted. Double check that the <partition> does correspond to the SD card, else you may risk writing over your hard disk and lose your data.
host $ sudo dd bs=4096 if=midas.img of=/dev/<partition>
This process can take quite some time to complete and while the image is copying, the terminal does not show any progress or update information. Once the SD card is written successfully you will see a message on the console saying that the ~2GB has been copied.
Skip the next section, and proceed directly to 'Setup and Run the Demo'
Build from Source
Follow guidelines in this section if you would like to download the source code and setup a development environment to build the demo from source.
Multicore DSP C6678 (Mid End)
All development for the C6678 is done on the Windows PC.
- TI Code Composer Studio IDE (CCS)
This version of the demo has been built and verified with CCS version 5.0.3. Later versions of CCS should work, but previous versions of CCS do not have C66x support and will therefore not be compatible with this demo release. You can follow the link to download CCS v5.0.3 from here and install under C:\ti\ccsv5.
If you install in this default location, your directory structure should be as below. Note the snapshot is of directory 'C:\ti\ccsv5\ccsv5'.
- PERL and 7-Zip
Perl and 7-Zip are required to run the automated build script that will be discussed later.
a. Install Active Perl from http://www.perl.org/get.html. Installs as C:\Perl by default.
b. Once installation is complete, please ensure that C:\Perl\site\bin and C:\Perl\bin are in your Path. To check this, right click on My Computer --> Properties --> Advanced tab --> Environment Variables. The system variable Path should include these paths.
c. Install 7-Zip from http://www.7-zip.org/. Installs as C:\Program Files\7-Zip by default. Note that if you plan to install 7-zip in a different location, please update the 'build6678.pl' perl script introduced later.
- Environment Variables
The following environment variables assume that the install packages will/have been installed in the recommended locations
a. Windows XP: Right-click on My Computer --> Properties --> Advanced tab --> Environment Variables --> New
b. Define new user variable, where variable name is TI_INSTALL_DIR and variable value is C:\ti
c. Define another new user variable, where variable name is IQMATH_LIB_DIR and variable value is C:\ti\c64xplus-iqmath_2_01_04_00
d. Define new user variable, where variable name is CCS5_INSTALL_DIR and variable value is C:\ti\ccsv5. CCS5_INSTALL_DIR represents the location where CCS5 is installed. To verify what CCS5_INSTALL_DIR is, double check to see that CCS5_INSTALL_DIR\ccsv5\eclipse exists.
e. Add the following variables, if they don't exist, to 'Path' under Environment Variables --> System Variables:
C:\Program Files\7-Zip
- TI Software Components Setup
Please note that the demo has been built and verified with the version numbers listed below. Please ensure that you download the correct versions.
It is assumed in the following steps that C:\ti is TI_INSTALL_DIR
a. MCSDK 220.127.116.11
Install as C:\ti\mcsdk_2_00_00_11
When asked to choose components, leave default setting i.e. all components checked
b. Code Generation Tools v7.2.1
Download from https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm
Once you have installed Code Generation tools, verify that it is recognized by CCS. To do this, go to Window -> Preferences -> CCS -> Code Generation Tools.
If you don't see it listed, click on the 'Add' button and point to the path where you have installed the tools
c. XDC Tools 3.22.00.09
Install as C:\ti\ xdctools_3_22_00_09
d. Codec Engine 3.21.00.19
Extract as C:\ti\ codec_engine_3_21_00_19
e. Sys-BIOS 6.31.05.31
Install as C:\ti\bios_6_31_05_31
f. Framework Components 3.21.02.32
Extract as C:\ti\framework_components_3_21_02_32
g. IQ Math Library 2.14
Install as C:\ti\c64xplus-iqmath_2_01_04_00. Note that this corresponds to IQMATH_LIB_DIR defined above.This should install as part of MCSDK. However, in case it doesn't exist for some reason, you can download it from the link below:
h. NDK 2.20.03.24
Install as C:\ti\ndk_2_20_03_24
i. IPC 1.22.05.27
Install as C:\ti\ipc_1_22_05_27
- Download the source code package. Click here to download the package from the MIDAS GForge project hosting portal
- Unzip midas_usound_demo4_rel.zip in TI_INSTALL_DIR. If using recommended paths, this would be unzipped as C:\ti\midas_usound_demo4_rel
At the end of these steps, your TI_INSTALL_DIR (C:\ti if using recommended paths) should look similar to the snapshot below:
- Start CCSv5.
Choose C:\ti\midas_usound_demo4_rel\ccsv5_workspace as your workspace
Go to Window->Preferences->CCS->RTSC->Products. Add C:/ti (or equivalent TI_INSTALL_DIR) under "Tool Discovery Path"
This should populate "Discovered Tools." with the installed components.
Close CCSv5.
- We will now build the BPU and DPU packages. Open a command window (Start -> Run -> 'cmd') and type the following commands (w/o quotation marks)
'cd C:\ti\midas_usound_demo4_rel'
- In this step we will run the autobuild script to build the executables for the three cores on 6678. This script imports the three CCS projects corresponding to the cores, and builds the executable corresponding to the 'Release' profile.
Type the following command on the prompt:
'perl build6678.pl'
- Start CCSv5. Choose the same workspace as before, i.e. C:\ti\midas_usound_demo4_rel\ccsv5_workspace.
At this point you should see all three projects under 'C/C++ Projects' window in CCSv5 and all three executables should be available as:
Core 0: 'C:\ti\midas_usound_demo4_rel\miDAS\ultrasound\demo3\midend\midendapp\ccsProj_C6678\Release\midendapp_C6678.out'
Core 1: 'C:\ti\midas_usound_demo4_rel\miDAS\ultrasound\demo3\midend\servers\server1\ccsProj_C6678\Release\server1_C6678.out'
Core 2: 'C:\ti\midas_usound_demo4_rel\miDAS\ultrasound\demo3\midend\servers\server2\ccsProj_C6678\Release\server2_C6678.out'
System-on-Chip OMAP3530 (Back End)
All development for the System-on-Chip (OMAP3530) is done on the Linux PC (Ubuntu 10.04).
- DVSDK Setup
A. -- Download --
File is 'dvsdk_omap3530-evm_4_01_00_09_setuplinux' from http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/4_01_00_09/index_FDS.html
B. -- Install --
'linuxHost$ chmod +x dvsdk_omap3530-evm_4_01_00_09_setuplinux'
'linuxHost$ ./dvsdk_omap3530-evm_4_01_00_09_setuplinux'
Follow instructions as directed to setup DVSDK with Network Filesystem. If using defaults, this should install as ~/ti-dvsdk_omap3530-evm_4_01_00_09.
C. -- Rebuild DVSDK and Setup Environment --
'linuxHost$ cd ~/ti-dvsdk_omap3530-evm_4_01_00_09'
'linuxHost$ make clean && make'
'linuxHost$ setup.sh'
After this step, among other development environment necessities, you should have NFS setup at ~/workdir/filesys, and minicom setup on your linux host with access to the OMAP terminal.
- IQMath Setup
Download IQMath from http://focus.ti.com/docs/toolsw/folders/print/sprc542.html and install
- Download MIDAS package and untar
Go to https://gforge.ti.com/gf/project/med_ultrasound/frs/, and download MIDASUltrasound4.0 source code package (midas_usound_demo4_rel.zip)
'linuxHost$ cd ~'
'linuxHost$ unzip midas_usound_demo4_rel.zip'
- Setup Environment
Edit Paths as per your environment in file ~/midas_usound_demo4_rel/miDAS/ultrasound/demo3/backend/Paths.mak
- Build Executable for Backend
'linuxHost$ cd ~/midas_usound_demo4_rel/miDAS/ultrasound/demo3/backend'
'linuxHost$ make setup'
'linuxHost$ make backend'
This will build both the 'server.x64P' and the OMAP application 'ultrasound' and will copy them to the ${EXEC_INSTALL_DIR} specified in Paths.mak.
Setup and Run the Demo
Connect EVMs via Switch
- Connect power adapter to the Network Switch
- Connect 1 ethernet wire from Switch to Ethernet port on 6678 EVM
- Connect 1 ethernet wire from Switch to Ethernet port on OMAP3530 EVM
6678 Setup
Ensure that 6678 switch settings are setup for 'No Boot' and 'Static IP.'
off, on, on, on on, on , on, on on, on, on, on on, on, on, on off, off
- Connect power adapter to the 6678 EVM
- Connect emulator to 6678 EVM.
- If using SD Card, insert SD card into reader. The first partition (74MB) of the SD card, contains the folder '6678', which consists of two subfolders 'PrebuiltExecutables' and 'CCSTargetConfigurations.'
- If building from source, download the 'CCSTargetConfigurations6678' and 'PrebuiltExecutables6678' zip from MIDASUltrasound4.0 release package here.
- The 'PrebuiltExecutables' subfolder contains the .out file to load on core x (x=0 / 1 / 2). Copy this folder to the Windows PC that has CCSv5 installed.
- Copy the .ccxml files in the 'CCSTargetConfigurations' subfolder to location 'C:\Documents and Settings\<<username>>\user\CCSTargetConfigurations.'
The 'CCSTargetConfigurations' folder contains the .ccxml target configuration files for three different emulator options, that allow you to connect to the 6678 EVM and load the cores with the corresponding executables.
- Start CCSv5, select a workspace directory as desired. Click on View -> Target Configurations. You should see the target configurations as shown in the snapshot:
- Depending on which emulator you have, you would use the corresponding target configuration. If you don't have any of the XDS560 external emulators you would use 'xds100_onboard_6678.ccxml.' Right click on the desired target configuration and click on 'Launch Selected Configuration.'
- Select the first three cores (C66x_0, C66x_1, C66x_2), right click and click on 'Connect Target':
- Right click on each core one at a time, and load the corresponding .out files on respective cores.
Use the .out files from the 'PrebuiltExecutables' subfolder you copied earlier
- Run cores 0, 1, and 2 of 6678. In the Console window you should see the following messages displayed, after which it is waiting for a message from the OMAP EVM:
[C66xx_0] HEAPID = 3 [C66xx_0] IPADRESS is = 192.168.3.202 [C66xx_0] Mid End process started [C66xx_0] MidEnd_gatherTask started [C66xx_0] Successfully created BPU instance [C66xx_0] Successfully created DPU instance
OMAP3530 Setup
1. Connect the DVI-HDMI cable between the OMAP EVM and the 7-inch external LCD screen. Connect the power adapter for the 7-inch screen.
2. There are 2 power ports on the OMAP3530 EVM. Connect the power adapter to the power port on shorter side of the EVM.
3. Connect the RS-232 cable between the EVM's UART1/2 port and your computer's serial port
4. Open a terminal program like HyperTerminal or Teraterm on Windows, or minicom on Linux. If you are building from source, you should already have minicom setup. Note, the terminal connection should be setup with the following settings: Bits per second: 115200, Data bits: 8, Parity: None, Stop bits: 1, Flow control: none
5. If using SD card, insert the SD card in the OMAP EVM's SD card slot.
Ensure that the switch settings for the EVM are set for SD card boot.
SD card boot switch settings for EVMs with Micron NAND,
SD card boot switch settings for EVMs with Samsung NAND,
6. The first time you turn on the OMAP3530 EVM for this demo, you need to modify the default boot arguments, since we want a 720p output via DVI, instead of the default 480p LCD output. Turn the switch on the EVM to the 'ON' position and keep the terminal window (HyperTerminal or Teraterm) open. You will start to see messages on the console. Once uboot boots, you will see a countdown, where you can abort the autoboot sequence. Once you do this, you should see the uboot prompt.
Please enter the following commands at this uboot prompt. Note that copy-pasting directly from the wiki could possibly cause issues. Also note that the bootargs given here are for a OMAP3530 w/ 256MB RAM. If you have a board with 128MB RAM, remove the phrase 'mem=128@0x88000000' from the bootargs below.
To verify that bootargs are set as desired, print them using 'pri' after setting them below:
If using SD card boot:
OMAPEVM# setenv bootargs console=ttyS0,115200n8 rw mem=99M@0x80000000 mpurate=720 mem=100M@0x89300000 omap_vout.vid1_static_vrfb_alloc=y omapfb.vram=0:3M omapfb.mode=dvi:1280x720@60 root=/dev/mmcblk0p2 rootfstype=ext3 rootwait ip=off OMAPEVM# setenv bootcmd 'mmc init;fatload mmc 0 0x82000000 uImage;bootm 0x82000000' OMAPEVM# saveenv OMAPEVM# boot
If building from source (NFS boot):
(Note: In commands below, replace <ip address of linux host> and <username> with appropriate values)
OMAPEVM# setenv bootargs console=ttyS0,115200n8 rw mem=99M@0x80000000 mpurate=720 mem=100@0x89300000 omap_vout.vid1_static_vrfb_alloc=y omapfb.vram=0:3M root=/dev/nfs nfsroot=<ipaddress of linux host>:/home/<username>/filesys ip=dhcp omapfb.mode=dvi:1280x720@60 OMAPEVM# setenv bootcmd 'dhcp;setenv serverip <ipaddress of linux host>;tftpboot;bootm' OMAPEVM# saveenv OMAPEVM# boot
7. If using SD card, the program (/opt/midas/ultrasound) will autostart once boot is complete.
If using NFS boot, you will need to manually launch the program as:
target$ cd /opt/midas target$ ./ultrasound -qws
8. You should see the following messages appear on the CCSv5 console for 6678. At this point the OMAP should have successfully established connection with the 6678 and starts sending the data and commands. Note that the loading of input data via TFTP can take a few minutes to complete. Once you see these messages you should see the desired output ultrasound images on the external display
[C66xx_0] got 4 cseq=0 [C66xx_0] got 1 cseq=1 [C66xx_0] handling setup request DHM [C66xx_0] APP STUB: got a setup DHM [C66xx_0] got 6 cseq=2 [C66xx_0] FrontEndIf_loadParams(), starting to read 532 bytes from bpuConfig.bin [C66xx_0] FrontEndIf_loadParams(): Read 532 bytes from bpuConfig.bin [C66xx_0] FrontEndIf_loadParams(), starting to read 2078 bytes from dpuConfig.bin [C66xx_0] FrontEndIf_loadParams(): Read 2078 bytes from dpuConfig.bin [C66xx_0] FrontEndIf_loadInputData(), starting to read 36175872 bytes from userdata/InputData/TI_Carotid_tissdata_512x256x69.bin [C66xx_0] FrontEndIf_loadInputData(): Read 36175872 bytes from userdata/InputData/TI_Carotid_tissdata_512x256x69.bin [C66xx_0] FrontEndIf_loadInputData(), starting to read 33914880 bytes from userdata/InputData/TI_Carotid_velturbdata_48x256x10x69.bin [C66xx_0] FrontEndIf_loadInputData(): Read 33914880 bytes from userdata/InputData/TI_Carotid_velturbdata_48x256x10x69.bin [C66xx_0] Completed rdspcb_set [C66xx_0] got 2 cseq=3 [C66xx_0] APP RDSPIF: got a play 0 [C66xx_0] MidEnd_controller: received cmd = 2 PLAY [C66xx_0] Starting FrontEndIf
Known Issues
- Minor: The directory structure of source code package 'midas_usound_demo4_rel.zip', uses directory name 'demo3' instead of 'demo4', i.e. 'midas_usound_demo4_rel/miDAS/ultrasound/'demo3' instead of 'midas_usound_demo4_rel/miDAS/ultrasound/demo4''
Previous Versions of MIDAS
See http://processors.wiki.ti.com/index.php/Medical_Imaging_Demo_Application_Starter_(MIDAS) for a comparison between various versions of MIDAS
Useful References
For more on DSP and ARM application development, application notes, white papers and information on TI's latest offerings, including the C66x keystone devices, the following are some useful references:
Multicore DSPs
- C66x Keystone Architecture
- C6678 Datasheet
- Multicore Programming
- Multicore SDK Overview
- Multicore SDK Download
- Multicore Processors and Medical Imaging
Medical Imaging
- Texas Instruments Medical Imaging homepage
- Embedded Processor Software Toolkit for Medical Imaging
- Signal Processing Overview of Ultrasound Systems for Medical Imaging
- Ultrasound Scan Conversion on TI's C64x+ DSPs
- Ultrasound Color Doppler Algorithms on TI's C64x DSP Platforms
- DSPs for Portable Ultrasound
- DSPs in Medical Imaging
- The Future of Medical Imaging
- Medical Imaging Applications Guide
ARM and DSP Development
- OMAP and DaVinci Software for Dummies
- OMAP and DaVinci Software for Dummies
- Codec Engine Overview
- Codec Engine Roles
- Codec Engine Algorithm Creator User's Guide
- Codec Engine Server Integrator User's Guide
- Codec Engine Application Developers Guide
- DMAI APIs
- IUNIVERSAL APIs
- XDAIS Algorithm Standard
- Porting GPP code to DSP and Codec Engine
- C6Accel and C6EZRun
Support and Questions
As noted in the disclaimer, software is licensed under BSD and is provided "as is". Please post questions to http://e2e.ti.com.
System and equipment manufacturers and designers are responsible to ensure that their systems (and any TI devices incorporated in their systems) meet all applicable safety, regulatory and system-level performance requirements. All application-related information on this website (including application descriptions, suggested TI devices and other materials) is provided for reference only. This information is subject to customer confirmation, and TI disclaims all liability for system designs and for any applications assistance provided by TI. Use of TI devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless TI from any and all damages, claims, suits or expense resulting from such use.
All software is licensed under BSD with the following terms and conditions:
Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.


text:
by Joni Astrup
Associate editor
Central Minnesota Habitat for Humanity is seeking qualified applicants for housing, as the organization looks to build or rehabilitate homes in the Elk River area.
The organization will host two public informational meetings Thursday, Feb. 7 in Elk River for people interested in buying an affordable house.
The meetings are at 12:30 p.m. and 5 p.m. at the Elk River Library, 13020 Orono Parkway. In 30 minutes, participants will learn what Habitat does, who qualifies and how to apply.
Angie Thaxton, family services director at Central Minnesota Habitat for Humanity in St. Cloud, said the meetings are the start of the latest application round for Habitat's home ownership program. Three other similar meetings are also planned in St. Cloud and Cold Spring; attending one of the five meetings is the only way get an application to be considered for a Habitat home.
Once a list of qualified applicants is produced, Habitat for Humanity will take steps to meet those needs.
The organization is looking for lots or foreclosed homes that can be renovated, Thaxton said.
"We're looking for whatever we could get at an affordable rate or donated to us," she said. "The more families that we get for that area, the more property that we would need."
She said Habitat is looking to increase its presence in the Elk River area. In the past three Habitat for Humanity homes have been built in Elk River and a handful in Big Lake. Central Minnesota Habitat for Humanity serves a four-county area including Sherburne, Wright, Benton and Stearns.
For details, call 320-656-8890, ext. 103; go to www.cmhfh.org; or visit Habitat's Events tab on Facebook.

subset: commoncrawl


text:
"They came out from the jump wanting to win. They crashed the boards hard, they did everything a lot harder than we did. ... They just wanted this game harder than we did tonight."
Related quotes
"We crashed the net a little harder this time and created second chance opportunities. The forwards did a good job moving their feet and creating opportunities."
"I told them that my grandfather had died in the Great Crash of 1929 - a stockbroker jumped out of a window and crushed him and his pushcart down below."
"From what I know, she was coming into a jump, caught an edge. Her skis split and she crashed over the jump."
"It was nothing major. I crashed on the descent, although it was weird crashing a mile before it happened. I wasn't too happy with that."
"You might as well call the kid 'Crash,' because that's what he's going to do. [He] crashes into everything he can out there. When I see a ball hit anywhere close to center field, I know he's got it."
"I have an underwater camera just in case I crash my car into a river, and at the last minute I see a photo opportunity of a fish that I have never seen."


text:
'Kung Fu Panda' leads the nominations of 36th Annual Annie Awards with 17 nods, while 'Bolt' and 'Wall-E' trail behind with 9 and 8 counts respectively.
On Monday, December 1, the International Animated Film Society, ASIFA-Hollywood, has come out with an announcement of 2008 Annie Awards' nominations. Dominating the list is "Kung Fu Panda" with 17 nods for the animated features category as well as for video games category.
In the feature film category itself, this DreamWorks Animation comedy has collected in total 16 nods. One comes from the production category, that is Best Animated Feature, whereas the rest from the individual nominations. For the Best Voice Acting title, "Panda" has managed to put three of its voice actors, Dustin Hoffman, James Hong and Ian McShane, to compete with voice actors from "Wall-E" and "Bolt". Additionally, it also gives directors John Stevenson and Mark Osborne a shot for Best Animated Film Director.
Beside "Kung Fu Panda", other movies collecting multiple nominations for Annie are "Bolt" and "Wall-E". "Bolt" has earned 9 counts and "Wall-E" has landed on 8 nods. Both of which will be up against "Panda", "$9.99" and "Waltz With Bashir" for the Best Animated Feature kudo.
The 36th Annual Annie Awards ceremony for the winners announcement will be held on Friday, January 30, 2009 at UCLA's Royce Hall, in Los Angeles, California. While the complete nominees list for the 27 overall categories can be seen via AnnieAwards.org, the full nominees list for the movie category can be read below.
Complete movie nominees list of 2008 Annie Awards:
Best Animated Feature:
- "Bolt"
- "Kung Fu Panda"
- "$9.99"
- "Wall-E"
- "Waltz With Bashir"
- Alen Lai, "Horton Hears a Who!"
- Li-Ming Lawrence Lee, "Kung Fu Panda"
- Fangwei Lee, "Madagascar: Escape 2 Africa"
- Kevin Lee, "Bolt"
- Enrique Vila, "Wall-E"
- James Baxter, "Kung Fu Panda"
- Jeff Gabor, "Horton Hears a Who!"
- Philippe Le Brun, "Kung Fu Panda"
- Victor Navone, "Wall-E"
- Dan Wagner, "Kung Fu Panda"
- Valerie Hadida, "Igor"
- Sang Jun Lee, "Horton Hears a Who!"
- Nico Marlet, "Kung Fu Panda"
- Sam Fell & Rob Stevenhagen, "The Tale of Despereaux"
- Ari Folman, "Waltz With Bashir"
- Tatia Rosenthal, "$9.99"
- John Stevenson and Mark Osborne, "Kung Fu Panda"
- Andrew Stanton, "Wall-E"
- Kevin Manthei, "Batman: Gotham Knight"
- John Powell, "Horton Hears a Who!"
- Max Richter, "Waltz With Bashir"
- William Ross, "The Tale Of Despereaux"
- Hans Zimmer and John Powell, "Kung Fu Panda"
- Ralph Eggleston, "Wall-E"
- Paul Felix, "Bolt"
- Tang Heng, "Kung Fu Panda"
- Evgeni Tomov, "The Tale of Despereaux"
- Raymond Zibach, "Kung Fu Panda"
- Alessandro Carloni, "Kung Fu Panda"
- Ronnie Del Carmen, "Wall-E"
- Joe Mateo, "Bolt"
- Jen Yuh Nelson, "Kung Fu Panda"
- Rob Stevenhagen, "The Tale of Despereaux"
- Ben Burtt for Voice of Wall-E, "Wall-E"
- Dustin Hoffman for Voice of Shifu, "Kung Fu Panda"
- James Hong for Voice of Mr. Ping, "Kung Fu Panda"
- Ian McShane for Voice of Tai Lung, "Kung Fu Panda"
- Mark Walton for Voice of Rhino, "Bolt"
- Jon Aibel and Glenn Berger, "Kung Fu Panda"
- Etan Cohen, Eric Darnell and Tom McGrath, "Madagascar: Escape 2 Africa"
- Ari Folman, "Waltz With Bashir"
- Cinco Paul and Ken Daurio, "Horton Hears a Who!"


text:
Lumene Eye Graphics Eye Liner Pencil Bluebell
1 review
100% would repurchase
Package Quality: 3.0
Price: $$
Package Quality: 3.0
Price: $$
Start your review
on 3/19/2008 3:29:00 PM
Age: Unknown
Skin: Other, Other, Not Sure
Hair: Other, Other, Other
Eyes: Other
This purple color is not for everyday wear! I never would have bought it, but I got it as a free sample and it's worth a try if you like fun colors. It highlights my hazel eyes (sometimes green, sometimes brown) quite nicely.
The pencil goes on fairly easily, even though most pencils don't go on my eyes at all. Not sure why.
Wish they had a maybe on "would you buy this product again." It's fun, I would buy it if I was younger.
Popular Eyeliners
2200 Reviews
747 Reviews
1592 Reviews
1083 Reviews
511 Reviews


text:
Missoni is an Italian fashion house based in Varese. It is famous for its unique knitwear, made from a variety of fabrics in colourful patterns. The company was founded by Ottavio ("Tai") and Rosita Missoni in 1953.
Missoni is best known for its knitwear from colorful and abstract patterns. They've since branched out to shoes and other accessories while keeping with the theme of geometric shapes.


text:
Miss Elisabeth Walton Allen, 29, was born in St. Louis, Missouri, USA, on 1 October 1882, the daughter of George W. Allen, a St. Louis judge, and Lydia McMillan. She was returning to her home in St. Louis with her aunt, Mrs Edward Scott Robert , and her cousin, fifteen-year-old Georgette Alexandra Madill . Miss Madill was the daughter of Mrs Robert from a former marriage.
Miss Allen was engaged in 1912 to a British physician, Dr. James B. Mennell, and was going home to St. Louis to collect her belongings in preparation for moving to England where she would live with her future husband. Miss Allen, Mrs Robert, Miss Madill, and Mrs Robert's maid Emilie Kreuchen all boarded the Titanic in Southampton. For the voyage, Miss Allen was in cabin B-5 , along with cousin Miss Madill , while Mrs Robert was across the hall in cabin B-3 . The entire party travelled under ticket number 24160 (£221 16s 9d). She escaped with her relatives in lifeboat 2 , one of the last boats to leave the Titanic , under the command of Fourth Officer Joseph G. Boxhall. After the sinking, Elisabeth filed a $2, 427.80 claim against the White Star Line for the loss of personal property in the disaster.
Regarding the disaster, Miss Allen wrote:
Mrs. J. B. Mennell (née Allen):
My aunt, Mrs. Roberts' maid, came to the door and asked if she could speak to me. I went into the corridor and she said: " Miss Allen, the baggage room is full of water." I replied she needn't worry, that the water-tight compartments would be shut and it would be all right for her to go back to her cabin. She went back and returned to us immediately to say her cabin, which was forward on Deck E, was flooded.
We were on the Boat Deck some minutes before being ordered into the lifeboat. Neither my aunt, Mrs. Roberts, my cousin, Miss Madill, nor myself ever saw or heard the band. As we stood there we saw a line of men file by and get into the boat-some sixteen or eighteen stokers. An officer I came along and shouted to them: "Get out, you damned cowards; I'd like to see everyone of you overboard." They all got out and the officer said: "Women and children into this boat," and we got in and were lowered.
With the exception of two very harrowing leave-takings, we saw nothing but perfect order and quiet on board the Titanic. We were rowed round the stern to the starboard side and away from the ship, as our boat was a small one and Boxhall feared the suction. Mrs. Cornell helped to row all the time.
As the Titanic plunged deeper and deeper we could see her stern rising higher and higher until her lights began to go out. As the last lights on the stern went out we saw her plunge distinctively, bow first and intact. Then the screams began and seemed to last eternally. We rowed back, after the Titanic was under water, toward the place where she had gone down, but we saw no one in the water, nor were we near enough to any other lifeboats to see them. When Boxhall lit his first light the screams grew louder and then died down.
We could hear the lapping of the water on the icebergs, but saw none, even when Boxhall lit his green lights, which he did at regular intervals, till we sighted the Carpathia. Our boat was the first one picked up by the Carpathia. I happened to be the first one up the ladder, as the others seemed afraid to start up, and when the officer who received me asked where the Titanic was, I told him she had gone down. (Gracie 1913)
Following the disaster, Miss Allen reached St. Louis and soon returned to England to be the wife of Dr. James Beaver Mennell in July 1912. She and her sister were married in a double wedding.
Mrs Elisabeth Walton Allen Mennell made her home in England. She was living in Tunbridge Wells, England, at the time of her death, at the age of 85, on 15 December 1967.
Articles and Stories
Atlantic City Daily Press (1912)
Atlantic City Daily Press (1912)
New York Times (1912)
New York Times (1912)
Michael A. Findlay, USA
Phillip Gowan, USA
References and SourcesGeneral Register Office Certified Copy of an Entry of Death
Colonel Archibald Gracie (1913) The Truth about the Titanic . New York, Mitchell Kennerley
Contract Ticket List , White Star Line 1912 (National Archives, New York; NRAN-21-SDNYCIVCAS-55[279])


text:
Statistics published last week by the International Air Transport Association (IATA) show that Western jets registered their lowest accident rates in history in 2011, besting their previous record set just one year earlier. The 2011 global accident rate (measured in hull losses per million flights of Western-built jets) finished at 0.37, the equivalent of one accident every 2.7 million flights, amounting to a 39-percent improvement over 2010, when the accident rate of 0.61 resulted from one accident for every 1.6 million flights.
IATA statistics showed 11 hull losses involving Western-built jets compared with 17 in 2010; 92 total accidents (all aircraft types, Eastern- and Western-built), compared with 94 a year earlier; five fatal hull loss accidents involving Western-built jets, down from eight; 22 fatal accidents (all aircraft types), versus 23; a total of 486 fatalities, compared with 786; and a drop in the fatality rate to 0.07 per million passengers from 0.21 for Western-built jet operations. All told, 2.8 billion people flew safely on 38 million flights (30 million by jet, 8 million by turboprop).
"The accident rate for airlines on the IATA Operational Safety Audit [IOSA] registry was 52 percent better than for non-IOSA operators," noted IATA director general Tony Tyler. "These numbers show that IOSA is helping to drive safety improvements for the entire industry, not just IATA member airlines."
Runway excursions accounted for the most accidents last year, at 18 percent of the total, said IATA. The figure amounts to a slight reduction from the rate in 2010, when runway excursions accounted for 21 percent of total accidents. Despite industry growth, the absolute number of runway excursions decreased from 23 in 2009 to 20 in 2010 and 17 in 2011, said IATA. Eighty-eight percent of runway excursions occurred during landing. Unstable approaches and contaminated runways rank among the most common contributing factors to runway excursions on landing.
A regional review of hull loss rates showed that Asia Pacific (0.25), North America (0.10) and North Asia (0.0) performed better than the global average of 0.37, while the CIS finished worse, at 1.06. Although Latin America and the Caribbean performed better than in 2010 (1.28 versus 1.87), the region registered a rate 3.5 times worse than the global average. Finally, the rate for the Middle East and North Africa worsened to 2.02 from 0.72, while the rate for the rest of Africa improved to 3.27 from 7.41. Although Africa remained the worst performing region in the world, its IOSA-registered airlines suffered no hull losses.


text:
I have a slight addiction to doing clothes washing... if there's enough for half a load in the washing basket then I have to put it into the washing machine. When I was an University I was in a league of my own, most students used to put off washing and wear even bikini bottoms when they ran out of clean knickers (that's true!), but I used to be at the laundry area of my halls every single week without fail! When I moved into my own house a couple of years ago I was really looking forward to doing the washing and was keen to get to grips with my new washing machine. Now before you start thinking I'm some sort of fruit loop I do have a completely normal job and social life, my addiction to washing is just one thing to keep quiet!
The Technolec TFL1005W-U is a fairly standard washing machine in that it doesn't instantly dry or iron my clothes sadly. It's white in colour with a round door in the centre that opens outwards and a control panel running across the top of the front panel for easy operation. In terms of size it again seems quite standard, it's 85cm in height, 60cm in width and 55cm in dept. We didn't have a problem fitting it into a unit within our kitchen at all. Overall it's quite pleasant looking really, if it's possible for a washing machine to be described in such a way. It didn't really stand out in the show room but it isn't one of the higher priced or higher tech models that are available, I just wanted something that was easy to operate really!
The washing machine came with a manual that was easy to understand and, in turn, meant that the washing machine was easy to operate as well. There are a range of wash programs available (which vary depending on the temperature required, the materials being washed and the desired intensity of the wash) which are clearly documented in the manual and selected by using the dial on the right hand side of the control panel. The digital display allows you to see which program has been selected and also the time it will take for the program to complete. Different programs cause different lights to come on, such as quick spin, etc. so you can see prior to the wash and during the wash what you have actually selected within that program.
Once you're happy with the program you've chosen you simply turn the washing machine on using the "on / off" button which is just to the left of the dial on the control panel. The washing machine kicks in within about ten seconds and you can hear the water filling up steadily. You can also choose to delay the start of the wash using the delay start timer which allows you to choose anything from half an hour to twenty four hours. This is ideal if you want to set the wash up but you don't actually want the washing machine to kick in until the evening for example. It's really easy to operate and I've never had any problems with it not coming on, again the digital display allows you to see how long it will be until the machine comes on.
During the wash itself the machine makes some noise as you would expect, it's arguably noisier during the spin cycle at the end of the easy wash. The manual suggests the noise can reach up to 60dBs which I presume is quite standard as it never sounds any louder than other washing machines I've heard before. The digital display allows you to see how many minutes are left until the wash is finished as well. In terms of water consumption it's recommended that the machine will require 0.95 litres of water for a typical 60 degree watch. I always presumed that washing machines used far more than this so I'd say it is quite economical in terms of water usage, especially if you're on a water metre. Obviously some programs use more.
In terms of energy used it's classed as rating A for overall energy efficiency, however it's also classed as rating B for wash performance and then rating C for spin efficiency. Overall it's classed as consuming 49kW (I presume this is just averaged out over the different programs). This was rated on a scale of A to G where A is the best from what I can gather. Personally this doesn't mean a lot to me but I do know that the use of my washing machine doesn't noticeably affect my energy bills, one month when we were away for three weeks our bill was only £17 cheaper than the month after. The best wash to use if you are concerned about energy usage is probably the quick wash which runs for only 34 minutes so much be pretty economical.
So what else can I tell you? Well there are 11 programs on offer in total depending on your particular washing need. These include a silk wash which is an extra low temperature wash with gentle washing for delicate items and also a wool wash for washable woollens. There's a low temperature wash for lightly soiled items which saves both time and money as well as a pre-wash option for those items that do need a more intensive cleaning. In addition there's a memory function which remembers the programs that you use most and when the machine has finished it makes a beeping noise to let you know it's ended. It has a 1000 rpm spin speed and it can hold up to 5kg of items prior to washing, the machine lets you know when it's full as well.
I personally think the Technolec TFL1005W-U is a great washing machine in terms of affordability, performance and robustness. It was one of the cheapest on offer in the show room at the time of purchasing (it currently retails at £179.99 according to United Utilities) so this did worry me initially. However I've had it now for nearly two years and haven't encountered a single problem in that time so it's very reliable. I'm happy with the range of programs it offers, the energy it uses and the clean clothes it produces. In fact there's absolutely nothing I can fault this machine on. So if you are looking for a washing machine that won't break the bank, I'd recommend the Technolec TFL1005W-U and am giving it 5 stars!
Thanks for reading.
Short name: Technolec TFL1005W-U


text:
Still, analysts estimate Amazon will exceed Microsoft's $84 billion in revenue this year and may top $90 billion. The question is, how much longer can Amazon continue growing at the current rate. At some point, the law of large numbers creates such an obstacle that each dollar of sales increase requires exponentially greater marketing dollars, which creates pressure on profit margins.
Shouldn't have Amazon's previous efficiency investments from 2000, 2001, etc. started to pay off and boosted earnings in 2012, 2013 and now in 2014? They should have, and the stock's precipitous fall from $400 demonstrates a growing uneasiness from shareholders that the greater fool theory may be coming to a head.


text:
Product Summary
Slim, sleek, and compact, the Vantec LapCool 2 is the ideal laptop accessory. Dual, adjustable fans and an aluminum faceplate keep your laptop cool while hide-able rubber pads hold the laptop securely above with bottom supports allowing you to set up the laptop at an incline or flat. The LapCool 2 is completely USB powered and even features 2 storage compartments at its base, perfect for storing memory cards and cables. Easy to store, easy to carry, easy to use, the Vantec LapCool 2 is the easy choice for a laptop cooler.
General Information
|Product Type
|Cooling Fan/Heatsink
|Manufacturer Part Number
|Manufacturer Website Address
|Vantec Thermal Technologies
|Product Name
|LapCool 2 Notebook Cooler
|Package Type
|Product Line
|Brand Name
Fan Information
|Fan Speed
|2 x 2600 rpm
|Fan Bearing Type
|Ball Bearing
|Number of Fans
Physical Characteristics
|Fan Diameter
|2 x 70 mm
|Weight (Approximate)
|1.43 lb
|Heatsink Height
|Heatsink Width
|Heatsink Depth
|Package Contents
|Standard Warranty
|1 Year Limited
This product is shipped only within Canada and Warranty valid for Canada only.
Computer Valley makes every effort to provide accurate specifications, descriptions, images and price on all products that are found on www.computervalley.ca
However for complete and updated descriptions, compatibilities, specifications and actual photo we recommend our clients to consult with manufacturer's websites or simply call us for proper clarifications. Computer Valley is not responsible and will not accept returns for items purchased that are not compatible with your system. Please ensure that you have verified compatibility and actual photo with your system by visiting the manufacturer's web site prior to purchase or give us a call to make sure what you are purchasing.
For more information, visit our Shipping and Return policy.
Computer Valley wants to provide you with the best and fastest possible service. We try to ship in stock orders placed before 2:00pm EST the same day. For in stock orders placed after 2:00pm EST they are usually shipped the next business day. However there are always exceptions. Please contact us prior to placing your order if you need your purchase by a certain date.
We ship by UPS, FEDEX, USPS, CANADA POST , PUROLATOR and LOOMIS from the nearest locations possible based on stock in hand.
Please note: Computer Valley reserves the rights to accept and cancel any order at anytime due to pricing error or any other reason. An email will be sent as a confirmation of the order status.
|Read Reviews Write Review


text:
WHEN Ann Cluderay was diagnosed with an ultra-rare form of cancer in 1999, doctors gave her only weeks to live.
The York school teacher thought she would never see her daughters marry or get to cuddle any grandchildren, and she prepared to say goodbye.
But her daughters, Laura and Ruth, told today how she defied the medics by going on to live for another 13 years, with an inoperable growth the size of a grapefruit apparently lying dormant inside her chest.
The former Knavesmire and Lowfield schools English teacher was there at St Paul's Church in Holgate in 2002 when Ruth married Ben, and again the following year when Laura married Mark.
More recently, she got to know four grandchildren – Laura's children George and Willow and Ruth's pair, Stanley and Bill.
Mrs Cluderay, of Holgate, also got to see the world over the 13 years through a series of holidays, including a 102-day world cruise.
Earlier this autumn, tests showed her cancer, known as melanotic schwannoma, had finally spread throughout her body, and now she died at St Leonard's Hospice after several weeks of "fantastic" care, aged 60.
Laura and Ruth said that after a private funeral service, the family had decided to stage a thanksgiving service at St Paul's at 11am next Wednesday, which will be conducted by family friend, the Rev Matthew Woodcock, at which the congregation have been asked to wear bright-coloured clothing.
Ruth said they were grateful for the extra years of life their mother had been able to live. "The growth was wrapped around her gullet and it wasn't possible to operate on it, and so the doctors said she would only have weeks to live," she said.
"I remember thinking on Millennium Eve that my mum wouldn't survive the following year, but it never happened. She just got better and better.
"She went back to St James' in Leeds for check-ups each year and she was always OK, and she was discharged last year. We almost forgot about it.
"She never complained about it. The only thing she did complain about was having to give up teaching, because her voice was affected during treatment back in 1999. She loved teaching."
She said doctors had never known such a cancer develop in that part of someone's body, and her mother's case had been reported on in medical journals.


text:
Each month, Rated People connects over 50,000 homeowners with quality tradesmen - simply enter your job details in the form above to get started.
We'll match your job to the relevant tradesmen in your area - those interested will pay to see your contact details and call you to quote.
As each tradesman expresses interest in quoting on your job, we'll send you their profile and ratings to help you choose the right one for you.
After the work is complete, return to the site and rate your tradesman based on their quality of work, reliability and value for money.
Tree Surgeon
Added 14/12/2015
I have a large beech tree in my garden, which has grown considerably since the holm oak that...
Searching for tradespeople
Managing your job is easier with the Rated People Homes App, download it today.


text:
Editorial Review
- Rating:
- 13 / 20
- Price:
- $$$$$
- Read Gayot Review »
1 review of Thousand Cranes/ Senbazuru, first by ArammaruKim.
The sushi price is on the high side, but the...
The sushi price is on the high side, but the fish is very fresh and tasty! I sat at the sushi bar, and the sushi chef was very friendly and nice to talk to.
When I went in May, they said it's the one month out of the year that the blue soft shell crab is in season and it was very delicious! They got the live crab cut it in half and put it into the batter right away and fried it. I know I'll be going back in May just for the crabs :)
Best Dishes at Thousand Cranes/ SenbazuruView all dishes
These dishes from the Thousand Cranes/ Senbazuru menu are contributed by Menuism users directly, as part of a restaurant review, or as part of a photo upload.
Agedashi Tofu
Alaskan King Crab
Additional Orders
- Tags
- Website
- Hours
Mon-Sat 07:00AM - 10:00AMMon-Sat 11:30AM - 02:00PMMon-Sat 06:00PM - 09:00PMSun 11:00AM - 02:00PMSun 06:00PM - 09:00PM
Loves Thousand Cranes/ Senbazuru (1)
Wants to Try Thousand Cranes/ Senbazuru (1)
Recommended Nearby
Angelini Osteria
Italian in Mid City West
Fine Dining in Hollywood
Carlitos Gardel
Argentinean in Mid City West
Upstairs 2
Mediterranean in West Los Angeles


text:
Meowsy McDermott is a feline lawyer that appeared in "McStroke". Peter Griffin hired him as a lawyer to win his case against McBurgertown. He appeared again when Stewie decided to sue Connie DiMico for not having sex with him because of his tiny penis. His lines are always clever cat puns.
He is voiced by Seth MacFarlane.


text:
Nokia N9 could be available within a month, there is a whole designer dream behind it (video)
0. phoneArena posted on 21 Jun 2011, 04:07
We knew that the seamless interface and buttonless design on the Nokia N9 have been a dream for the Nokia UI chief Marko Ahtisaari since last year, and now the man himself is showing footage of how the Nokia N9 was conceived...
This is a discussion for a news. To read the whole news, click here
1. NokTokDaddy (Posts: 21; Member since: 12 May 2010)
The N900 has no buttons on the front and was launched in 2009
2. sonisoe (Posts: 435; Member since: 06 May 2009)
yup...i used for a while and liked it a lot.. just needed a change, got my self an android (well a couple for that matter)...but the truth is if there're more apps, meego could be a winning os... dont think android is the best os - i had htc hero, desire hd, and recently switched to xperia arc... so far arc is the best among the three i've owned - much better ui, smoother, & a couple of better functions, but android bug remains, the phone would stutter and apps/widgets foreclose albeit very rarely compared to my prev htc phones... i'm more & more inclined to take up a wp7 for my nxt device, and should be one from nokia...wish they'll do with their wp7 what they've done with meego..i dont see why not 'coz hopefully on such a huge deal between nokia/mscft, nokia should get the privileges to tweak the os...
3. Bruno (unregistered)
What? N900 was the FIRST device with no buttons in the front.
4. bluechrism (unregistered)
I'm looking at one right now and yes, there are no buttons on the front.
http://maemo.nokia.com/ for a device image, or look it up on Amazon.
6. amvs499 (unregistered)
"first completely buttonless touchscreen-only phone" The n900 has a key-board and thus isn't a buttonless touchscreen-only phone.
5. box (unregistered)
Maybe they're calling it the first one without buttons because it has no keyboard, and/or because the N900 was marketed as a pocket computer? (which is essentially what a smartphone is, but still)


text:
Tim O'Reilly has seen lots of emerging technologies integrated into everyday use. The founder of O'Reilly Media has been an active player in the growth of open source software and Web 2.0 and tracks "alpha geek" thought leadership on his Radar blog. In this video, O'Reilly discusses the potential for cloud applications to accelerate innovation, as well as the challenges in navigating the "uncharted waters" of privacy and security. "One of the things we really need to watch out for is that we don't hold (cloud deployment) back because we have some storyline about how 'that's too dangerous.' I'm getting old enough to remember when that's what they said about giving people PCs" Tim also discusses the intersection of his joint interests in cloud computing and "government 2.0." This video runs about 4 minutes 20 seconds.
Check out our Cloud Computing Channel for other perspectives on these topics. For additional video, check out our DCK video archive and the Data Center Videos channel on YouTube.


text:
Artist Profile:
Gregory Burns- 2016 Sports Artist of the Year
United States Sports Academy and the American Sport Art Museum and Archives
Gregory Burns' passion for art began as a boy growing up in Paris where he created comic strips and painted bottles of Beaujolais. During his first university art class he knew he had found his calling when confronted with the nude. He slipped into the fabric of Asia in 1984, concluding a cloistered existence painting the beauty of the California Dream. Setting sail for Taiwan he studied Chinese brush painting and calligraphy with local masters for two years.
With broken Mandarin and paintbrushes he began a summer backpacking trip overland through China, Tibet, Nepal, India and Pakistan, which stretched into a 16-month sojourn. While seeking out Buddhist and Hindu sacred sites, his artwork began referencing the different religious and architectural imagery of Asia.
Since completing his Master in Painting at the end of the last century, the intrepid traveler continues to cast a wide net in order to pull in a diverse collection of colors and imagery from which he tries to express the power of the human spirit searching for meaning and a sense of place.
Gregory has held 80 solo and group painting exhibitions in over a dozen countries since 1980 and has been the celebrated Artist-in-Residence at thirty 5-Star Resorts and venues since 1999. Gregory has published three books in English and Mandarin and has been featured on BBC, CNN, CNBC, ESPN, CNA, CCTV and in The AWSJ, Time Magazine and The China Daily. He is represented by the Tanya Baxter Gallery in London, the Tony Raka Gallery in Bali and the Yang Gallery in Singapore and Beijing.
> View and purchase Gregory's original mixed media paintings and fine art prints below.
> Original paintings average from US$2,000 to US$20,000 while fine art prints range from US$300 to US$3,000.
> Commission Gregory to create unique paintings for offices, homes or friends.
> Lease Gregory's paintings for an office, home or hotel.


text:
TWO generations ago, Rupert Murdoch bowed to pressure from the White House to suppress the biggest story of the then brash young newsman's life - that the American president, John Kennedy, was indifferent to the political fate of the Australian prime minister Robert Menzies, thought Laos was indefensible against communism and wanted the Dutch out of West New Guinea.
Nearly 50 years later and Murdoch has fewer scruples about taking on the US President.
In an interview with a former senior Fairfax executive, Max Suich, published in The Australian Financial Review yesterday, he said Barack Obama might make great speeches but he does not get things done and does not listen to anybody.
Murdoch retells criticisms of Obama by the New York mayor, Michael Bloomberg. ''The other day [Obama] invited mayor Bloomberg to a day of golf at Martha's Vineyard,'' he said.
''Bloomberg said it was a pleasant day. In conversation he put a few ideas … He said it was like verbal ping pong. He came back and said, 'I never met in my life such an arrogant man.' ''
It was different back in December 1961 when Murdoch, then 30, interviewed Kennedy and found the president had frank views on issues that would reverberate strongly in the Australian federal election campaign then under way.
Murdoch confirmed he had filed a story from the 1961 JFK interview for his Sydney Daily Mirror but then ''killed'' it at the request of the White House and Australia's ambassador to Washington, the former Menzies cabinet minister Howard Beale.
The problem was that the young publisher was certain it had been an on-the-record interview, while JFK's press secretary, Pierre Salinger, was insisting it had been off.
''Salinger was totally at fault,'' Murdoch said. ''He never told us the meeting was off the record.''
Suich says the story would have been a bombshell in the battle between Menzies and the Labor leader, Arthur Calwell.
Menzies went on to defeat Calwell, but only narrowly.
Suich reckons the US president's indifference to Menzies' fate and his views on Indonesia's push to oust the Dutch from West New Guinea would have undermined Menzies' foreign policy credentials, perhaps delivering victory to Labor.
The Sydney Institute's director, Gerard Henderson, is not so sure, saying Menzies survived in 1961 on DLP preferences in Victoria.
Henderson reckons Murdoch did the right thing in killing the story. ''In those days if there had been confusion about whether it was on the record and if there was a direct request from the president, most journalists would have done the same thing.
''These days, probably not so many journalists would take that attitude.''


text:
Top Five Things We're Expecting to Happen on Top Chef Tonight
OK, so we're all really stoked about the start of Top Chef, D.C. tonight. Even Bravo producer and Watch What Happens Live host Andy Cohen is venturing into fanboy-level excitement, as proven by his repeated tweets on the subject today. (So cute. Love that guy.)
Glad to have some Dallas representation in Go Fish gal Tiffany Derry, so I'll be recapping tomorrow...and each Thursday for as long as she's on the show. But for now, how 'bout a pre-premiere list? These are our picks (after the jump) for what we're pretty certain will go down during the the season premiere in the nation's capital:
Gross time mismanagement: This is really a guarantee. No one really knows how quickly 15, 45 or however many minutes passes until the cameras are rolling and you have to feed Padma Lakshmi, Tom Colicchio, Gail Simmons and Eric Effing Ripert. The only question is whether the person who doesn't finish will be sent home for not meeting the task requirements or if he'll stay because his vision was so much better than someone else's shitty finished product.
Lots of product placement: Be it GladWare and "the Glad family of products" (I can hear Padma's voiceover now) as in past seasons, or GE's Monogram series or even Alexia snacks (which I remember, one season, being included in a challenge as well as being shoveled into contestants' mouths during down time in the condo), there will always be camera shots that are recognized for their attempt to sell sponsors' products. And said shots will make me desire such products...at which point I will resent said shots.Next Page
Get the Food & Drink Newsletter
Our weekly guide to Dallas dining includes food news and reviews, as well as dining events and interviews with chefs and restaurant owners.
Recommended for You
Powered by SailThru
Popular Stories
Sponsor Content


text:
SAN DIEGO — An overnight fire at a home in Rancho Bernardo caused about $400,000 damage and displaced two people.
The blaze at the home on Avenida Marabella off Camino Ramillette was reported at 2:44 a.m. Sunday and was knocked down at 3:15 a.m., a dispatcher with the San Diego Fire-Rescue Department said.The fire started in the kitchen of the home, the dispatcher said.
No injuries were reported.
– Debbi Baker


text:
Spectrum Master Handheld Spectrum Analyzers
Product Announcement from Anritsu Company
Regulatory requirements are growing. You're under increasing pressure to cut costs. And improving system uptime is always a top priority. The MS2712E/13E Spectrum Master handheld spectrum analyzers help you do all of this and more. Whether you are performing complex interference analyses or assessing signal quality, the MS2712E and MS2713E Spectrum Masters deliver the ease of use, rich functionality, and best-in-class price/performance you've come to expect from Anritsu. Designed to handle the most punishing field conditions, the MS2712E and MS2713E allow you to monitor, locate, identify, and analyze a broad range of cellular, 2G/3G/4G, land mobile radio, Wi-Fi, and broadcast signals. With a rich array of configuration options, the multifunctional MS2712E and MS2713E eliminate the need for you to learn and carry multiple instruments when locating and identifying signals over wide frequency ranges.
- Spectrum Analyzer, Interference Analyzer with Interference Mapping
- High Accuracy Power Meter, 2-port Transmission Measurements
- Coverage Mapping, Channel Scanner, GPS, AM/FM/PM Analyzer
- 3GPP, 3GPP2, WiMAX, signal analyzers
- Tracking Generator
- P25 and NXDN signal analyzers
- Field-proven design: Three-hour battery life, rugged, compact, lightweight, daylight viewable display
- Intuitive menu-driven touchscreen user interface
Spectrum Master Highlights
- Measurements: Occupied Bandwidth, Channel Power, ACPR, C/I, Spectral Emission Mask
- Interference Analyzer: Spectrogram, Signal Strength, RSSI, Signal ID, Interference Mapping
- 3GPP Signal Analyzers GSM/EDGE, W-CDMA/HSDPA, TD-SCDMA/HSDPA, LTE
- 3GPP2 Signal Analyzers cdmaONE/CDMA2000 1X, CDMA2000 1xEV-DO
- IEEE 802.16 Signal Analyzers Fixed WiMAX, Mobile WiMAX
- ISDB-T Signal Analyzer
- Dynamic Range: > 102 dB in 10 Hz RBW
- DANL: -162 dBm in 10 Hz RBW
- Phase Noise: -100 dBc/Hz max @ 10 kHz offset at 1 GHz
- Frequency Accuracy: < ±50 ppb with GPS On
- Spectrum monitoring
- Transmitter Verification: occupied bandwidth, channel power, adjacent channel power ratio
- Interference Analysis of cellular system, land mobile radio systems, Wi-Fi
- Signal Strength Mapping
- Field analysis of 2G/3G/4G signals
- Field Strength Measurements
- Coverage verification, network optimization
- Tracking Generator
|More Info


text:
Driving down the highway I cried out, "Lukey boy, I can't wait to hold you!" The yearning in my heart to see my first-born son was indescribable. I was pastoring a church in St. Louis when he was born. The day after his birth I had meetings I could not cancel. During the last appointment, I was aching so badly to see him, I couldn't even listen to the person talking to me.
Finally I broke away, jumped into my car and went speeding down the road. I had an unbelievable longing to be with him, to hold him and look into his face.
Suddenly an overwhelming realization hit me, and I found myself asking, "You mean, God, that the way I feel about little Lukey is the way You feel about me?"
An urgent question came to my mind: "How much do you love your son?"
"Oh, Lord," I responded aloud, "I would give him everything!"
Then this Scripture verse seemed to explode in my heart: "If you then, being evil, know how to give good gifts to your children, how much more will your Father who is in heaven give good things to those who ask Him!" (Matt. 7:11, NKJV).
The realization of the magnitude of God's desire for me was so emotionally overpowering, I pulled off the road and wept. The thought of a God who feels for me as I felt for my new son was almost incomprehensible. It seemed too good to be true.
Many people in the body of Christ today would have the same reaction I did to this revelation. Most of us have lost--or never had--an intimate knowledge of our heavenly Father. This is a fundamental problem in the modern church, and our generation is paying a heavy price for it.
The lack of knowledge of the Father has brought about the secularizing of our churches and the decay of our inner lives. It has led to the downfall of numerous spiritual leaders, repeated financial scandals in the church, and bitterness and hostility among members.
What you and I think about the Father is the most important thing about us. We are shaped emotionally by the image of God we carry in our minds.
Individuals often come to me with inadequate concepts of the Father. I explain over and over: "God desires you. He enjoys you. He has forgiven you."
But the believer responds: "I don't feel as if He loves me. I feel as if He has a big hammer in His hand, and He's just waiting to find a good reason to hit me over the head."
I may counsel and pray with the person time and time again, ministering the love and forgiveness of God, only to hear him say: "I wish I could believe that God is the way you say He is. I want to believe He really loves me, but I just can't grasp it."
As long as the individual continues to believe these or other lies about the Father, he will never mature into a strong Christian. Instead, he will live in fear, insecurity and defeat. Sooner or later, the fear and insecurity will bear poisonous fruit in the individual's own life and in his relationships with others.
I know they did in my life. In the early years of my ministry I did not have the confidence to minister to others if I was going through a period of personal failure or temptation. I wouldn't pray for people when they asked me. Honestly, I didn't think my prayers would help them unless I was soaring in spiritual maturity with constant victory in every area of my life.
I compared my experience to the days when I played college football. If I had several bad days of practice, the coach wouldn't let me play in the game that week. I thought God was like that: Either I did great in practice, in my personal spiritual life, or I wasn't good enough to participate in ministry.
Today I realize I had an entirely wrong idea of what God is like. When I am struggling, He wants me to run to Him, not away from Him. And He is faithful to continue to use me even when I feel the most inadequate spiritually. He loves me just as I am. * We are shaped emotionally by the image of God we carry in our minds. Mike Bickle is the director of the International House of Prayer in Kansas City, Missouri, a 24-hour-a-day prayer ministry. He also is the author of Passion for Jesus and Growing in the Prophetic (Creation House). Visit his ministry on the Web at www.fotb.com. Readers are Leaders! Subscribe now and get 3 magazines for the price of 1. Get Charisma, Ministry Today and SpiritLed Woman all for $24. YES - Sign me up! 3 Reasons Why you should read Life in the Spirit. 1) Get to know the Holy Spirit. 2) Learn to enter God's presence 3) Hear God's voice clearly! Click here to draw closer to God!
Your Turn
Comment Guidelines
Readers are Leaders! Subscribe now and get 3 magazines for the price of 1. Get Charisma, Ministry Today and SpiritLed Woman all for $24. YES - Sign me up!
3 Reasons Why you should read Life in the Spirit. 1) Get to know the Holy Spirit. 2) Learn to enter God's presence 3) Hear God's voice clearly! Click here to draw closer to God!


text:
DENSORB absorbent fleece material Economy, model Oil, Light, 40 x 50 cm, 200 piecesArticle no.: 175018W
- Suitable to absorb oils, petrol and other hydrocarbon based liquids
- In Economy quality: ideal for simple, one off application, such as repairs and maintenance
- Water repellent
- Oil absorbing mats made from fine Polypropylene fibres with high tear resistance
- Available in different versions and material thicknesses
- Type light - single-ply material thickness for drippings and small leakages
Excl. Tax: £70.50 Incl. Tax: £84.60 / PUIncl. shipping* 1 – 2 weeks
- Buy 3 for £68.50 (£82.20 incl. tax) each
Product information
|absorption capacity
|Very high
|Absorption Capacity (litre per pack)
|External dimensions W x D x H (mm)
|400 x 500 x 760
|Total width (mm)
|Total length (mm)
|Cat. dim. External height (mm)
|Pack unit
|Pack = 200 Mats
Other products of your choice (6) 1 to 6 of 6


text:
Fall break camp at Ahwatukee Community Swim & Tennis Center
Children can enjoy fall break at the Ahwatukee Community Swim & Tennis Center, 4700 E. Warner Road, from 9 a.m. to 3 p.m. Oct. 10-13 with a golf, swim and tennis camp. Activities include instruction in golf and tennis in a non-competitive environment, with emphasis on recreation, to allow each camper to participate at their own level. Camp swimming is designed as a fun, recreational time for the campers to enjoy the pool.
For more information or to register, call the community center at (480) 893-3431, ext. 2.
Football workshop for women
Come enjoy a ladies football workshop, called Football 101, which will benefit Future for Kids. Learn instruction for basic rules and strategies, complimentary food and drinks, fun girl's night out for charity to take place from 6 to 8 p.m. at Marjele's Sports Grill, 3095 W. Chandler Blvd. in Chandler. Donation is $25. There will be raffle prizes, including a personalized Cardinals jersey.


text:
DeWalt | SKU: T22169 | Model: DCD940KX
18V 1/2" Drill/driver
Price: $179.95
Recently Added ×
You May Also Like
DeWalt DCD940KX - 18V 1/2" Drill/driver
Need it fast? Please call 1-800-523-4777 or click the chat button to speak with one of our service agents to expedite this order.
Free shipping within the Contiguous United States.
Act Fast!
Sales of this outlet item are limited to quantity on hand.
This 18V, 1/2" Drill/Driver Kit has a shorter, more compact design to fit into tight spaces. The XRP™ extended run-time batteries provide long run-time and battery life, while the two collar design allows for mode change while maintaining clutch setting. Patented 3-speed all-metal transmission matches the tool to task for fastest application speed and improved run time. (Run speeds are 0-500 rpm, 0-1,250 rpm, and 0-2,000 rpm.) LED work light provides increased visibility in dark confined spaces. Ergonomic handle design for increased comfort and less user fatigue and heavy-duty 1/2" ratcheting chuck helps prevent bits from slipping and falling out. Includes 2 18V batteries, 1 hour charger, and kit box.
Please note: due to the high incident of fraudulent transactions with orders containing name brand products, orders for this item must ship to the billing address.
Accessories and Related Items: View All
You May Also Like:
Customers who purchased this item also purchased:
Animation for T22169


text:
TEHRAN, Iran — Iranian leaders said Wednesday that President Obama follows the "crooked ways" of his predecessor, repeated earlier warnings that Iranian missiles could reach Israel and reiterated that the Holocaust was "a lie."
Iran's president and other officials have at times appeared to welcome Obama's proposal for greater dialogue, but the remarks Wednesday suggested that Iranian positions on the Israeli-Palestinian conflict and other issues would pose obstacles. The comments were also a reminder that Iran's complex leadership structure brings together clerics and political leaders with sometimes sharply differing views.
Ayatollah Ali Khamenei, who is Iran's supreme leader and who has the final say over foreign policy, told representatives of several pro-Palestinian groups at a conference in Tehran that Obama had adopted former President George W. Bush's support for Israel, which Khamenei called a "cancerous tumor."
Iranian leaders, including President Mahmoud Ahmadinejad, have repeatedly said they are ready for "real" talks with the Obama administration but say that they first want to see a significant change in U.S. policies.
Secretary of State Hillary Rodham Clinton swiped hard at Iran on Wednesday, accusing its hard-line leaders of fomenting divisions in the Arab world, promoting terrorism, posing threats to Israel and Europe, and seeking to "intimidate as far as they think their voice can reach."