Monday, 13 January 2014

Arduino Fancy 7 Segment LED Display

 Arduino Fancy 7 Segment LED Display


I have written codes to display blinking character 7 segment LED. This is my first "Hello World" program. Checkout the video.

My next plan will be: android controlled robot with camera.

Saturday, 11 January 2014

Narrator Magnification Tool for visual impaired users

Narrator Magnification Tool for visual impaired users


Hi, I have created a tool to assist my colleague in doing his work. His eyesight is very poor and needs to zoom up to 8 times to read a text. I decided to create an application to assist him in doing his work.

The application I created consist of two parts:
-Zoom and invert the desktop color
-Simple speech Speech Synthesizer to read out text of the selected item.


Problems with windows accessibility

Magnifier
-No shortcut key

Narrator
-Reads too much information, causing confusion and information overload.
-No shortcut key


My solution is to create a zooming application that can read out selected item (Combination of Sound and Visual). My preliminary study suggested that this software can speed up users respond for more than 2 times.

My approach in designing this software:
-Using p/invoke to call windows magnification API (there are already code written in C# for Magnification)
-Create a Layered,Invisible,Click-able through window, Example
-Using windows UI automation to detect focused/selected control
-SpeechSynthesizer class to implement Narrator
-RegisterHotKey to register shortcut keys.


Currently this software is under testing mode. It will only work on windows with Aero theme turned on. There is no customization for its setting yet. All setting are hardcoded inside the application. The next release will have adjustable setting and will work on windows without Aero theme applied.

Shortcut keys:

            F1 + Control -zoom out
            F2 + Control -zoom in
            F3 + Control -zoom 8 times
            F12 + Control -Exit
            1 + Control -Hide/show magnifier
            2 + Control -Stop speech engine
            Enter + Alt -Read selected text inside editcontrol
            C + Alt -Read text inside clipboard

Download demo here **Aero theme need to be turned on before running

Duplicate Finder Software


 Duplicate Finder Software



Hi, I have developed a software to find and merge duplicate files.

The logic behind this application is to search duplicate by comparing their content, then merge the files; by deleting and recreate the files using NTFS hardlink.

So user will not realize any changes to their files and folder yet, freed a lot of disk space.
This is only a prototype and a lot of improvement need to be done.

Note that, merge function only available on NTFS local disk.



I am using C# for this application. So, you will need to install .NET 4.0 to use it.

Windows API used:
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        static extern int CreateHardLink(string lpFileName, string lpExistingFileName, IntPtr lpSecurityAttributes);


You can use hashing function to search for duplicates, or you compare it byte by byte: StackOverflow

Download demo here