More details at TVHomeScreen project on GitHub
Articles by Kishan Thomas
ePiCal
ePaper Pi Calendar - An ePaper calendar project using Raspberry Pi Zero W
More details at ePiCal project on GitHub
Thamburutronica
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
m.core Microservices Framework
New hackorama project m.core published 🚩
Let's Encrypt Hackorama
Hackorama is now SSL enabled using Let's Encrypt.
Dev shell profile
Development shell profile for bash, vim, git consolidated as devprof with easy install update on any server quickly.
bash <(curl -s https://raw.githubusercontent.com/hackorama/devprof/master/devprof.sh)
Plethora
New hackorama project pushed to github, Plethora
Hackorama App Store
Published Hackorama App on Hackorama App Store on Google Play
Cloud
Now running on the cloud via Digital Ocean
[kitho@valyrian ~]# dig hackorama.com ANY +short 162.243.123.74 ns3.digitalocean.com. ns1.digitalocean.com. ns2.digitalocean.com. ns1.digitalocean.com. hostmaster.hackorama.com. 1447211821 10800 3600 604800 1800 10 mailstore1.secureserver.net. 0 smtp.secureserver.net. [kitho@valyrian ~]#
15 Years
Hackorama Reboot
Redesigned as a minimal, fluid, mobile first site, using Pelican.
Java Properties in Python
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
AnyOption on GitHub
After almost 10 years, many bug fixes and users around the world, moving AnyOption to GitHub
ABC123
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.
Mytago Tag Processing Tech Demo
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
Glass
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.
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.
AnyOption
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
Hackorama
1999-09-03 19:20:25 : hackorama.com registered through register.com 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.
Page 1 / 1