What is Augmented Reality ? How to develop Augmented Reality applications ?

Now, we start to hear many smartphones or tablet pc feature Augmented Reality (AR). But what is it exactly ? Are there any applications right now? How to development application making use of Augmented Reality? Augmented Reality Definition Ronald Azuma’s definition says that Augmented Reality: combines real and virtual is interactive in real time is registered in 3D Augmented Reality Applications Augmented Reality usually involves a real-life background capture (image or video) which is then going through image recognition and finally some data is overlaid on top of this background. Here’s a some of applications that are available today (commercially or experimentally): PSV Eindoven has created an application to track offside at football matches. Augmented Reality Business cards can be scanned, recognized and a video presentation of the person and/or the company on the business card can be played back. Augmented Reality can help you find your way (and your holes) at golf courses. There are numerous Augmented Reality maps …

Detecting Code Duplicates in C/C++ with CCFinderX

Over time, as your source code repository and software team(s) grow, you may have more and more code that just does the same thing. This is obviously not desirable since several persons work on code doing the same thing, so you just pay twice for the cost for development and debugging. To avoid this issue, proper team communication and management must be in place (e.g. discourage copy/paste of source code, use a common source control repository..). However, it might be difficult to always detect where the code duplicates are. Luckily, code duplication analysis tools such as CCFinderX are here to help. As described on CCFinderX website: CCFinderX is a code-clone detector, which detects code clones (duplicated code fragments) from source files written in Java, C/C++, COBOL, VB, C#. CCFinderX is a major version up of CCFinder, and it has been totally re-designed and re-implemented from scratch. Its new design and technologies aim at improving performance, enabling a user-side customization of …

Languages, Unicode and Charset

If your application needs to support multiple languages or if it needs to support languages with different character sets such as simplified Chinese (GB2312, GBK, GB18030, HZ,..) or traditional Chinese(BIG5, HKSCS, EUC-TW) you’ll need to make yourself familiar with Unicode and the different character sets. In this article, we’ll focus on introducing character sets,  manipulating and converting charsets and the possible challenges you may encounter while handling Unicode text files. If you plan to support multiple languages, you’ll also have to internationalize your application, for example by using Po files for different languages, a Po file editor and possibly have the translations done in launchpad if your project is open source. But this would be another subject. Go for Unicode If you are building a new application make sure its structure is based on Unicode (UTF-8, UCS-2, UTF-16 or UTF-32 ) since those charsets can handle most written languages (UTF: Universal Character Set) and are widely used. UTF-8 is the …

Android 2.2 is now available for Archos 28/32/43/70/101 Internet Tablet

Archos has just released a firmware update for Gen8 Devices with Android 2.2.1. This will be faster and more responsive, but you’ll have to wait a bit longer for flash support since they need the flash plugin to be certified. If you already installed Google MarketPlace on your Archos device, you might need to wait for a new gApps4Archos.apk file or follow the instructions here, install the new version for Android 2.2. The file name is now gApps4Archos2.apk. Here are the features of this firmware update (2.0.54): 1. New Features of Android 2.2.1 Higher performance: Just In Time compiler (JIT technology), makes applications run up to 5 times faster than previous 2.1 Eclair (firmware 1.0.84). Enhanced Microsoft® Exchange support: it is now possible to synchronise contacts and calendar events. Allow to install more 3rd party applications by installing them on the internal storage memory (for applications that support it). New widgets: home screen “tips widget” providing some helpful information. Easier …

Resources for Intel Atom CE41xx: CE4100, CE4130, CE4150

Intel Atom CE4100 (Codename: Sodaville) is a System-on-Chip (SoC) media processor designed for use in set-top boxes, media player and internet TVs such as D-Link Boxee Box and Sony NSX-24GT1 Google TV. The Atom CE4100 is a 45nm-manufactured SoC running at 1.2 GHz. The Atom CE4100 supports hardware decode of up to two 1080p video streams (H.264, VC-1, MPEG-4/Divx..)  and advanced 3-D graphics. It is also able to handle Adobe Flash 10 and 3D gaming as well. For further details about the processor, please refer to Intel Atom CE4100 Product Brief. [ad#Google Adsense – Wide Banner] The Atom CE4100 custom linux kernel and SDK are not publicly available, and you’ll need to contact an Intel FAE if you want to develop on the platform. However, some development tools for Atom (i.e The Intel(R) Embedded Software Development Tool Suite for Intel(R) Atom(TM) Processor) including a C++ compiler (GCC compatible), performance primitives (optimized multimedia functions), performance analyzer, application debugger ans JTAG Debugger …

Battery-less embedded devices with Power Harvesting

Embedded systems without batteries nor connection to the mains, is that possible ? The answer is Yes!. For ultra low-power devices, Power Harvesting (aka Energy Harvesting) may be an option. By harvesting the energy from vibration from people walking or cars crossing bridges, automobile heat, broadcasting waves, light, wind, etc.. it is possible to capture enough energy to power very small devices such as wearable electronics and wireless sensor networks. The illustration below show the multitudes of tiny sources of energy around us. Please refer to the table below to see what amount of energy might be harvested depending on the source. Energy Source Examples Energy per unit area Vibration Walking, motors, bridges 10-3 to 10-4 W/cm2 Light Lighting, sunlight inside rooms 10-4 W/cm2 Heat Body heat, vehicle waste heat 10-5 W/cm2 Electromagnetic waves Broadcasting, wireless LAN emissions 10-6 W/cm2 The two main advantages of devices that can be powered without battery are The cost (By eliminating batteries and battery …

In-Home Displays for Smart Grid – Atmel – Mentor Embedded

I’ve just attended a webinar organized by Mentor Graphics entitled “In-Home Displays: Enabling Smart Grid into every home” with Atmel and Mentor Embedded. This webinar is now available on-demand at http://go.mentor.com/hAz8 This webinar is divided into 2 parts: Frederic Gaillard – Product Marketing Manager at ATMEL – gave an overview of Smart Grid and its different components and presented Atmel Solutions: MCU/MPU, wireless chips (Zigbee/Wi-Fi) and touch screen chipset. Gordon Cameron – Business Development Manager at Mentor Embedded – focused on the difficulties in developing a user interface for In-Home Displays within a short time frame and how Mentor Embedded UI design solution Inflexion could help greatly reduce the development schedule. There was no external files for this webinar, so I created 2 PDF with the most relevant slides for your reference: Atmel Smart Grid and In-Home Displays Mentor Embedded In-Home Displays UI Development Tools Frederic Gaillard shortly explained the Smart Grid Ecosystem and it’s different components as you can …

Sharing Thunderbird Emails between Windows and Linux

I’ve used Windows XP with Linux in a virtual machine (VirtualBox) for a while. But since this proved to be very slow,  I’ve just installed Ubuntu (dual boot mode) in my PC. However, I wanted to be able to use the same Thunderbird profile in both OS. So here’s how to do: After installating Ubuntu, open a terminal window and: 1. Install Thunderbird: sudo apt-get install thunderbird 2. Start Thunderbird in Profile Manager mode: thunderbird -profilemanager Then create a new profile (any name) and click on “Change folder” and point it to your Thunderbird profile in Windows (Something like: Documents and Settings\username\Application Data\Thunderbird\Profiles\abcdef.default). You may delete the default profile and start Thunderbird. You should then see all your emails and RSS feeds in Thunderbird and receive and send emails in Linux as you used to in Windows XP.