Saturday, March 8, 2014

Technology Related Science Fiction Musings

I'm going to start writing segments of stories that randomly come up to me while I'm waking, jogging, working that relate to my profession and passion of software development. I've had lots of such fantasies of advanced software technology or great minds but I'm just going to start today with whatever comes to my mind and list it here.

These are going to be story segments. Some are descriptions of places or technology or emotional scenes, or just what imaginary characters are saying.

The list of Tech Science Fiction Story Segments (i'm going to tag them with TechSciFi)

The necessary meta-existence

Every day I face very interesting situations and use scenarios of technologies. Sometimes really interesting ideas come up to my head and I usually write it down somewhere I never go back to. I experience the urge to delve into the details of something, but at the same time being overloaded by tasks (from both my formal work and my personal work) inhibits me.

I unfortunately do not have the luxury to arbitrarily entertain my curiosity and my desire to know more.

This all pushes me to think about the ways I approach learning, contemplate my own thinking patterns and reflect on my behavior as a programmer. This is where my interest in meta-programming, developing software development tools (programs that developers use to help them develop programs).

But lately the inclination to think this was has gotten more intense, especially because I am loaded with more work and because I want to do more. I don't want just to do my job. I want to exceed it and much more! I want to be able to handle much more work. I need to explore how my brain works, and my psychology as a programmer and perhaps one day summarize my thinking patterns, problem-exploration and solution-generation methods using abstraction techniques that I can automate. This is cognitive modeling, neuroscience and computational psychology.

The paradoxical situation that I am in arises from the fact that exploring the metaphysical aspects of my life in an attempt to find ways to make me more able to handle work, will be a lot of work in itself that is out of my professional domain. Simply put, I'll be battling on a front that I have no experience in, getting myself into a lot of work trying to optimize the way I do work.

I am proud with my attempts to automate some aspects of my work, completely refusing to doing it manually. But this is certainly not enough; especially when I think about all the great things I want my life to be about.

This is one of the reasons I feel that I meta-exist, because I meta-think all the time. One of my friends told me I thinking abstractly too much.

Even in social conversations, I find myself much more comfortable reflecting upon the fact that I am engaging socially rather than actually doing it. So I end up with a conversation in which people tell me how deep I am, and how I need to take things more simply. I make people uncomfortable; except those who can handle thinking about thought or conversations about conversations with a pen and paper in my hand trying to keep track of how the conversation evolves.

This is an experience that is common between programmers, physicists and mathematicians and perhaps one of the reason that they aren't usually called social butterflies.

I need to turn my attention to how can I approach adding the activities  of exploring my psychology and thinking patterns (with all the learning I need to do) into my schedule effectively. This better be formal and systematic, because I need results! Here we go again, another meta-layer.

Inputs are outputs and meta neural networks

Excited and out of breath, the employee meets the professor and says:

I’m happy for this opportunity to meet you.

The system uses non-trivial AI techniques neural networks and an expert system. The expert system is just a database but what’s interesting is the neural network whose activation functions are calibrated using a neural network itself. This was important because we reused the different segments of a neural network so the transition functions at each level of the hidden layers was important because they were both outputs to other NN or algorithms and inputs to the succeeding hidden layers. There was  a lot of activation functions to be designed and calibrated so we decided to create  a neural network to help us create those functions for the networks we are actually aiming to create.

And that’s the thing that I think warrants me a Master’s Degree.