I spent few time to investigate Eclipse internals. Right now I wondered how this pack of garbage works? Where are all those wise modular decisions that explained in various presentations? If you dig a bit deeper than user API then you will see a lot of terrible places.
IMHO the most expressive are lines 444-459 of org.eclipse.swt.widgets.Display Yes, this is SWT Display that lay in root of every SWT/Eclipse application:
/* TEMPORARY CODE. Install the runnable that * gets the current display. This code will * be removed in the future. */ static { DeviceFinder = new Runnable () { ...
Right now is 2013, that lines was added in 2005 or earlier. Hurray IBM Corporation and others! Hurray! So sad that future always in future. But the garbage is right here, right now.
P.S. But other software are worse. This toolkit at least works in most cases. Welcome to the real world!?
DigiSSHD development is a bit delayed, but I hope that it is temporary. sbt-dependency-manager – SBT plugin that allow to simplify development is now on Maven Central. I hope that it is a complete component of a complex target.
sbt-dependency-manager provides source code lookup and ability to use IDE debugger with various dependencies for all digi- projects. This is extremely important for processes that large enough while developer isn’t able to remember and inspect all components of the development puzzle.
I hope that it is allow for someone to create more complex and more accomplished artifacts. And I am too 🙂
“The art of simplicity is a puzzle of complexity.” – think so.
So put addSbtPlugin("org.digimead" % "sbt-dependency-manager" % "0.6.4.2") in your project, dodependency-fetch-align and develop with pleasure.
Available for Android 2.2+ , ICS ready most code under open source licenses
DigiControl – Lightweight Android agile helper for console applications. It is based on C++ Boost, Scala, AspectJ
DigiSSHD component for DigiControl, based on Dropbear SSH Server and OpenSSH SFTP Server
You may look at QuickSSHd or SSHDroid. Neither QuickSSHd nor SSHDroid were meeting my needs 😡
I think it is mostly working now. There are alot of bugs, but now idea transformed to something real. 🙂
DigiSSHD is first component. SSH server is one of the simplest items of such sort.
If you want to try installing it then follow the instructions below:
download and install DigiControl.apk, DigiSSHD.apk from GitHub (use QR code above)
run _DigiSSHD_ and push BIG button. After a while you will see state ‘Active’
look at your phone IP address annd connect to it with ‘ssh -p 2222 IP.IP.IP.IP’. Password 123
Defects:
please turn at least wifi before run
DigiControl automaticaly download few icons and 2 xml files from GitHub at first run (traffic)
DigiControl conditional logic service start/stop out of sync (so use DigiSSHD to turn on/off)
debug enabled – log files in trace mode written to /sdcard/DigiApps or to /data/data/org.digimead… if sdcard unavailable
Tested at
Asus TF201 ICS 4.0.3 nonrooted
Sony Ericson MT15i 2.3.6 nonrooted
Sumsung Galaxy Note 2.3.6 rooted
Alcatel ??? 2.x nonrooted
Noname android tablet 3.x nonrooted
There are two ACL types (access control list):
interface ACL that defined what network interface(s) will be used (tab service)
connection ACL that defined (by IP) allow/deny rules to access to phone, and interactive mode (tab session)
It may be interested for someone because most part of source code is open.
Common part DigiLib under Apache 2.0 license
Component DigiSSHD under GPL v3 license
Controller – closed sources, but free of charge and no ads (there are some limits to make is public)
It isn’t all open but I think that it is much more than others give to community.
Also it may be interesting because it almost written in Scala. Actualy apk build with scala 2.8.2.
Scala 2.9.x and 2.10.x have some critical bugs in compiller 😦 There are few insignificant java files. Maybe someday it will be replaced with scala code, but I don’t want waste time.
Controller native helper written in C++ with BOOST (I don’t like C, C#, java and assembler 😦 ) It is battery friendly single threaded asynchronous INETD server. This is the only non Scala part.
All application created in XXP style (extreme extreme programming 😎 ) – no unit tests, no design, no comments, only the simplest code that easy to read
If you’ll find BUG 🙂 sure you will 😉 Please open issue on github or click on report in context menu. Report will be uploaded to Google Cloud storage.
Your Help Is Always Welcome 😉
[COLOR=”Red”]If you are interested please help test this software. It is an alpha stage. Not for production use[/COLOR]
user interface – unstable
native helper – mostly stable
dropbear server – stable
PS I don’t want to publish it on market while it is in an alpha stage
It is over sized. So, it is on hold now, waiting for the right moment. I need at least ~0.5M$ to make it alpha stage. So, I reckon, that the DigiNNN software series solve this quest. DigiNNN will be simplest pack of utilities for Android platform available free of charge with no ads. It must be easy enough to bootstrap other processes flawlessly. Priority corrected, targets stayed in order.