Artificially Intelligent

Lets make machines intelligent

with all the summer love- The Indian iPad!

leave a comment »

I am waiting to see what happens to the indigenous Notion Ink Adam and Apple iPad. Will it even turn out to be a war? Both are not released yet- but the coming summer isn’t far away too. Should i quote “breathless anticipation usually reserved by nubile nymphets for rakish rockers.” :-P

Adam beats iPad hands down in all hardware specs- the hardware – the software( Yay! Android and Ubuntu combo is superawesome) but yes we know of the Apple’s marketing strategies. Remember how the tech-blogs like engadget, gizmodo and macrumours assured that the Apple iPod will be a failure! Lmao! It took over the walk-man. Portable music issomewhat defined by it! Let’s see how Apple and Adam fare in terms of Tablets. I am seriously not interested in HP-Slate running Windoze 7, as per the leaked specs on gizmodo :D

Adam touted on its website about them releasing their own SDK. Following thoughts and questions pop-up:
- It’ll run Ubuntu and Android whose SDKs pre-exist. What has Notion Ink got to with realesing their own SDK ? Can someone clear this up for me :=)
- Features, yep, Adam has a lots of them? But Apple has shown in past that mearly packing a device with features doesn’t make it successful.  Looking at iPods and iPhones show that its not the number of features packed into one, its the overall design and vision. lol! The Chinese Phone selling out in street marts has more features jampacked than anything. Need I say more? :-D

Looks great at the moment, but this just brings up more questions. Mostly questions about the screen, but also the positioning of the touchpad on the back of the device. Add to it, Keeping it one the back will require lesser movement on hand while you hold it!

I am using a N900 lately. And yea! Maemo seems to have all the features we’d expect on a device rolled out by Nokia , and it is in all true definitions open source.

If Nokia continue to develop maemo to have the basic features of an iPhone, it’ll take over the world. Till now they’ve not been able to. Oh and yes! Maemo stuff does proper multi-tasking, unlike the iPad by Apple or the iPhone. Its still un-understandable to me why Apple thought that it was OK to release a device like that without it. Even Windows 2.0 had some kind of pseudo multi-tasking. Apple has its own style of winning. period. Mix of thoughts :-P

Back to the NI thing. Just realized the Pixel Qi was the screen tech featured in pop-sci some time ago. Wonderful to see something from that magazine that is actually seeing some use (and some very exciting tech at that).

So I’ll say NI, win win win. Please win! This is sublime, if it is as promised.

Written by alok

April 10, 2010 at 1:31 am

Posted in Multitouch

MY GSOC PROPOSAL !

leave a comment »

so finally yesterday submitted my gsoc proposal now waiting for you’re feedback.

Here’s the link of my proposal so you can read it

GSOC 2010 Abstract for GIMP

Written by alok

April 10, 2010 at 1:19 am

Posted in GIMP

pymt rapid prototyping of MT applications :)

leave a comment »

PyMT is an open source library for developing multi-touch applications. It is completely cross platform (Linux/OSX/Win) and released under the terms of the GNU LGPL.

It comes with native support for many multi-touch input devices, a growing library of multi-touch aware widgets, hardware accelerated OpenGL drawing, and an architecture that is designed to let you focus on building custom and highly interactive applications as quickly and easily as possible.

Since PyMT is a pure Python library, you can take advantage of its highly dynamic nature and use any of the thousands of high quality and open source python libraries out there.

Download it:-

http://code.google.com/p/pymt/

have fun

Written by alok

December 9, 2008 at 12:49 am

T-beta new tracker seems promising

leave a comment »

Community Core Vision, CCV for short (aka tbeta), is a open source/cross-platform solution for computer vision andmachine sensing. It takes an video input stream and outputs tracking data (e.g. coordinates and blob size) and events (e.g. finger down, moved and released) that are used in building multi-touch applications. CCV can interface with various web cameras and video devices as well as connect to various TUIO/OSC/XML enabled applications and supports many multi-touch lighting techniques including: FTIR, DI, DSI, and LLP with expansion planned for the future vision applications (custom modules/filters).

Download:

http://ccv.nuigroup.com/

Written by alok

December 9, 2008 at 12:31 am

Good ps3 hack by Alex

leave a comment »

Well boys and girls, I’ve been working hard last few weeks to make this great camera work under Windows.

As you may seen it before, here are the specs:
- 4 channel audio input:16 bits/channel, 48kHz, SNR 90db
- 56º or 75º Field of View zoom lens
- 2.1 F-stop, <1% distortion, fixed focus (25cm to 8 at 75º FOV)
- 640 x 480 at 60 frames/second
- 320 x 240 at 120 frames/second
- USB.0 high-speed data transfer
- Uncompressed video or optional JPEG compression
This makes the PS3Eye ideal for multitouch applications. The best part is the price $39.99! I found mine here.
Now, the main problem with this camera is that there are no drivers for Windows. The camera’s chipset info is virtually non-existent on the web.
After examining the camera internals (pictures here) I found that it features the OV534-LB50 camera USB 2.0 bridge and the OV7720 CMOS VGA sensor. Both of these are made by OmniVision.
I started thinking to my self: “This camera is awesome and it will be such a great and inexpensive replacement for Firefly MV and the like. If we could just get it to work under Windows…”

Initially, I started poking around with the USB trying to send some commands to the PS3Eye and see what happens…
After many long nights I’m bringing you the result:
- Full VGA (640×480) 60fps video capture test app that features uncompressed high quality raw video
- Low CPU overhead (since there is no decompression involved on the PC)
- Very low latency (1 frame time period)

The camera currently streams video in YUYV format, therefore each frame is 640*480*2 bytes.
At 30fps this amounts to about 17.5MB/s which is pretty low in comparison to the total USB 2.0 bandwidth.
At 60fps the amount of data gets higher and it could be affected by other peripherals connected to the USB host controller.
This is why it is recommended that the camera be the only device connected to the USB host controller.
Most of the CPU overhead that I currently have is the color conversion code that is implemented in straight C/C++ without any SIMD optimizations.
For real (MT) applications this code will go away, since we will be extracting raw grayscale image (every second byte of YUYV).

My driver exposes PS3Eye camera as a device with direct access, thus eliminating the complexities and the overhead of DirectShow system.
For multitouch applications (where low latency is a key) I will be working on custom PS3EYE capture filter for use in TouchLib. In parallel I will be working on a DirectShow filter that will allow wide use of this camera on Windows.

Installation:

- Unplug the PS3Eye camera from your comupter.
- Download and run the latest CL-Eye Platform file.
- Click ‘Install’ and follow the setup process.
- Plug in the camera.

After successful installation, your Device Manager should look similar to this:

Now run the PS3EyeTest.exe program, and the captured video as well as the FPS counter will be displayed.

I added the camera image controls:

Go, try it for yourself…

Enjoy!

~Alex

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Written by alok

December 9, 2008 at 12:29 am

Posted in Robotics

Tagged with , ,

Multitouch window of future computing !

leave a comment »

Multi-touch is an enhancement to touchscreen  technology, which provides the user with the ability to apply multiple fingers gestures simultaneously onto the  to send complex commands to the device.

Multi-touch has been implemented in several different ways, depending on the size and type of interface. Both touchtables and touch walls project an image through acrylic or glass, and then backlight the image with LED’s. When a finger or an object touches the surface, causing the light to scatter, the reflection is caught with sensors or cameras that send the data to software which dictates response to the touch, depending on the type of reflection measured. Touch surfaces can also be made pressure-sensitive by the addition of a pressure-sensitive coating that flexes differently depending on how firmly it is pressed, altering the reflection.Handheld technologies use a panel that carries an electrical charge. When a finger touches the screen, the touch disrupts the panel’s electrical field. The disruption is registered and sent to the software, which then initiates a response to the gesture.

In the past few years, several companies have released products that use multitouch. In an attempt to make the expensive technology more accessible, hobbyists have also published methods of constructing DIY touchscreens.

some good sources to know more about Multitouch

Written by alok

December 5, 2008 at 3:30 am

Posted in Multitouch, Tech Talks

Tagged with

Good websites to learn Gimp

leave a comment »

Are you into photo editing and image manipulation? If that’s a ‘yes’ then I’m sure you’ve heard of the GNU Image Manipulation Program, codename GIMP. The GIMP photo editor is a free and light alternative to Adobe Photoshop and is very capable of handling all of your image processing needs. If you’ve mastered MS Paint and don’t have deep enough pockets for Photoshop, GIMP is for you.

So you want to learn the GIMP photo editor? You see, that’s the thing with image editing programs, they’re extensive. You can literally do so much with them that it’s hard to figure out what all the buttons and settings actually do.

Luckily there are websites to help you learn Gimp online. We’ve covered one such resource previously here at MUO called VunkySearch. We’ve also taught you ‘How To Use Scripts & Plugins in GIMP’ and how to ‘Batch Edit Your Images with GIMP’. Additionally, the following is a list of 5 of the best websites to help you learn the GIMP photo editor.

Written by alok

December 5, 2008 at 3:26 am

Posted in web

Tagged with ,

gimp keyboard shortcuts

leave a comment »

By default, many tools and commands in GIMP have keyboard shortcuts assigned to them. Those that don’t have default settings can have shortcuts assigned using the GIMPKeyboard Shortcut Editor, as explained in our . This technique can also be used to change shortcuts to settings that suit you better.

There is, however, another way for GIMP users to change and assign shortcuts and this is by enabling and using Dynamic Keyboard Shortcuts. The following steps will explain how you can make use of this feature to customize GIMP to function more as you want it to.

1. Open Preferences

Open preferences

Firstly, go to the Edit menu and select Preferences.


2. Activate Dynamic Keyboard Shortcuts

Activate dynamic keyboard shortcuts

In the Preferences dialog, select Interface in the list on the left to open the User Interface panel. In this panel, ensure that the Use dynamic keyboard shortcuts checkbox is checked and also that theSave keyboard shortcuts on exit checkbox is checked so that any shortcuts that you set will be available the next time you open GIMP.

3. Choose a Command

Choose a command
I want to add a keyboard shortcut to the Save a Copy… command in the File menu, as this doesn’t have a default setting, and it’s a shortcut I like to use quite regularly when using GIMP. You’ll note that in the screen grab all of the save commands and some others are grayed out, so I’ll have to open a new document in order to make the Save a Copy… command accessible.

4. Assign Your Keyboard Shortcut

Assign your keyboard shortcut© Ian Pullen

With a new document opened I can now hover the cursor over theSave a Copy… command and press the keyboard combination that I want to assign as the new shortcut. You’ll now see the key combination appear to the right of the menu command. I’ve chosen to use Ctrl+Alt+S as my new keyboard shortcut for Save a Copy…, but you can select whatever shortcut best suits you. Do note, however, if you use a keyboard combination that has previously been assigned to another command, you won’t receive a warning and the shortcut can no longer be used to activate the old command.

5. Start Customizing GIMP

This is just another way to customize your installation of GIMP so that it works in a way that suits you best, rather than you adapting yourself to fit in with GIMP.

However, while GIMP Dynamic Keyboard Shortcuts can be a very useful feature of this popular image editor, do bear in mind the following tips before using it.

6. Tips

  • Think about which tools and commands you use and only worry about assigning shortcuts to these, rather than every available feature.
  • Take a few moments to consider if the keyboard shortcut you are going to use is already assigned to another feature that you regularly use, as you will not be warned of this conflict. If more than one user use the same copy of GIMP, it would be best to check with other users before changing existing keyboard shortcuts.
  • If you want to use GIMP Dynamic Keyboard Shortcuts to change a shortcut for a tool from the Toolbox palette, you will have to find the tool in the relevant sub-menu of the Tools menu, rather than hovering over the tool in the Toolbox.

Written by alok

December 5, 2008 at 3:10 am

Posted in GIMP

Tagged with , ,

basic steps with Gimp

with one comment

Have you been planning on getting around to learning how to use the GIMP someday? Well now that the GIMP has had its tenth anniversary, it’s about time to start. In this article, I will walk you step by step through the process of making a web banner using the GIMP. Hopefully this kickstart will encourage you to do more playing on your own.

Long regarded as one of free software’s “killer apps”, the GNU Image Manipulation Program (GIMP) is a tool that has amassed a large number of users and is one of the most popular free software applications today. The different versions of GIMP vary slightly in the way they are laid out. For this tutorial, I have used version 2.2.10 the most current stable version at the time that I am writing this article. The best way to learn from this tutorial is to open GIMP up and follow along as I explain how to make a web banner. It’s virtually painless, so take a seat and let’s begin.

Opening GIMP

GIMP saves the status of your open windows, so starting the program can sometimes cause a dizzying cascade of windows to open that can be quite overwhelming to the new user. The only window that you absolutely need to have open to begin is the tool window.

It is the small window containing all of the icons. It is titled “The GIMP”. To start, close all other windows until you need them.

The GIMP main tool window
The GIMP main tool window
Now that we are alone with the main GIMP window, let’s take a look at it shall we? It has three menu items: FileXtns, and Help.

The File menu has your basic Open andNew options as well as something called Acquire. If you have a scanner, you can configure GIMP to work with it, and your scanner interface will be found here. Acquire also has an option called screen shot which will allow you to grab an image of a window.

Xtns has plugins and scripts for advanced users. Ignore it for now. Help is very useful for new users, so take some time to see what the options do later. Now we will return to the main part of the tool window.

The major part of the tool window is taken up by several little icons. If you hold the mouse over each icon, text will pop up explaining what it does.

The bottom of the window shows the tool options. This will change as each tool is selected above. The tools can be changed to do many things allowing you a great deal of freedom.

Since GIMP is an image processing program it is best to begin with an image. Select the file menu and open an image file. I started with a digital photograph that I took named sunset1.jpg. I suggest that you simply open an image currently on your computer to practice with.

My starting image: sunset1.jpg
I want to use this image to make a web banner to put on a new webpage called “My nature page”. The size and shape of this image is wrong for a web banner, so I first need to cut down the image. To do this, I use the crop tool.

The crop toolThe crop tool is the one that looks like a little craft knife. When you select the tool the cursor changes. Make a box by holding down the left mouse button and pulling it across diagonally from the top to the bottom. Select the most important part of the image. Your selection will be highlighted.

Once you have drawn the box, you can adjust the size by selecting one of the dark squares on the corners and moving it while holding down the left mouse button. The size in pixels is displayed in the crop/resize tool window that pops up when you use this tool. You can change the units to inches or whatever you like best by selecting the little px next to the number.

To specify a size, grab a corner of the selection and move it slowly while looking at the tool window. I resized my image to have a width of 1600 and a height of 500. When you are satisfied with the selection, hit the crop button.

Once you crop the image, all of the rest of the image is gone! If you really didn’t want to erase the rest of the image? Don’t panic. Click the right mouse button over the image screen and a menu will pop up. Go to edit, and the top menu item says “undo crop image”.

GIMP has a long undo buffer and you can go back several steps if you need to. However,the best way to make sure that you don’t destroy the original image is to save your new image under a different name.

GIMP has a long undo buffer and you can go back several steps if you need to

Right-click on the image to open the menu, then under the File menu choose “Save as...” to save the image with a new file name. I saved my cropped file assunset1banner.jpg.

Written by alok

December 2, 2008 at 9:45 pm

Posted in Uncategorized

Tagged with

Share Internet connection in a network – Part 1

leave a comment »

STEPS TO SHARE INTERNET CONNECTION OVER A LAN

Do you want to connect two computers over a LAN using a ethernet cable and use a single internet connection on both computers? Then this topic is just right for you. You can connect computers and laptops – one to one conncetion using crossover cables. Crossover cables can be built with parallel ports and serial ports. But here i discuss the simple method using the ethernet cable.

Requirements:

1) Both computers must have a ethernet card and the socket.

First decide on which computer is going to act as the host computer and which computer will be the client.

Procedure To setup LAN with internet connection facility:

Setup host Computer:

Goto start>programs>accessories>communication>Network setup wizard wizard
1)Next
2)Next
3)Specify This computer connects directly to the Internet.

image

image

4)If the computer has more than one network connection, this screen appears. Specify Let me choose the connections to my network and click Next.

image

image

5)Select the connection to the ICS server and click Next.

image

image

6)Enter a computer description and computer name. The description appears in My Network Places or Network Neighborhood on other networked computers. The computer name must be unique on the network. For maximum compatibility with all versions of Windows, use 1-12 alphanumeric characters, with no blanks.

image

image

7)Enter a workgroup name, which should be the same on all of the networked computers. Once again, use 1-12 alphanumeric characters, with no blanks. Be default, the Wizard uses the name MSHOME. If your network uses a different name, enter it here.

image

image

8) The Wizard displays the settings that you’ve made. Scroll down the list to see all of them. To change a setting, click Back. To accept the settings, click Next. To stop running the Wizard, click Cancel.

image

image

9) The Wizard then configures the computer’s network settings. The process may appear to stop for a time, but let it continue to completion.

image

image

10) If the Wizard is running on a Windows XP computer, this screen appears. Specify Just finish the wizard and click Next.

image

image

11)When the configuration is complete, the Wizard’s Completion screen appears. Click Finish to exit
.

image

image

12) Restart the computer when prompted

image

image

Set the client computer:

Goto start>programs>accessories>communication>Network setup wizard wizard

1)Specify This computer connects to the Internet through another computer (the ICS server), and click Next.

image

image

2)If the computer has more than one network connection, this screen appears. Specify Let me choose the connections to my network and click Next.

3)Select the connection to the ICS server and click Next.

4)Enter a computer description and computer name. The description appears in My Network Places or Network Neighborhood on other networked computers. The computer name must be unique on the network. For maximum compatibility with all versions of Windows, use 1-12 alphanumeric characters, with no blanks.

5)Enter a workgroup name, which should be the same on all of the networked computers. Once again, use 1-12 alphanumeric characters, with no blanks. Be default, the Wizard uses the name MSHOME. If your network uses a different name, enter it here.

6)The Wizard displays the settings that you’ve made. Scroll down the list to see all of them. To change a setting, click Back. To accept the settings, click Next. To stop running the Wizard, click Cancel.

7) The Wizard then configures the computer’s network settings. The process may appear to stop for a time, but let it continue to completion.

8) If the Wizard is running on a Windows XP computer, this screen appears. Specify Just finish the wizard and click Next.

9)When the configuration is complete, the Wizard’s Completion screen appears. Click Finish to exit.

10) Restart the computer when prompted

After both computers are restarted: Test the connection :

To test if the connection is established , goto run>command
Then type : Ping 192.168.09.2 from the host computer. it must return values and results and not say time out!!!.

This test will just test the connectivity of both computers . The final step is yet to be followed where we will share our internet connection..If you have completed till this step you will be able to share datas over the LAN connection.

Written by alok

December 2, 2008 at 8:34 pm

Posted in Uncategorized

Follow

Get every new post delivered to your Inbox.