Sunday, July 26, 2009

OpenCV + Java + Linux

OpenCV + Java + Linux

Shared via AddThis

Saturday, July 25, 2009

WEB4J. Because simple is beautiful.

The important things about WEB4J are :Graphic

faint - The Face Annotation Interface


This project is a flexible Java framework for face detection and face recognition technologies, that is based on different plugin and filter types. A suitable graphical interface can be used to set up pipelines for detection and recognition by combining these plugins and filters. Moreover an integrated photo browser allows users to apply the face detection and recognition process on personal images.

  1. Project Details
  2. Download and Launch
  3. Demo Videos
  4. Developer Guide




















nVidia CUDA

NVIDIA® CUDA™ technology leverages the massively parallel processing power of NVIDIA GPUs. The CUDA architecture is a revolutionary parallel computing architecture that delivers the performance of NVIDIA’s world-renowned graphics processor technology to general purpose GPU Computing. Applications that run on the CUDA architecture can take advantage of an installed base of over one hundred million CUDA-enabled GPUs in desktop and notebook computers, professional workstations, and supercomputer clusters.
With the CUDA architecture and tools, developers are achieving dramatic speedups in fields such as medical imaging and natural resource exploration, and creating breakthrough applications in areas such as image recognition and real-time HD video playback and encoding. CUDA enables this unprecedented performance via standard APIs such as the soon to be released OpenCL™ and DirectX® Compute, and high level programming languages such as C/C++, Fortran, Java, Python, and the Microsoft .NET Framework.

The CUDA Developer SDK provides examples with source code to help you get started with CUDA. Examples include:
  • Parallel bitonic sort
  • Matrix multiplication
  • Matrix transpose
  • Performance profiling using timers
  • Parallel prefix sum (scan) of large arrays
  • Image convolution
  • 1D DWT using Haar wavelet
  • OpenGL and Direct3D graphics interoperation examples
  • CUDA BLAS and FFT library usage examples
  • CPU-GPU C- and C++-code integration
  • Binomial Option Pricing
  • Black-Scholes Option Pricing
  • Monte-Carlo Option Pricing
  • Parallel Mersenne Twister (random number generation)
  • Parallel Histogram
  • Image Denoising
  • Sobel Edge Detection Filter

Sunday, July 19, 2009

Thursday, July 9, 2009

Tweaking hard disk on Linux

 
hdparm -Tt /dev/hda

/dev/hda:
Timing buffer-cache reads: 128 MB in 1.34 seconds =95.52 MB/sec
Timing buffered disk reads: 64 MB in 17.86 seconds = 3.58 MB/sec

hdparm /dev/hda

/dev/hda:
multcount = 0 (off)
I/O support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 1870/255/63, sectors = 30043440, start = 0

  1. multcount: Short for multiple sector count. This controls how many sectors are fetched from the disk in a single I/O interrupt. Almost all modern IDE drives support this. The man page claims: when this feature is enabled, it typically reduces operating system overhead for disk I/O by 30-50%. On many systems, it also provides increased data throughput of anywhere from 5% to 50%.
  2. I/O support: This is a big one. This flag controls how data is passed from the PCI bus to the controller. Almost all modern controller chipsets support mode 3, or 32-bit mode w/sync. Some even support 32-bit async. Turning this on will almost certainly double your throughput (see below.)
  3. unmaskirq: Turning this on will allow Linux to unmask other interrupts while processing a disk interrupt. What does that mean? It lets Linux attend to other interrupt-related tasks (i.e., network traffic) while waiting for your disk to return with the data it asked for. It should improve overall system response time, but be warned: Not all hardware configurations will be able to handle it. See the manpage.
  4. using_dma: DMA can be a tricky business. If you can get your controller and drive using a DMA mode, do it. But I have seen more than one machine hang while playing with this option.

 
hdparm -X66 -d1 -u1 -m16 -c3 /dev/hda:
setting 32-bit I/O support flag to 3
setting multcount to 16
setting unmaskirq to 1 (on)
setting using_dma to 1 (on)
setting xfermode to 66 (UltraDMA mode2)
multcount = 16 (on)
I/O support = 3 (32-bit w/sync)
unmaskirq = 1 (on)
using_dma = 1 (on)

hdparm -tT /dev/hda

/dev/hda:
Timing buffer-cache reads: 128 MB in 1.43 seconds = 89.51 MB/sec
Timing buffered disk reads: 64 MB in 3.18 seconds = 20.13 MB/sec

Saturday, July 4, 2009

An Eclipse 3.5 Galileo is here !

An Eclipse Galileo 3.5

What's new in the latest version of the open source multipurpose IDE and application platform

Galileo is the simultaneous release of 33 major Eclipse projects. The Eclipse Foundation states that the Galileo release train consists of 33 projects. However, some are subprojects that are rolled up into projects, and not all projects are highlighted in the Eclipse Foundation's marketing push. Regardless, Galileo represents the largest single release of new technology to date.

The important thing to remember about Galileo in particular and Eclipse release trains in general is that even though it's a simultaneous release, it doesn't mean these projects are unified. Each project is a separate open source project, operating with its own project leadership, its own committers, and its own development plan. The release train concept is designed to provide a transparent and predictable development cycle.

Get Galileo

There are two main ways to get Galileo. The first — and recommended — way is to just grab a package relevant to you. The other way to get Galileo is to use an update site.

Packages

Go to the Eclipse Galileo Packages site. The packages site contains nine pre-bundled versions of Galileo specific for your needs.

Galileo update site

To get Galileo using an update site, download the Eclipse V3.5 SDK. Once this is done, you can launch Eclipse and access the software-update mechanism via Help > Software Updates (see Figure 2). Enter the proper Galileo update site information, if it isn't already available as the Galileo Discovery Site. Once you are connected to the Galileo update site, you should see the list of available features that are part of the Galileo release train. It's as simple as that. Once you're connected, you can simply choose what features to install into your Eclipse.


Figure 2. Software updates


The projects

The Eclipse ecosystem is a large and sometimes intimidating place. About 100 projects are being overseen by the Eclipse Foundation, and the Galileo release only represents a snapshot of that. The Galileo release train showcases Eclipse technology and helps adopters integrate Eclipse technology into their products. For more information about the Galileo projects, see the links below.


ProjectSynopsisWeb site
Accessibility Tools Framework (ACTF)Build applications and content for people with disabilitieshttp://www.eclipse.org/actf/
Business Intelligence and Reporting Tools (BIRT)Generate reportshttp://www.eclipse.org/birt
C/C++ Development Tooling (CDT)Code C/C++http://www.eclipse.org/cdt
Data Tools Platform (DTP)Extensible frameworks and toolshttp://www.eclipse.org/datatools/
Eclipse Modeling Framework (EMF)Modeling framework and code generation facilityhttp://www.eclipse.org/modeling/emf/
Eclipse Packaging ProjectCreate, download, and install packageshttp://www.eclipse.org/epp/
Eclipse PlatformCore frameworks and serviceshttp://www.eclipse.org/platform/
EquinoxImplementation of the OSGi R4 core framework spechttp://www.eclipse.org/equinox/
Graphical Editor Framework (GEF)Develop graphical applicationshttp://www.eclipse.org/gef/
Graphical Modeling Framework (GMF)Develop graphical editorshttp://www.eclipse.org/gmf/
Java™ Workflow Tooling (JWT)Toolset for workflows and processes from design to monitoringhttp://www.eclipse.org/jwt/
Java Development Tools (JDT)Develop Java applicationshttp://www.eclipse.org/jdt/
Java Emitter Templates (M2T JET)Generate textual artifacts from modelshttp://www.eclipse.org/modeling/m2t/
Memory AnalyzerFind memory leaks and reduce memory consumptionhttp://www.eclipse.org/mat/
Mobile Tools for Java (MTJ)Extend Eclipse frameworks to support mobile device Java application developmenthttp://www.eclipse.org/dsdp/mtj/
MylynMonitors your work to make the GUI relevant to what you're doinghttp://www.eclipse.org/mylyn/
PHP Development Tools (PDT)Code PHPhttp://www.eclipse.org/pdt/
Rich Ajax Platform (RAP)Code Ajaxhttp://www.eclipse.org/rap/
SCA ToolsTools for the Service Component Architecture standardhttp://www.eclipse.org/stp/sca/
SOA ToolsCode Service-Oriented Architecture appshttp://www.eclipse.org/stp/
SwordfishExtensible SOA frameworkhttp://www.eclipse.org/swordfish/
Target ManagementConfigure and manage remote systemshttp://www.eclipse.org/dsdp/tm/
Test and Performance Tools Platform Project (TPTP)Tooling for profiling and testing applicationshttp://www.eclipse.org/tptp/
Textual Modeling Framework (Xtext)Code external textual DSLshttp://www.eclipse.org/modeling/tmf/
Tools for mobile Linux (TmL)Code mobile applicationshttp://www.eclipse.org/dsdp/tml/
Web Tools Platform (WTP)Code Web and Java EE applicationshttp://www.eclipse.org/webtools/

Google Developer Days Brazil 2009 - Keynote