Amazon Adserver

Sunday, December 21, 2014

Programming in Freespace

   After a previous post called "New Science How To Guide" I added a comment about Freespace Programming without truly clarifying this process.  I wasn't truly very clear about what this entails... it was only a rough hewn concept at that point. There is more to it now, conceptually.
    The concept of programmable freespace is similar to programmable matter. In a field of programmable matter called claytronics an object called a catom, which is essentially a nanoscale robot, is programmed to interact with other catoms. The nanoscale catoms interact like a swarm to form 3d objects. Theoretically any object could be made, as the catoms act like 3d pixels of real matter. This is still conceptual due to the extreme difficulty of making machines and computers on the nanoscale, let alone a whole robot. Regardless the macro-scale modules at Carnegie Melon University are making very interesting progress.
   Programmable freespace is akin to programmable matter, except that it involves manipulating freespace, which is also referred to as energy fields. The space surrounding matter is not empty, but actually contains fields that distort space-time itself. This is useful, but in most materials the fields are too weak to interact effectively to produce anything of interest to mankind. The fields that are strong enough to interact are the electric fields, magnetic fields, and the photon emissions known as electromagnetic waves.
   There are already many devices which are designed to interact with magnetic fields, these are the motors, solenoids, and actuators. However, there is also sciences which can be applied to moving fluids and gases without motors. These are electrohydrodynamics, and magnetohydrodynamics. Neither one of these fields takes into account computing principles or advanced principles interference of waves to produce targeted phenomenon.
     These targeted areas of high or low energy may be thought of as nodes. The location of nodes can be programmed in various ways depending on the design of the system. I've not gotten to schematics yet, but there are a wide variety of methods that could be used. When it comes down to it, the final answer choices will be about the underlying physics, the concept of programmable nodes of interactivity in freespace is still useful regardless of the methods.

   Applications...

   Believe it or not, the most interesting applications of this new concept are force fields, and invisibility cloaks. Matter based invisibility cloaking is being done currently, but is limited by wave length. Wave length shouldn't an issue with nodal lensing techniques, so all frequencies of visible light may be curved around the cloaked object the same way. Ballistic deflection (active deflection force field) would be done in a similar manner, by moving ballistics and their generated forces around an object. Nodal energies would have to be high enough to move ballistics in motion in a vector path away from the shielded object (this may imply different methods used for this application than the cloak, though the theory is the same.)

    The energy expenditure of effective force fields, and invisibility cloaks would necessarily be high due to these being active systems. Any system based on continuous usage of energy to generate large fields that deflect light or ballistics would be high. Usage of such technology, if it is pursued, then must be well managed. It is certainly going to be useful, regardless of what anybody may say of its drawbacks.
   
   

Friday, November 21, 2014

Declaration of Geekdom


    With all the hype in technology, it seems hard to believe, but humans
need a little development too. We are the technology, or rather, our understanding of the technologies enable them to be used. The most savvy, the most developed in these uses of technology are referred to as the geeks.

   I am one of these elite. I strive daily to understand where we are going in terms of technology and what we can do with it. Whenever the movement in technology is open, as it is starting to become, the geeks become the guidebook in what can be done with it.

    More importantly, when we connect, when we share, when we develop new things together, as a geekdom, then these things take a life of their own. This is the root of the open software, and the open hardware movements. This is the start of the maker movement, and without community, we cannot keep its ideals of openness, and collaboration.

   We must not be too guarded. We belong to the geekdom, and this is a community of friends and kindred spirits.

Sunday, November 16, 2014

Mobile Programming Lite

After researching mobile programming in general, and learning that there are essentially two flavors of mobile programming...
mobile websites or mobile app programs (in android .apk files),
I came up with an idea to join the two fields of mobile programming using Java extensibility.

Mobile websites are more straightforward in general than mobile apps. They tend to be HTML5 and javascript based, with the emphasis on interactivity,
and usage on smaller screens. They can be powerful, but deceptively simplistic in design, avoiding unnecessary menus, awkward external navigation and so forth.

Mobile apps are lightweight applications, built with Java or C++ libraries which are created for touch interactivity.
Gaming seems to be one of the most popular applications, but graphics, basic word processing, and other productivity software is available.

Here's the thing for me... Learning a programming language is a huge devotion of time and energy, but for seamless operation it makes sense for a small crew of programmers to know both approaches. So I looked into Java extensibility for making the same HTML5, Javascript, and SVG style programming available in Java. The following list comprises of the best or most widely used options for this type of extensibility.

Thymeleaf - HTML5

http://www.thymeleaf.org/features.html
https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin

Rhino- Javascript 

https://developer.mozilla.org/en-US/docs/Rhino_documentation
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Download_Rhino

Batik- SVG
http://xmlgraphics.apache.org/batik/using/scripting/java.html
http://xmlgraphics.apache.org/batik/using/scripting/ecmascript.html
http://xmlgraphics.apache.org/batik/download.html

LibGDX - Cross platform Game Development
http://libgdx.badlogicgames.com/features.html
http://libgdx.badlogicgames.com/documentation.html
http://libgdx.badlogicgames.com/download.html

There is a library internally developed for the Spring IO platform called Summer for HTML5.
There is also a WebGL library for Google Web Toolkit called GwtGL.
It is supposed to be a full binding for WebGL functionality. Because it is a Google Web Toolkit Library, it is not in other development environments.

The other libraries should be able to be added to the usual android sdk (Eclipse for Android) using the build path method described by a user on the stackoverflow forum
http://stackoverflow.com/a/3643015/4259590


A short conclusion:

 HTML5, Javascript, and SVG have been huge for mobile website development, but Java is the language used for a lot of mobile apps. However, Java is extensible. Adding the libraries for the current web technologies may make cross platform development more accessible to programmers who have principly used web technologies before. This will open up mobile app development to more developers, and make the code across many platforms more consistent.
When I have time, I will play with all of my new ideas, but until then I leave the testing to you.

Eclipse for Android
http://developer.android.com/sdk/index.html

Tuesday, June 17, 2014

What is Enzyme Splicing?

     Enzyme-splicing (as I have called it, since before it was officially invented) is a gene editing technique using enzymes to remove or replace targeted genes. Responsibly used, it will solve some of the problems that are inherent with GMO's. Stability issues are resolved, problematic bacterial genes with unpredictable side effects are completely removed from the process.
    There are real issues that can be solved with genetics other than those traditionally solved with chemical agriculture. Growth issues for plants in poor soils can be resolved by reducing the uptake of growth inhibiting minerals or adding nodules to the roots similar to legumes (thus boosting nitrogen fixing w.o. the need for fertilizers). Water conserving traits found in weeds could be added to crops. Yield per measure of water could be increased, thus making farming cheaper.
    Responsibly enzyme-spliced genes are similar to (at least) millennium-old practices of selecting desired traits from crop plants and cross-breeding them. Some evidence exists that for grains at least, the manipulations of mankind predate recorded civilization.  Enzyme splicing is not traceable using the same techniques as bacterial splicing techniques.
   I regard enzyme splicing as the only technique that should be used to manipulate genes, other than the old hybridization techniques. But, as always, it should done responsibly. Our manipulations of nature may outlast us as a species. To deeply and fully consider a manipulation before it is made is always the best practice. Then, as always, test test test... before humanity is introduced to the effects of the manipulations.    

    Responsibility is key in these operations. I had, for many years, predicted the rise of this technology as a more responsible and safe form of genetics. This was before anyone was actually even doing this kind of splicing or even talking about it. Why did I know about it? Nature actually splices genes in this way (using enzymes) occasionally, and commonly blocks expression of genes this way (using enzymes). Nature has operated beautifully for a lot longer than mankind, I assume that it knows best in this case.