open source terminal and scanning

Brian K. White brian at aljex.com
Mon Oct 25 14:54:56 PDT 2010


Aha!

Looks like this might be the answer to unencumber the twain stuff in the 
hacked PuTTY package.

http://www.gnome.sk/Twain/jtp.html

I can include that right in and never have to worry about it again 
instead of having to exclude the DTwain/TwainSave dll and the .h file 
that includes it's unlock key. And I can ship a Makefile or code::blocks 
project, and NSIS installer generator script, that actually work out of 
the box because all necessary parts are actually included.
Bonus it supports both TWAIN and SANE so at some point the terminal 
emulator can be made to work on both windows and linux. The other stuff 
I use the exec() feature for are 99% just to launch urls, which can 
certainly be done more directly and safely on linux than by exec().
And for those things we currently use exec() for that aren't urls, maybe 
even exec() isn't so bad even on linux if you just limit it's $PATH to a 
special dir, or add a config option that lists allowed exec() commands 
explicitly, or add a tiny metalanguage for defining custom OSC commands 
instead of building them into the app...

Also I put the source into a gitweb but I haven't really figured out git 
or gitweb. I managed to create a git repo out of the source archive, and 
get it publicly browseable via gitweb, then managed to get the url to be 
nicer via vhost setup on the host machine, but in the process broke the 
ability of gitweb to execute gzip, so the download snapshot button 
doesn't work (you get a zero byte tar.gz and error_log on the host shows 
permission denied executing /bin/gzip)

So at the moment, the source is browseable at http://git.aljex.com
but downloadable at http://install.aljex.com/AljexClient
While I'm still futzing around trying to learn git, the nice url may 
break momentarily once in a while.

Also, since I would wish this to become a more community effort I am 
thinking of changing the name from Aljex to something generic like open 
vertical terminal or similar. The idea is, the app is meant for use in a 
vertical/integrated and/or even turnkey or kiosk context, which is why 
it's not just PuTTY or any of several other already open terminals 
because vars have special needs to provide a more seamless and 
effortless experience for the user, so it has to include things no 
existing upstream project will want in their main trunks. And, you want 
a name that lends itself to a filename extension that isn't going to 
collide with anything else so you can register the extension for 
autolaunching in the installer.
I currently use .at for this, and an at:// url  for Aljex Term, (because 
"Aljex Saved Session" is right out! ;) and an as:// url for AljexScan. ( 
I was also going to use tsu:// for scanning, Twain Scan & Upload, and my 
cgi for receiving and displaying scans is named that ) . but .vts, .vtc, 
.vtf, .vt<something>, .ovt, etc are all good options.

I'll also set up a mediawiki so that documentation can grow.

If anyone knows anything about git and wants to help make this work and 
have commit access to improve the code let me know.

I have to get a de-aljex-ified version of the scanning cgi up there too 
because it's kinf of hard to say "hey we have free scanning, it works 
great, really" if all the parts to do it are not there to see and copy.

-- 
bkw


More information about the Filepro-list mailing list