Articles by Kishan Thomas

  1. Thamburutronica

    Sat 26 November 2022


    A wood working and microcontroller project to create a touch sensor electronic chord version of Indian string instrument thamburu aka thanpura, tambura, tanpuri

    Get the wood work templates and full microcontroller source code at Thamburutronica project on GitHub

  2. Dev shell profile

    Fri 08 March 2019

    Development shell profile for bash, vim, git consolidated as devprof with easy install update on any server quickly.

    bash <(curl -s

  3. Plethora

    Sun 28 February 2016

    New hackorama project pushed to github, Plethora


  4. Cloud

    Sun 08 November 2015

    Now running on the cloud via Digital Ocean

    [kitho@valyrian ~]# dig ANY +short 1447211821 10800 3600 604800 1800
    [kitho@valyrian ~]#
  5. 15 Years

    Wed 03 September 2014

    15 Years of Hackorama, live since 1999-09-03 19:20:25

    hackorama logos

  6. Java Properties in Python

    Wed 04 July 2012

    Get code from GitHub

    Read the key, element pairs from a java properties file

    while natural_line:
        # skip blank lines and comment lines, process only valid logical lines
        if natural_line.strip() and COMMENT_LINE.match(natural_line) is None:
            logical_line = natural_line.lstrip().rstrip(LINE_BREAKS)
            # remove multi line delim and append adjacent lines
            while MULTI_LINE.match(logical_line): 
                logical_line = logical_line.rstrip()[:-1] + propfile.readline().lstrip().rstrip(LINE_BREAKS)
            pair = SPLIT_DELIM.split(logical_line, 1)
            if len(pair) == 1: pair.append(DEFAULT_ELEMENT)
            pair = [re.sub(VALID_ESC_DELIM, '', item) for item in pair]
            pair = [re.sub(ESCAPED_ESC_DELIM, ESC_DELIM, item) for item in pair]
            pair = [unicode(item, 'unicode_escape') for item in pair] 
            result[pair[0]] = pair[1] # add key, element to result dict
        natural_line = propfile.readline()
    return result

    Follows the java properties file format and tested against the Java 6 version of java.util.Properties

    Get code from GitHub

  7. AnyOption on GitHub

    Sat 10 December 2011

    After almost 10 years, many bug fixes and users around the world, moving AnyOption to GitHub

  8. ABC123

    Tue 29 July 2008

    Get ABC123 from GitHub

    Created for my toddler to play on the laptop and learn alphabets and numbers.

    This was way before tablets and thousands of applications for kids.

    Bare bones single window application that will go full screen and will only respond to alphanumeric key strokes and won't lose focus.

    screenshot screenshot screenshot

    Get ABC123 from GitHub

  9. Mytago Tag Processing Tech Demo

    Sat 31 May 2008

    Get Tag Video Decoder from GitHub

    Archiving the code remains of Mytago tag system project from 2006. Developed for J2ME/Symbian phones and was obsoleted by the smart phone era with better camera and processing power.

    See all related projects and information at the Mytago page

    This is a technology demonstration of tag image processing from a live video stream, using the webcam on a windows system as the video source.

    Download VDecode.exe demo binary and try out on any windows laptop with webcam.

    Use this demo tag as input

    Demo Tag

    Get Tag Video Decoder

  10. Glass

    Fri 04 March 2005

    Java3D psuedo transparent window hack.

    Java GUI API's (AWT/SWING) or Java3D does not provide transparent windows or shaped windows like other platform specfic API's like X/Motif or MS Windows API.

    Glass Screenshot

    This is a hack for a psuedo transaprent window using Java Robot API to do a screen capture and using it as the background on the Java 3D wiew on a JWindow created without any window decorations.

    Get Glass from GitHub

  11. AnyOption

    Thu 12 July 2001

    Get AnyOption from GitHub

    AnyOption is a C++ class for easy parsing of complex commandline options. It also parses options from a rsourcefile in option value pair format.

    AnyOption implements the traditional POSIX style character options ( -n ) as well as the newer GNU style long options ( --name ). Or you can use a simpler long option version ( -name ) by asking to ignore the POSIX style options.

    AnyOption supports the traditional UNIX resourcefile syntax of, any line starting with "#" is a comment and the value pairs use ":" as a delimiter.

    An option which expects a value is considered as an option value pair, while options without a value are considered flags.

    Please read the header file for the documented public interface, and demo.cpp for an example of how easy it is to use AnyOption.

    • July 2001, Original version
    • August 2004, added bug-fixes, and updates send by Michael Peters of Sandia Lab.
    • September 2006, fix from Boyan Asenov for a bug in mixing up option type indexes.
    • July 2011, fix from Min KJ and Costantino G for string allocation.
    • Dec 2011, Moved to Github

    Get AnyOption from GitHub

  12. Hackorama

    Fri 03 September 1999

    1999-09-03 19:20:25 : registered through and hosted on lcoal bay area provider Hurricane Electric using shared cohosted Linux server with Apache web server and full SSH acces.

    Handcrafted content with mostly static content with some dynamic content using SSI, PHP and JavaScript.

    Hackorama 1999 Logo

Page 1 / 1