Abstract: 3D applications appear in every corner of life in the current technology era. There is a need for an ubiquitous 3D input device that works with many different platforms, from head-mounted displays (HMDs) to mobile touch devices, 3DTVs, and even the Cave Automatic Virtual Environments. We present 3DTouch, a novel wearable 3D input device worn […]
Author Archive | Anh
How to configure a Waf C++ project in Eclipse
I’ve mostly used Eclipse for my Java work. Today I’ve configured Eclipse to build, run and debug my C++ project built on Waf. Waf build tool is not natively supported in current latest Eclipse (Luna Eclipse), so hopefully this entry helps someone trying to achieve the same configuration. I am running Luna Eclipse on Ubuntu 12.04. The […]
A modular wearable 3D input device
I am proudly releasing my video demonstrating a 3D input device that I built for my Master’s thesis: 3DTouch. This is a novel 3D wearable input device, worn on the fingertip for 3D manipulation tasks. 3DTouch is self-contained, and designed to universally work on various 3D platforms. The device employs touch input for the benefits of passive […]
Turning your Arduino Uno R3 into an USB mouse
Tonight I’ve just turned my Arduino Uno R3, which runs the Atmega16U2 chip, into an USB mouse on my Ubuntu 12.04. I thought this guide might be helpful to those who are looking for a solution with similar setup as mine. Basically, this method uses the special USB protocol called Device Firmware Update (DFU) to […]
How to use Bullet Physics engine in Vrui applications
Bullet is an open source physics engine featuring 3D collision detection and dynamics. It has been adopted in game engines like Ogre3D so it would be great to embed Bullet in an Vrui application for immersive environments as well. This post shows you one simple way to make a Bullet Demo program work in Vrui. […]
Integration between CyberGloves and OptiTrack
A few months ago, my lab mate Lionel and I hacked on a project combining CyberGloves II and our optical tracking system, OptiTrack in a virtual environment. The position and orientation of the hands are defined by the markers being tracked by the tracking system; while the bending angles of the fingers are defined by the 22 […]
How to mix MPI and CUDA in a single program
MPI is a well-known programming model for Distributed Memory Computing. If you have access to GPU resources, MPI can be used to distribute tasks to computers, each of which can use their CPU and also GPU to process the distributed task. My toy problem in hand is to use a mix of MPI and CUDA […]
How to make CyberGloves work on Linux via VRPN
Most of open-source VR frameworks like Vrui, or FreeVR are on Linux. Only VRJuggler is the exception that runs on both Windows and Linux. The problem is, at the moment, CyberGloves only run on Windows and these frameworks do not support CyberGloves. This entry will show you how to make CyberGloves work with Vrui via VRPN. […]
Another Pit Demo in Immersive Environments
This summer my lab mate, Lionel, and I have built a Pit Demo for immersive environments at our lab.Users are supposed to wear an Head-Mounted Display and walk on a narrow plank of wood. The main purpose of the demo is to create an experience so that users feel like walking on a real pit […]
Low-cost Augmented Reality prototype for controlling network devices
The Workshop on Off-The-Shelf Virtual Reality is intended to bring together researchers, professionals, and hobbyists to share ideas that leverage off-the-shelf technology for the creation of virtual reality experiences. Building on a successful workshop from IEEE VR 2012, OTSVR 2013 will provide a venue for sharing novel hardware prototypes, software toolkits, interaction techniques, and novel […]
js1k contest – writing a pool game with only 1024 bytes
I was looking for some Javascript contest the other day and found this awesome JS1K contest http://js1k.com/2011-dysentery/. (more…)
What makes your ExtJS application run so slow ?
By “slow” here I mean the slow run-time, not the load time of resources. In the past one year and a half, I have been working at Bosch Software Innovations, Robert Bosch, where our frontend technology stack heavily relies on ExtJS. I had chances to develop Visual Rules Web Modeler and helped with several other […]
ExtJS – How to scroll Ext.Panel by Drag and Drop ?
In an ExtJS panel (Ext.Panel) where the content area is huge but the Panel size is limited, users usually use the MouseWheel to scroll vertically Up and Down. However, the Drag n Drop feature could actually allow users to scroll both vertically and horizontally by dragging and dropping the content (or body) of Ext.Panel. In […]
ExtJS Accordion-Vbox custom hybrid layout
ExtJs has two well-known layouts called Accordion and Vbox. Basically, in a vertical list of panels, AccordionLayout manages multiple Panels in an expandable accordion style such that only one Panel can be expanded at any given time. Each Panel has built-in support for expanding and collapsing. VboxLayout, on the other hand, arranges items vertically down […]
IE z-index bug
Z-index bug on IE is a well-known flaw that most of front-end web developers have heard about. It is documented pretty clear on PPK Quirksmode: http://www.quirksmode.org/…/Explorer_z_index_bug.html and here http://therealcrisp.xs4all.nl/../IE-zindexbug.html Basically here is the break-down of the workaround… (more…)
ExtJS Vertical TabPanel example
Currently, ExtJS 3.1.1 doesn’t support Vertical TabPanel. Here is my simple custom Vertical TabPanel ux class. Currently, it supports the same set of features as Ext.Tabpanel except advanced auto tab-scrolling feature. Default position is “left”. Tested working on FF2+, IE6+, Chrome 4, Safari 4, and Opera 10. You can put the source files in ExtJS […]
The interesting javascript window object
As we all know that in Client-side Javascript, the Window object is the global variable, a host object, that contains attributes of the current opened window. An interesting part is this object also has a property called ‘window‘ which refers to itself. I’m not sure why this special object is implemented that way. (more…)
IE and CSS class-chaining
Internet Explorer 6, 7 both do NOT support CSS class-chaining as a couple of articles floating around on the internet say. Basically, CSS class-chaining is used to select HTML elements which have multiple CSS classes: For example: (more…)
Javascript: Function length vs arguments
One of the reasons quite a number of programmers don’t like Javascript because it’s weird, behaving differently on different browsers.. and hard to debug.. However, it’s quite fun or even addictive to learn JS also for that reason. Below is a brief on two mysterious properties of Javascript functions : length, and arguments. (more…)
ExtJS : How to disable browser context menu
This is a quick solution to disabling browser default context menu when right-clicking in ExtJS. (more…)
JSMag for FREE
JSMag is currently kinda the only Javascript magazine for enthusiastic front-end developers. I’m a subscriber of this magazine, finding it really fun, and interesting to read, especially if you love Javascript. This is a must-read for you :D and only costs $4.99. You can purchase at JsMag or ..I will periodically, and per request, upload […]
Learning Javascript, JQuery w John Resig
John Resig, one of my favorite Javascript experts, recently has just released a site teaching advanced Javascript for intermediate programmers. I myself find this resource very informative. Hope you guys love it too. http://ejohn.org/apps/learn/ and also the page teaching jQuery at http://ejohn.org/apps/learn-jquery/ You could also find more of his lectures in the upcoming book called […]
A JavaScript Module Pattern
This is the first episode in the collection of Great Javascript articles by world’s top-notched Javascript gurus. Our entry this week was written by Eric Miraglia originally posted on Y!UI Blog. Global variables are evil. Within YUI, we use only two globals: YAHOO and YAHOO_config. Everthing in YUI makes use of members within the YAHOO […]
ExtJS : 2 secs with custom vType
Following another question on ExtJS forum, I’ve created a sample of how to use vType for ExtJS newbies. Basically, in form submission you need to validate user input and / or prevent user from entering invalid keys. Pure Javascript implementation could be quite a headache to some folks. ExtJS now provides a regex-based validation class […]
How to remove white spaces from a string
Today at work, I happened to write a function that removes white spaces from a string. After trying different ways using: loops, array indexer, or regex, I came up with the shortest way using regular expression to share with you: (more…)
Ext JS Examples: Drag n’ Drop buttons on a panel
This blog entry was written following a question of an user in ExtJS forum: How to drag n’ drop a button on a panel ? ExtJs people tend to just focus on the grid-to-grid, grid-to-listview.. sort of drag and drop, and forgot to include in their documentation a typical example of ‘drag and drop’ of […]
J!Mint – Joomla Magento Integration
Hi guys, I’m Anh Nguyen (Totti), a student participant in GSoC 2009 under Joomla category, and my project is Joomla Magento Integration, J!Mint. This project is FREE and licensed under GNU GPL 2.0. The main features are : 1. User Synchronization 2. User Management 3. SSO 4. Backend Integration : allows you to control Magento […]
It’s time to blog now..
I used to have a personal website developed in Flash here as I played around with Flash/ActionScript, but it’s quite outdated since 2007. Just realized It’s time to start blogging about Javascript, and web frontend stuff to hear and share with people around. So here comes my blog :)