Sunday, December 26, 2010

Meego

http://meego.com/

The project of MeeGo 1.1 has been released on October 28th, 2010. It provides a solid baseline for device vendors and developers to start creating software for various device categories on Intel Atom* and ARMv7 architectures.


This release includes:

  • Core OS 1.1 – consolidated common base operating system for all UXs
  • Netbook UX 1.1 - complete set of core applications for netbooks
  • In-Vehicle Infotainment (IVI) UX 1.1 – includes a sample IVI home screen and taskbar built with Qt 4.7 and speech recognition
  • Handset UX 1.1 - technology snapshot implements basic development UX for voice calling, SMS messaging, web browsing, music and video playback, photo viewing, and connection management
  • SDK 1.1  - SDK for MeeGo Core OS and supported UXs

Monday, November 22, 2010

To download Android codes under a firewall blocking the default GIT port

A firewall of an institute can block GIT from downloading source codes from a web site. This may be because the firewall blocks the default GIT port, which is 9418. In this problematic case, HTTP can replace GIT protocol. GIT supports HTTP protocol for download, and firewalls usually permit the HTTP ports. I met this situation when I tried to download Android source codes in a campus of a Korean University. This is a very simple tip to use HTTP protocol to download the Android codes using GIT.


[Steps]


Ubuntu 10.04 LTS is my environment, though it doesn't matter very much.


The general guideline for downloading Android codes is available on http://source.android.com/source/download.html.

According to the above guideline, you are assumed to have the utility, repo, to run successfully it, and to have .repo directory. This is the point where I met the firewall problem.

You need to replace all uses of GIT protocol, "git:", with "http:" in the initialization. I have a little tip to do this quickly and, hopefully, correctly.
  • $ grep -sr "git:" .repo | cut -d: -f1 | xargs -d '\n' sed -i -e 's/git:/http:/g'
In case the above command doesn't work, you may be required to correct some in the command. For the purpose, I give a brief explanation on it.
  • -s of grep to suppress error messages
  • -r of grep to do recursively
  • -d: of cut to use ':' as a delimeter
  • -f1 of cut to select the first column of the delimetered tokens
  • -d '\n' of xargs to use '\n' as a delimeter of xargs this time
  • -i of sed to replace each matched pattern with the target one in place
  • -e 's/git:/http:/g of sed to give a command to substitute every occurrence of "git:" with "http:" globally

    Sunday, November 21, 2010

    WALA

    The T. J. Watson Libraries for Analysis (WALA) provide static analysis capabilities for Java bytecode and related languages.

    http://wala.sourceforge.net/wiki/


    WALA features include:
    • Java type system and class hierarchy analysis
    • Source language framework supporting Java and JavaScript
    • Interprocedural dataflow analysis
    • Context-sensitive tabulation-based slicer
    • Pointer analysis and call graph construction
    • SSA-based register-transfer language IR
    • General framework for iterative dataflow
    • Significant support for J2EE semantics
    • General analysis utilities and data structures
    • A bytecode instrumentation library and a dynamic load-time instrumentation library for Java

    Friday, November 19, 2010

    M2M Machine-to-Machine

    Machine-to-Machine (M2M) refers to technologies that allow both wireless and wired systems to communicate with other devices of the same ability.

    • Standardization
      • ETSI
      • 3GPP MTC, NIMTC
      • 3GPP2 SED
      • IEEE 802.16m
      • Domesitc
        • 한국통신학회 TFID/USN 연구회
        • 방송통신위원회의 사물간지능통신 O2N
        • SKT
        • KT

    Monday, October 18, 2010

    GISToolkit

    The GISToolkit is a free java based mapping toolkit, it has the ability to read geographical data from a variety of data sources and display that information to the user.   It can directly edit geographic features stored in databases to which it has access.

    http://gistoolkit.sourceforge.net/

    Sunday, October 17, 2010

    LDAP, Lightweight Directory Access Protocol

    The Lightweight Directory Access Protocol (LDAP) (pronounced /ˈɛldæp/) is an application protocol for querying and modifying data of directory services implemented in Internet Protocol (IP) networks.


    http://en.wikipedia.org/wiki/LDAP



    OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol.
    The suite includes:
    • slapd - stand-alone LDAP daemon (server)
    • libraries implementing the LDAP protocol, and
    • utilities, tools, and sample clients.

    http://www.openldap.org/



    RBAC, Role Based Access Control

    In computer systems security, role-based access control (RBAC) is an approach to restricting system access to authorized users. It is a newer alternative approach to mandatory access control (MAC) and discretionary access control (DAC). RBAC is sometimes referred to as role-based security.


    http://en.wikipedia.org/wiki/Role-based_access_control


    The NIST RBAC model is a standardized definition of role based access control. Although originally developed by the National Institute of Standards and Technology, the standard was adopted and is copyrighted and distributed as INCITS 359-2004 by the International Committee for Information Technology Standards(INCITS). It is managed by INCITS committee CS1.


    http://en.wikipedia.org/wiki/NIST_RBAC_model

    A open source RBAC implementation

    http://www.openrbac.de/

    PACS, Picture Archiving and Communication System



    In medical imaging, "electronic picture archiving and communication systems (PACS) have been developed in an attempt to provide economical storage, rapid retrieval of images, access to images acquired with multiple modalities, and simultaneous access at multiple sites. Electronic images and reports are transmitted digitally via PACS; this eliminates the need to manually file, retrieve, or transport film jackets. The universal format for PACS image storage and transfer is DICOM (Digital Imaging and Communications in Medicine). Non-image data, such as scanned documents, may be incorporated using consumer industry standard formats like PDF (Portable Document Format), once encapsulated in DICOM. A PACS consists of four major components: the imaging modalities such as CT and MRI, a secured network for the transmission of patient information, workstations for interpreting and reviewing images, and archives for the storage and retrieval of images and reports. Combined with available and emerging Web technology, PACS has the ability to deliver timely and efficient access to images, interpretations, and related data. PACS breaks down the physical and time barriers associated with traditional film-based image retrieval, distribution, and display.


    http://en.wikipedia.org/wiki/Picture_archiving_and_communication_system
    http://en.wikipedia.org/wiki/DICOM

    http://www.rtstudents.com/pacs/free-dicom-viewers.htm
    http://amide.sourceforge.net/

    Lucene, Open-source search software

    http://lucene.apache.org/


    The Apache Lucene project develops open-source search software, including:
    • Lucene Java, our flagship sub-project, provides Java-based indexing and search technology, as well as spellchecking, hit highlighting and advanced analysis/tokenization capabilities.
    • Solr is our high performance enterprise search server, with XML/HTTP and JSON/Python/Ruby APIs, hit highlighting, faceted search, caching, replication, database integration, web admin and search interfaces.
    • Lucene.Net is a source code, class-per-class, API-per-API and algorithmatic port of the Lucene Java search engine to the C# and .NET platform utilizing Microsoft .NET Framework. Lucene.Net is currently under incubation.
    • PyLucene is a Python port of the the Lucene Java project.
    • Open Relevance Project is a subproject with the aim of collecting and distributing free materials for relevance testing and performance.
    • Lucy is a loose C port of Lucene Java, with Perl and Ruby bindings, currently in incubation.
    • Droids is an intelligent robot crawling framework currently in incubation.

    Thursday, September 30, 2010

    Kodu

    Kodu is a new visual programming language made specifically for creating games. It is designed to be accessible for children and enjoyable for anyone. The programming environment runs on the Xbox, allowing rapid design iteration using only a game controller for input.


    http://research.microsoft.com/en-us/projects/kodu/
    http://fuse.microsoft.com/project/kodu.aspx

    Saturday, September 25, 2010

    Accelerated Processing Unit (APU) / OpenCL / GPGPU / CUDA / DirectCompute

    APU (Accelerated Processing Unit, A single architecture with the CPU and GPU integrated)
    OpenCL (Open Computing Language, a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors)
    GPGPU (General Purpose GPU)

    Sunday, September 19, 2010

    Delay and Disruption Tolerant Networking

    Delay-tolerant networking (DTN) is an approach to computer network architecture that seeks to address the technical issues in heterogeneous networks that may lack continuous network connectivity. Examples of such networks are those operating in mobile or extreme terrestrial environments, or planned networks in space.


    Recently, the term disruption-tolerant networking has gained currency in the United States due to support from DARPA, which has funded many DTN projects. Disruption may occur because of the limits of wireless radio range, sparsity of mobile nodes, energy resources, attack, and noise.

    (Excerpted From Wikipedia)

    http://en.wikipedia.org/wiki/Delay-tolerant_networking
    http://www.amazon.com/Delay-Disruption-Tolerant-Networking-Stephen-Farrell/dp/1596930632

    Sunday, June 27, 2010

    SMPTE (Society of Motion Picture and Television Engineers)

    The Society of Motion Picture and Television Engineers (SMPTE) was founded in 1916 to advance theory and development in the motion imaging field. Today, SMPTE serves its members with the latest technology information and education on a rapidly changing industry. SMPTE also is an accredited and globally-respected industry standards-setting body. As the leading technical society for the motion imaging industry, SMPTE is shaping the future of the constantly evolving content business - and is well-positioned to provide its members with many unique benefits - opportunities to:
    • Participate in development of industry standards
    • Gain knowledge through web-based and face-to-face seminars, exhibitions and conferences
    • Access timely information and resources on the latest technology developments
    • Connect with a network of like-minded peers
    http://www.smpte.org/

    SMPTE International Conference on Stereoscopic 3D for Media and Entertainment
    http://www.smpte.org/events/3d_conference/

    Saturday, June 26, 2010

    Google Earth API

    The Google Earth Plug-in and its JavaScript API let you embed Google Earth, a true 3D digital globe, into your web pages. Using the API you can draw markers and lines, drape images over the terrain, add 3D models, or load KML files, allowing you to build sophisticated 3D map applications. If you have an existing Maps API site, you can 3D-enable your page with as little as one line of code.

    http://code.google.com/intl/ko/apis/earth/
    http://www.insideria.com/2008/08/exploring-the-google-earth-api.html

    KML (Keyhole Markup Language)

    Keyhole Markup Language (KML) is an XML-based language schema for expressing geographic annotation and visualization on existing or future Internet-based, two-dimensional maps and three-dimensional Earth browsers. KML was developed for use with Google Earth, which was originally named Keyhole Earth Viewer. It was created by Keyhole, Inc, which was acquired by Google in 2004. The name "Keyhole" is an homage to the KH reconnaissance satellites, the original eye-in-the-sky military reconnaissance system first launched in 1976. KML is an international standard of the Open Geospatial Consortium. Google Earth was the first program able to view and graphically edit KML files. Other projects such as Marble have also started to develop KML support.

    http://en.wikipedia.org/wiki/Kmz

    COLLADA (COLLAborative Design Activity)

    COLLADA is a COLLAborative Design Activity for establishing an interchange file format for interactive 3D applications. COLLADA is managed by the not-for-profit technology consortium, the Khronos Group.
    COLLADA defines an open standard XML schema for exchanging digital assets among various graphics software applications that might otherwise store their assets in incompatible file formats. COLLADA documents that describe digital assets are XML files, usually identified with a .dae (digital asset exchange) filename extension.

    http://en.wikipedia.org/wiki/COLLADA

    Thursday, June 17, 2010

    OpenCV

    OpenCV is a computer vision library originally developed by Intel. It is free for use under the open source BSD license. The library is cross-platform. It focuses mainly on real-time image processing. If the library finds Intel's Integrated Performance Primitives on the system, it will use these commercial optimized routines to accelerate itself.


    http://en.wikipedia.org/wiki/OpenCV

    Tuesday, June 15, 2010

    Derived formats for stereoscopic 3D : JPS and MPO

    Derived formats for stereoscopic 3D



    § JPEG Stereoscopic (JPS, extension .jps) is a JPEG-based format for stereoscopic images.[24][25] It has a range of configurations stored in EXIF fields, but usually contains one image of double width, representing two images of identical size in cross-eyed side by side arrangement. This file format can be viewed as a JPEG without any special software, or can be processed for rendering in other modes.
    § JPEG Multi-Picture Format (MPO, extension .mpo) is a JPEG-based format for multi-view images. It contains two or more JPEG files concatenated together.[26][27] There are also special EXIF fields describing its purpose. This is used by the Fujifilm FinePix Real 3D W1 camera.

    Monday, June 14, 2010

    3D Cameras

    Detailed information about stereoscopic cameras

    3-D Review magazine
    CHDK wiki
        • Modern low cost digital cameras, and even dSLRs, can be mounted in pairs, with both triggered simultaneously. For nonmoving images this can be done by pressing both camera actuating buttons simultaneously, but this is not sufficiently accurate for moving objects. Certain camera models can accept modified programming from an image chip, and the software to trigger a slave camera from a master has been developed as open source software.

    Sunday, June 13, 2010

    OpenBinder

    OpenBinder is a system-level component architecture, designed to provide a richer high-level abstraction on top of traditional modern operating system services. The current implementation runs on Linux, but the code has run on a diverse variety of platforms, including BeOS, Windows, and PalmOS Cobalt.


    http://www.angryredplanet.com/~hackbod/openbinder/docs/html/index.html




    [Excerpted from Wikipedia]



    OpenBinder[1] is a system for interprocess communication. It was developed at Be Inc. and then Palm, Inc.[2] and has more recently been used in theAndroid mobile phone platform developed by Google[3].
    OpenBinder allows processes to present interfaces which may be called by other threads. Each process maintains a thread pool which may be used to service such requests. OpenBinder takes care of reference counting, recursion back into the original thread, and of course the inter-process communication itself. On the Linux version of OpenBinder the communication itself is achieved using ioctls on a given filehandle, communicating with a kernel driver.

    http://en.wikipedia.org/wiki/OpenBinder

    Tuesday, May 25, 2010

    XMLVM

    http://xmlvm.org


    The goal of XMLVM is to offer a flexible and extensible cross-compiler toolchain. Instead of cross-compiling on a source code level, XMLVM cross-compiles byte code instructions from Sun Microsystem's virtual machine and Microsoft's Common Language Runtime. The benefit of this approach is that byte code instructions are easier to cross-compile and the difficult parsing of a high-level programming language is left to a regular compiler. In XMLVM, byte code-based programs are represented as XML documents. This allows manipulation and translation of XMLVM-based programs using advanced XML technologies such as XSLT, XQuery, and XPath.
    XMLVM serves as an umbrella for several projects. For all projects, a Java class file or a .NET executable is first translated to an XML-document. Based on the XML-document generated by the front-end, various transformations are possible. The first transformation cross-compiles from .NET to JVM byte code. Another transformation enables Java or .NET applications to be cross-compiled to JavaScript so that they can run as AJAX applications in any browser. Yet another transformation allows to cross-compile a Java program to Objective-C to create a native iPhone application.

    Saturday, April 17, 2010

    ARToolkit

    ARToolKit is a software library for building Augmented Reality (AR) applications. These are applications that involve the overlay of virtual imagery on the real world. For example, in the image to the right a three-dimensional virtual character appears standing on a real card. It can be seen by the user in the head set display they are wearing. When the user moves the card, the virtual character moves with it and appears attached to the real object.

    http://www.hitl.washington.edu/artoolkit/

    Monday, February 15, 2010

    Roborobo: A Korean Lego MindStorm?

    http://www.roborobo.co.kr/

    SMLtoJS

    SMLtoJs (pronounced "SML toys") is a compiler from Standard ML to JavaScript, which allows programmers to enjoy the power of Standard ML static typing, higher-order functions, pattern matching, and modules for programming client-side web applications.
     
    SMLtoJs compiles all of Standard ML, including most of the Standard ML Basis Library. It also has support for calling JavaScript functions and for executing plain JavaScript

     
    http://www.itu.dk/people/mael/smltojs/
    • All of Standard ML 
    • Standard ML Basis Library support
    • JavaScript integration
    • Simple DOM access
    • Optimization
    • Reactive Web Programming
    cf. GWT (Google's Web Toolkit with a Java to JavaScript compiler)

    Display Serial Interface (DSI) by Mobile Industry Processor Interface (MIPI)

    The Display Serial Interface (DSI) is a specification by the Mobile Industry Processor Interface (MIPI) Alliance aimed at reducing the cost of display sub-systems in a mobile device. This is commonly targeted at LCD and similar display technologies. It defines a serial bus and a communication protocol between the host (source of the image data) and the device (destination of the image data).

    Flite (Festival-lite) : Speech Software at CMU

    Flite (festival-lite) is a small, fast run-time synthesis engine developed at CMU and primarily designed for small embedded machines and/or large servers. Flite is designed as an alternative synthesis engine to Festival for voices built using the FestVox suite of voice building tools.

    http://www.speech.cs.cmu.edu/flite/

    Neurosky: Commercialization Brain-Computer Interface (BCI)

    A brain–computer interface (BCI), sometimes called a direct neural interface or a brain–machine interface, is a direct communication pathway between a brain and an external device. BCIs are often aimed at assisting, augmenting or repairing human cognitive or sensory-motor functions.

    http://en.wikipedia.org/wiki/Brain-computer_interface

    NeuroSky is the worldwide leader in bringing biosensor technology to the consumer mass market. Our well-known partners have utilized our technology to create some of the most exciting products of the year, including Mattel’s Mindflex and Uncle Milton’s Force Trainer.


    http://www.neurosky.com/

    Mindset / Mindset Development Tools / Mindset Research Tools are also provided by NeuroSky.

    Saturday, January 09, 2010

    Future Internet Forum

    The "Future Internet Forum" aims to provide an opportunity to review the forefront information and knowledge on the timely subject of new Internet architecture and related issues. A direction for the future R&D in Internet is expected to be shaped as a result of the presentations and discussion among the experts.

    http://www.fif.kr/

    http://www.asiafi.net/

    Thursday, January 07, 2010

    Certified Programming with Dependent Types

    By Adam Chlipala,
    http://adam.chlipala.net/cpdt/

    This is the web site for an in-progress textbook about practical engineering with the Coq proof assistant. The focus is on building programs with proofs of correctness, using dependent types and scripted proof automation.