Flash is dead, long live Flash

May 24th, 2010

It’s no different just because Apple are doing it, since I can remember everyones bitched about Flash. To be honest even Flash devs do it. But hey, they’re allowed right? cos they’re Flash devs. It’s funny to witness around the blogosphere Flashers complaining of how their tool is restrictive by nature and holds back their creative ambition, but when other technologists do it they cut them down and rush to defend their beloved platform.

Steve Jobs ‘opinion’ and HTML5 are the current arsonary against Flash and it should be pointed out that these are viable forces. However, is Flash to be judged on its current state and not how it will change and adapt? So we are allowed a HTML5 but not a Flash 11? or 12 or 13? Technology evolves must faster than the pace of standards and the future certainly isn’t at the pace that we comprehend things. Flash has always stood to innovate in the place of things that weren’t standard and to be honest it always will. Standards today wont be the standards of tomorrow and are merely a current direction for growth, but we will always need a concurrent non standard technology running on top of that for the sake of innovation. This is what lets our usage shape how the next standards should emerge.

The biggest problem with Flash over recent years has been inclusivity. Users dictate the most ubiquitous platform and as Flash has evolved it’s increased in complexity, this is contrary to why it became popular in the first place. Programming in Flash today is like writing an application for a large corporate bank and thats just to make a ‘fart button’. But once upon a time it was a way for people to quickly and simply convey an idea.

When the pen was invented the pencil stayed around. This is a problem with technology on the whole, when version updates appears the older software is pushed into the rubble of time. The entry level for programming in Flash is now higher than ever before and is the single biggest problem for Flash today. Adobe need to focus on maintaining its simplicity and maybe should consider keeping older versions of Flash available. Why not?.. Flash is backwards compatible right?… What’s the point of building that compatibility in, if your not going to make use of it?

Flash ( with instruction ) can consume any xml schema. XML is intended to be humanly readable and often its created and written by humans. Over the last few years we have seen everyone from hobbyist to practitioners creating custom data structures to contribute to a dynamic web. Amongst these user contributions emerge standards like SOAP, REST, SVG, XLIF, etc. The ability to create new data constructs and parsers rapidly make Flash an incredibly powerful tool for a morphogenetic internet that we are shaping as we use it. Moreover, when that contribution is more inclusive ( simple to use ), which Flash was traditionally, it causes proliferation of a tool that humans can use to communicate in metaphors. Metaphorical comprehension (like dreams) is optimised data storage so metaphors are a great way to share ideas.

This leads us towards the concept of the semantic web, and I believe the web 3.0 semantic notion (data tagging) binds very simply to the xml hierarchal node model giving fruition and growth to the web, also it creates a simple way to iterate over and compare data, creating a thinking response engine or difference engine. Flash has ‘a role to play’ due to it being able to evolve at the pace of its designers, it is at the pace of its users… us.

Collective thinking and interpretation of the universe. The growth and contribution to this will be supported further by the semantic web as this is something that anyone can contribute towards simply by tagging, date stamping or giving a location to. Basically we answer questions on objects… who, what, why, where, when, how. We didn’t invent those words to explore, they are words that define the possible ways to explore the given universe and we then found words for those types of exploration that were already there.

XML is undoubtably the simplest programming language to learn. It is nothing more than a construct for data which you can then write interpreters (programs) for. So effectively as long as theres something that can unwrap that data then there’s a way for it to be comprehended and represented. One (of many) reasons Flash exploded was because normal people could create custom xml schemas and programs to interpret that, meaning a dynamic web became available where anyone could contribute/amend a program to adapt the metaphor by just updating the xml.

Using simple data relationships in a nested/hierarchal way we can build very quickly a programs, if the interpreter is clever enough to render the component parts. For years developers in many languages have been writing programs to interpret nodes of information. A lot of this sits festering on peoples drives but maybe in the future if they could be collated and used on request to render at runtime our metaphors. In other words when a computer can start doing my job, which is to bind data to programmed objects for the sake of interpretation, any concept could be conveyed with little effort.

A collective programmable data parsing machine was possibly conceived at the beginning of object orientated programming but hasn’t been fully realised yet. This is because interpretation can change based on context, so the data itself cannot fully manifest interpretation. At the moment we share this job with the browser using javascript, html, embedded objects and back end languages to interpret and render all the different types of data that are put into it. In the future we will have to build not just with data tags, but with colors, sounds and images. We need to be programming with more than just tags and words as input.

When technology really becomes a finished era and not one we are currently bound, is when it can be considered from a point of relative completion. This will be the sum of all parts. Like all art contributing to the definition of art collectively, but yet still continues to expand within the confines of what it knows about itself. With the creation of metaphors via a multi-parisng response tool a collective thought on a subject can be quickly achieved. These tools can educate us on how to contribute towards the purpose proposed of us. Our combined efforts to understand creation or purpose of that creation.

Rate of change is so rapid now we are not aware of it. So no-one will really be surprised when a being with the vernacular for all life emerges and wants to plot out its own sense of purpose in the universe. We are a very small piece of life and a thinking machine will consider the agenda of all other creatures not just humans. A technological concept could combine with biological processes and the physical shape of the universe would start to change at a large scale. Instead of salts in a sea forming into thinking compounds, a collating form may operate at a universal scale, ultimately that form could unrest the mass of space. Planets would find themselves mined for resources, and suns for energy as a super intelligent being spans out to ensure its own survival in the universe.

Typically of me, I have digressed completely.. lol. However i’ll continue and finish my point. Flash may face the threat of being de-throned, however it is yet to show us how it can evolve. Apple may be the most powerful technology company on the market today and so forth are attempting to dictate the shape of the internet. However its not the strongest that survive but those who are most adaptable to change. Flash will adapt, it always has in the past so I see no reason that it wouldn’t in the future. By closing its doors to an entire platform and network of developers Apple are hindering their ability to adapt when change is required.

AIR proved the web does not have to be consumed by a browser and that html rendering is just a plugin to what the internet is going to become. As apps are proving the web can be created and consumed by easier to create programs with correct given instruction. In ‘a cloud’ an operating system that is lightweight, easy to contribute to and ubiquitous will gain further proliferation. Flash can be and in many ways already is all of these things.

It’s up to Adobe to open up the offerings of Flash as much as possible. By giving anybody and everybody the ability to create a .swf, so that even my Gran has the ability to create a metaphor. I cannot predict the future but would assume the big platform of the future would be one that could render any input even when contributed by a layman not just a programming professional. Flash nearly does that already with its current and previous versions, but it just needs to realise that and give itself away quite literally for free to the world. Making swf is the big future and that needs to fall into the hands of everybody.

Flash is the free thinking imagination of the internet. It can conceive things that are not yet standard. The future won’t be created by a company thats hindering progress based on business decisions but by a difference engine trying to convey from one interpreter to another, an idea.

jsfl publish swf recursive

February 25th, 2010

Bashed this out, does the job. Use it to recurse through folders and publish all the .fla files it finds. save in a file called .jsfl double click it bang. I’m finding it useful for swc creation.

/*
careful this script is recursive
upon finding flash files it will open and publish them.
*/



var FLA_URI
var outputURI;

/*
 * start off by asking the user what folder they want to recurse
 */

function init()
{
    var folderURI = fl.browseForFolderURL("Please select the folder you want to recurse");
    if (folderURI == null) return;
   
    outputURI = fl.browseForFolderURL("Please select the folder you want to publish to if non selected it will publish locally");
 
    checkFolderForFiles( folderURI );
}


/*
 * pass in a folder it checks for the recursion
 */

function checkFolderForFiles( passedDirName )
{

    fl.trace(passedDirName);
           
    // ---- CHECK
    checkFolderForFlashFilesAndExportThem( passedDirName );
   
    // ---- THE RECURSION
    var folderContents = FLfile.listFolder( passedDirName );
    for( var j=0; j<folderContents.length; j++ )
    {
        if( folderContents[j].indexOf( "." , 0 ) < 0 )
        {  
           var folder = passedDirName + "/" + folderContents[j];
         
        //  fl.trace("folder"+folder);
           
           checkFolderForFiles( folder );
        }
    }
   
}


/*
 * this bits see's if there's any fla's
 */

function checkFolderForFlashFilesAndExportThem( passedDirName )
{        
        // CHECK IF THE FOLDER HAS FLASH
        var folderContents = FLfile.listFolder( passedDirName );        
        var hasFlash = false;
        for( var i=0; i<folderContents.length; i++ )
        {
            if( folderContents[i].substr(folderContents[i].length-4) == ".fla" ) hasFlash = true;
        }
        if(!hasFlash) return;

        // PUBLISH ANY FLA's
        for( var i=0; i < folderContents.length; i++ )
        {      
            FLA_URI = passedDirName + "/" + folderContents[i];
            if (FLA_URI.substr(FLA_URI.length-4) != ".fla") continue; // MOVE PAST THIS ONE IF ITS NOT A FLASH FILE
         
          //  fl.trace(FLA_URI);
         
            fl.openDocument(FLA_URI);
            var myDoc_doc = fl.getDocumentDOM();
           
           
            if(outputURI == null)
            {
                var swfURI = FLA_URI.substr( 0, FLA_URI.lastIndexOf(".") ) + ".swf"; // we want ours to strip the last xx digits off
            }else
            {
                var swfURI = FLA_URI.substr( 0, FLA_URI.lastIndexOf(".") ) + ".swf"; // we want ours to strip the last xx digits off
                var changeIt = outputURI + FLA_URI.substr( FLA_URI.lastIndexOf("/") );
                swfURI = changeIt;
            }
                       
            myDoc_doc.exportSWF(swfURI,true);
            myDoc_doc.close(false);
        }

}


init(); // run the thing

you and I are gonna live for etha

February 25th, 2010

Eric Arthur Blair wasn’t shy of the mark when spewing his metaphors of dystopia upon our existence. Our reality has much deeper consequences as societies evolution will be driven by us and our use of technology. We are undoubtedly in the midst of a metaphysical mutation where collective thought becomes the totalitarian big brother, however the pace with which our expectation for change is increasing means were unable to even see the inevitable and evenly negative outcome of zero.

Ontology is lost when we use technology to influence our being and on the surface to most people it’s called ‘web 3.0′ because they are looking at the immediately attainable next step. To some (like myself) it is called the technological singularity where an apex of our technological advancements causes an ever increasingly vertical gradient towards perfection. With web 3.0 we’re effectively at the beginning of this etha of thought, working together to store and reuse our intelligence. As this effort is rapidly entering the physical world we will get closer to a unified intellectual understanding of the universe.

We are effectively becoming an epistemological proxy to ourselves using the physical world around us to feed our behavior. It starts small, like leaving a note for ourselves as a reminder to do something, Yet put that note in ‘the cloud’ and all of a sudden the physical world has the ability to influence your actions based on your location, direction etc. I’ll briefly surmise these modern web definitions ( which I call tags… lol ) for the sake of context…

web 1.0 was ultimately internets birth, data storage and remote retrieval offered in a public domain. web 2.0 was distinguished more by richer media, much more accessible to the point of taught rather than discovered, storing and sharing the limits of our creativity in any medium. Some people store a graphic depiction of these occurrences others a technological one but overall as we move to the next tag, web 3.0 promises the digital world to proliferate into the physical with ubiquity of knowledge shared physically from one space to another begging for interaction by the subservient machines and programs.

You will have a physical interaction with the digital space wherever you are. i.e whilst driving your car, whilst waking down the road. Now to begin with this seems ideal, you can leave the house and the fridge knows you have run out of milk, as you enter a shop you look through digital glasses and arrows may appear pointing out the things you need, but adopting this attitude towards a superior controlling influence on decision making reduces our own choices and deviations born of limitation, and where do we stop?

It is not the easy life that causes evolution, its a difficult one. Consider that we do not actually evolve. Evolution is not a purposeful process but a fluke of existence that means the strongest survive. We make ruddy clones of ourselves then fight against the physical nature of the universe around us. If by chance our spawned biological selves had some physical difference, it could potentially hold an advantage in survival therefor those physical differences stay in the gene pool and evolution occurs.

Animals adapt physically to their surroundings, humans believing they are not animal shape their surroundings to suit them. This is not a great way to evolve physically. In fact place most of us back into nature right now without the comforts of the last few thousand years of invention to support us and you may see that our chances of survival are very much diminished compared to when we started thinking. We’re clearly aware of this which is why a return to nature seems so difficult and we’re moving swiftly in the opposite direction. Trying to create an existence that isn’t necessarily physical at all.

Digital in the physical space or using technology to assist us has been happening for years, every time you set your alarm clock to wake yourself up you have created a program to wake yourself. Why?.. because you would fail to wake otherwise?. We even set the alarm if we think we might wake up, but we don’t trust ourselves to even be in control of our own existence. It’s approaching faster by the day and will do exponentially over next few years of your life as a human. But by the time people awaken to the controlled lives they are willingly open themselves up to, it will be to late to change direction. This is the apex of the technological singularity as I see it, the point where we realise we have shaped the physical world to continually move towards the comforts of our existence and are unable to change it.

On the most part we have got a lot of the way there without technology. Consider religion, policing, society, governments… these concepts come from idealistic approaches to harnessing knowledge to drive towards utopian existences. However they are all rules unto themselves which tickle your own docile pleasures giving you a sense of moral life by keeping you unchallenged and taking away your own identity or responsibility for drawing the lines of acceptance for you. But the point is to draw your own lines no matter what the size of influence, your voyage of self discovery should be allowed to have dystopian experiences as those are lessons that leave a terminal scar leaving you, and the world around you, with deeper impression of….. you. You are your perspective and a beautiful little crease in the our universe.

anyways fuck it, its late. Im off to bed.

compile as3 command line

February 4th, 2010

Old trick worth re-mentioning, you can hook up to the mxmlc in the bin of an sdk and compile something no worries. At easiest you do it by dropping 2 files on the Terminal application and pressing Return. Bingo! you have a swf. It’s an awesome trick at parties and everyone will think your really cool. Heres how…

open terminal, its in your app utilities. go on, don’t be scared.

right now navigate to your mxmlc file, i.e. mines here…
/Applications/Adobe Flash Builder Beta 2/sdks/4.0.0/bin/mxmlc

drag and drop it on terminal. Then grab a class, i.e.

package
{
import flash.display.*;
import flash.events.*;

public class Square extends Sprite
{
public function Square()
{
var sp:Sprite = new Sprite();
sp.graphics.beginFill( 0×000000, 1 );
sp.graphics.drawRect( 0,0,100,100 );
sp.graphics.endFill();
addChild( sp );
}
}
}
}

called Square.as on desktop. Drag and drop that on terminal too. press Return and you have a .swf automagically appear next to the class.

you can go a little further with this, you could create a shortcut to the mxmlc file in terminal called an alias. On a mac its something like… ( type each line and press return in Terminal )

cd ~/
cd /etc/
edit profile

then write this at the bottom of the text file that opens…
alias abracadabra=’/Applications/\*/flex_sdk_3/bin/mxmlc’

save the file close.. finally in terminal type…

. .profile

to reconfigure and then you should be able open terminal anytime thereafter and type abracadabra and drop your class on terminal to create a .swf file. Notice on that alias path no spaces between the variable, equals sign and path to mxmlc file. Also in Terminal you can just type abr and press tab and it will autocomplete the variable for you.

to wrap this up there’s a whole heap of additional arguments you can pass to the compiler. So type…

abracadabra -help

to get more information and then use for searches on keywords. to get a list of arguments for example you could type…

abracadabra -help list

and then you will have some more things to append to the help command. have fun ;)

as3 Runtime font parser

January 28th, 2010

Few updates to an open source runtime font parser in as3… If anyone would like to checkout the source and get involved then please do. I can’t do as much as I’d like due to many commitments but I’m sure I’ll continue to pick it up from time to time. But being the only contributer don’t expect to use it commercially anytime soon. lol…

http://www.libspark.org/wiki/RuntimeFontParser/en

In short you can load the fonts at runtime for use graphically. otf and ttf fonts. The java lib I ported parses the byte data and means you can get the shapes of glyphs and play around with them within flash.

Hello world

December 3rd, 2009

Downloaded wordpress for my phone, just checking it works. Can’t imagine after this I’ll ever do it again as typing with one finger on a shakey train isn’t as enjoyable as reading the paper. But nice to know I can do it, just had to enable XML-RPC.

Saving images into a database as3

December 3rd, 2009

You can store images in a database directly, don’t ask me why. Grab yourself a jpeg encoder and more importantly a base64 encoder by googling, you don’t really need the jpeg encoder but I use it here for sake of compression…

            //Get the snap shot of the sprite
            var data:BitmapData = new BitmapData( _yourSprite.width*SCALE_THUMB, _yourSprite.height*SCALE_THUMB, false, 0x000000 );
            var scaleMatrix:Matrix = new Matrix();
            scaleMatrix.scale( SCALE_THUMB, SCALE_THUMB );
            data.draw( _yourSprite, scaleMatrix );
           
            // encode as jpg and get the bytearray back
            var jpegEncoder:JPGEncoder = new JPGEncoder(80);
            _imageData = jpegEncoder.encode( data );
            _imageData.position = 0;
            _imageData.compress();
           
            //http://dynamicflash.com/goodies/base64/
            var encoded:String = Base64.encodeByteArray( _imageData );

then you can push it into some xml and send on a rest req or just throw over http…

to read it back out again and show on screen…

            var decoded:ByteArray = Base64.decodeToByteArray(encoded);
            decoded.uncompress();

            var ld:Loader = new Loader();
            ld.loadBytes( decoded );
           
            _view.addChild( ld );

job done :)

Generate unique id as3

December 3rd, 2009

Available in flex is some class for UID gen, you can whip it out for use in actionscript projects and save as a util…

package com.somesite.utils
{
   
    public class UIDUtil
    {
   
        /**
         *  @private
         *  Char codes for 0123456789ABCDEF
         */

        private static const ALPHA_CHAR_CODES:Array = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70];
   
   
        /**
         *  Generates a UID (unique identifier) based on ActionScript's
         *  pseudo-random number generator and the current time.
         *
         *  <p>The UID has the form
         *  <code>"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"</code>
         *  where X is a hexadecimal digit (0-9, A-F).</p>
         *
         *  <p>This UID will not be truly globally unique; but it is the best
         *  we can do without player support for UID generation.</p>
         *
         *  @return The newly-generated UID.
         *  
         *  @langversion 3.0
         *  @playerversion Flash 9
         *  @playerversion AIR 1.1
         *  @productversion Flex 3
         */

        public static function createUID():String
        {
            var uid:Array = new Array(36);
            var index:int = 0;
           
            var i:int;
            var j:int;
           
            for (i = 0; i < 8; i++)
            {
                uid[index++] = ALPHA_CHAR_CODES[Math.floor(Math.random() *  16)];
            }
   
            for (i = 0; i < 3; i++)
            {
                uid[index++] = 45; // charCode for "-"
               
                for (j = 0; j < 4; j++)
                {
                    uid[index++] = ALPHA_CHAR_CODES[Math.floor(Math.random() *  16)];
                }
            }
           
            uid[index++] = 45; // charCode for "-"
   
            var time:Number = new Date().getTime();
            // Note: time is the number of milliseconds since 1970,
            // which is currently more than one trillion.
            // We use the low 8 hex digits of this number in the UID.
            // Just in case the system clock has been reset to
            // Jan 1-4, 1970 (in which case this number could have only
            // 1-7 hex digits), we pad on the left with 7 zeros
            // before taking the low digits.
            var timeString:String = ("0000000" + time.toString(16).toUpperCase()).substr(-8);
           
            for (i = 0; i < 8; i++)
            {
                uid[index++] = timeString.charCodeAt(i);
            }
           
            for (i = 0; i < 4; i++)
            {
                uid[index++] = ALPHA_CHAR_CODES[Math.floor(Math.random() *  16)];
            }
           
            return String.fromCharCode.apply(null, uid);
        }
     
     
 
    }
}

git resources

December 3rd, 2009

So I’ve been on the bandwagon doing the whole git thing lately. It has many advantages over svn and very few failings in my opinion, and given its open source I imagine it will only get better. Overall I think it could become a first choice for many people looking for source control and would definitely recommend giving her a whirl.

lean more about it here…

http://git-scm.com/

easiest way to fast install here…

http://code.google.com/p/git-osx-installer/

set up a repo and start practising here…

https://github.com/

great guide here…

http://www.kernel.org/pub/software/scm/git/docs/user-manual.html

and glossary of terms here…

http://www.kernel.org/pub/software/scm/git/docs/

checked softpedia for git GUI but I’ve not yet used any so can’t recommend…

http://mac.softpedia.com/get/Developer-Tools/GitNub.shtml

http://mac.softpedia.com/get/Developer-Tools/SmartGit.shtml

It would be nice to have more options for a GUI, I have been in terminal exclusively with this tool, which is always enjoyable, however I imagine adoption rates wont increase for general use until it has more options for an interface. It’s great that ‘conventions’ in svn are actually commands in git, and there are so many more things you can achieve. It can also communicate to svn repo’s so you can use it as a proxy whilst learning.

It does have a much steeper learning curve than svn but this is simply due to extra functionality it can offer. You keep a local version of the repository so you can still work offline and means you can rollback/diff etc whilst on the train, this also makes it incredibly fast.

You can branch, merge and even commit locally before ever doing a proper push to the server. Terminology is slightly different if you come from svn which can initially confuse, but if your a sad bastard with no friends that gets kicks out of using svn on the command line then git will make you do a sex wee in your pants.

Know the difference

December 1st, 2009

If you use the computer frequently you may be familiar with an operation called ‘diff’. It’s when you compare the differences of two files. It is quite a low level program or operation that runs on your computer. I personally use to find if something might have changed to cause a break in a program, but it also has many uses elsewhere. It’s important to mention that the diff operation happens in our minds with every action we ever make. It’s probably the most used operation in all of thought and happens constantly all day everyday. I would go as far to say that every single thing we do is the direct result of a single or series of diff operations.

Whenever you make a decision you effectively are doing a diff against current state and desired state. Then making the relevant changes to various objects properties around you to attain that desired state. It’s a very simple operation and is also the cause of our feelings. Consider anger for example. Whenever you get angry its because something did not go as expected. This again is a simple diff operation, you have the perception of how things ’should have been’ and the reality of what’s actually happened. The difference between the two states is a measurement, and your anger is often paramount to your perception of the difference. This is really a powerful thing to know as it can help you gain more control of your emotions and be better equipped when making a decision. Your always doing loads of diff operations regardless of your own train of thought this is how you feel things like pain and hunger. It’s also how you hear and how you see and how you are aware of your existence. Every single one of your feelings is a diff operation.

When you judge another person you are doing a diff operation, when you take a bath you have made a diff operation, when you are benevolent you are doing a diff operation when you making a purposefully bad decision you are also doing a diff operation. Always, overall, the thing that is most important to you, or the thing you have most awareness/knowledge of, and objectively the property you are trying to increase understanding of is the decision you will make. Almost every single thing we think, or do in the world is the direct process of a diff operation.

Since becoming aware of this I have found it incredibly easy to relax. I feel a hell of a lot less anger, simply because I attempt not to diff when I sense something is making me feel uncomfortable, instead I make effort to just accept things as they are. It’s helping me be more accepting of other people as I have no expectations on their behaviour. I have recently stopped diff’ing whenever it causes me to feel stressed or angry or just anything negative at all. Which is why I decided to blog about it and share my revelation because its actually working. Not only for my anger but for millions of other things including my understanding of the universe. It’s certainly not a new concept, you may have heard the expression before, just explained differently…

“What sorry individuals are we that we live life by comparison.”

However it never really occurred to me until I spent so much time thinking about the technological singularity just how prominent this operation is in the daily operation of our minds. It is absolutely central to all of our thinking and understanding. A single simple operation of comparing the difference between 2 objects and all their properties giving us a positive or negative result. Balance being the occasion where the result brings equality.

I would challenge you to tell me one single action made by any life in the universe that was not the direct result of a diff operation. We are much more complicated than one operation though and more often are actions are the result of a series of diff operations culminating in a net result enabling us to make a decision. This is why no-one can never fully predict our behavior because we know so much and these things are influencing our priorities. Everything we know makes us who we are therefore an action can be the sum of a very very large diff operation.

We diff in a certain way. Most of the time its just comparing an object with properties against another object and its properties. The end result is somewhere between -1 and 1. This is becuase everything in the universe is a wave. A wave of energy. This is easily proved. You can take any object and give it 3 states…

current state = 0

ideal state = 1

worst state = -1

So we know that energy is measured in waves, well waves are the difference between an objects properties in one piece of spacetime and another. The reason they move up and down is because full understanding at one end of the scale leads to zero understanding of NOT understanding at the other end, so the process gets reversed. So this is good as proves that there is energy in every single object in the universe and that everything can be measured on its energy waves. It can also be given a perspective of completion or distance to ideal state. This also proves that we ourselves are energy. So are our thoughts, and so are our actions. We are a net result of lots of energies, those energies are our thoughts are thoughts are our understanding of the objects or properties we measure, and our understanding of these properties against other properties. We constantly change our perception of all these things causing everything we know to be constantly diff’ed against each other. Meaning we can go through a whole ranges of thoughts and emotions throughout the course of a day.

The infinity of everything resides at one of these poles… -1 or 1. So does the infinity of nothing. All light or energy ( infinite everything ) in the universe is slowly becoming mass which combobulates to become a black hole ( infinite nothing ) and therefore we know that the state of mass and the state of light are opposite each other. We lie somewhere inbetween these 2 extreme states of energy. Energy is mass as we know from a certain famous equation, its effectively contained but anways to the point, life is seemingly the relationship between energies at each extreme in the forms of light and mass.

If I make a cup of tea, I have become thirsty. I have become thirsty because my body has done a diff operation on my water reserves and tells me it could have more water. I get thirsty I choose to make a drink. My choice is the result of a diff operation that seeks to fill the difference back towards a positive number. The universe likes it when we try to make things positive. This is why people who are vain ( which is considered a bad trait ), are actually often quite attractive, It’s a direct result of them diff’ing, then futhermore spending time and energy adding to their properties that make them attractive causing them to be positive. When we feel guilty for an action we may abstain from certain things that gives us positive feelings. This is to bring about balance mathematically in our mental state. We believe that we deserve to feel a range of properties fall into the negative to bring equality within our minds and our actions in the universe. Isn’t it funny that your guilt is just you trying to achieve a mathematical balance mentally.

We are pure math, all our feelings are a measurement, all our actions are a measurement and everything you think or do is just a mathematical result of what you are, measured against what you perceive. If you tried to do the opposite of your thoughts, you will be making a decision or choice for the sake of gaining more understanding on that chosen property. I could talk about this at greater length but I don’t want to patronise, I’m sure you understand by now and hope you can use it in your life if you weren’t aware already.

So to round up its getting pretty obvious now, to create the running program you would start something like this…

I = Intelligence of object measured between -1 and 1

O = object

O(o) = object with a property, that property has a value between -1 and 1 which measures its full understanding (full understanding being ability to control all properties).

I(o) = the measurement of an object

a property is just a diff against another object with the result stored on the object itself.

perception of O is a single thing, being self. But you are everything you know about the universe. So often the first item out of the array which is growing to include everything.

while( I < I(O(i)) )

{

diff stuff to increase ‘I’ of something (this something dictates who we are and is the priority order of our existence)

}

Understanding is like mass, and it can snowball quickly growing exponentially moving higher up the chain of importance in terms of what we diff against when making a decision and we pretty much diff against everything towards making a choice. This is why people can become so absorbed by a subject or monad. They even seem to see the world against that mass. Because they quite literally do prioritise it in their thinking pattern. When you are aware of this you can change the processes of your diff operation and override your internal objective which is to increase a particular intelligence. However in general we don’t. This is why we educate people when they are bad, and often they will reform. This is due to them gaining more awareness of something that they don’t always agree they should be aware of. But as the knowledge of that thing increases, often due to more internal diff operations, it becomes more prominent they begin to accept it higher into their chain of commands when making decisions.

So it would therefor be incredibly simple to create a human thinking program initially at least ( until / if it ever overrode its core math ). As we would just feed it knowledge of certain properties by making it more aware of those properties diffed against all others. By making large maps of certain knowledge it would make decisions to grow Intelligence with an emphasis on growth in a particular area. This way we could shape all different types of characteristics.

Challenges or limitations also enable priority on difference and are how we influence the direction of growth. But anyways I’m conscious I have now made my core point and therefor signing off. To diff or not to diff, that really is the question.