Last Good Quote: Son's are the seasoning on our lives. - Someone on Facebook

Thursday, September 12

Personalized Quote from Urban Dictionary

Get a nice quote about yourself....

Your First Name:

Wednesday, September 11

Evaluation of Trader

I was watching this thread over at HotStockMarket, thought I'd make some notes on how accurate this fella Binks was:

Some disclaimers: This is a paper trade, I did not actually make these trades. It is impossible for me to get in and out exactly when he is, therefore, anytime he made a post on the thread, I assume that I bought at the open price on the following day of the post. Obviously, this could lead to some major differences in profit.

8/27/13 - GGS - in at 2.70, At 2.64 on 9/5 = 2% loss
8/28/13 - AStx- in at 6.39 on 8/29, At 8.61 on 9/5 = 34% profit
8/29/13 - NVA - in at 3.22 on 9/3, At 3.23 on 9/5 = 1% profit
8/23/13 - AMRN - in at 6.10, At 7.36 on 9/5 =  20% profit
8/26/13 - MXWL- in at 9.47, At 9.00 on 9/5 = 5% loss
8/26/13 - STSI - in at 2.03, At 1.93 on 9/5 = 4.9% loss
8/26/13 - YRCW in at 17.50, At 17.65 on 9/5 = .8% gain
8/16/13 - AMRN in at 6.01, At 7.37 on 9/5 = 22% profit
8/19/13 - ASTX in at 5.25, At 8.64 on 9/5 = 64% profit
8/13/13 - RAD in at 3.60, At 3.53 on 9/5 = 1% loss
8/14/13 - PCO in at 2.00, At 1.88 on 9/5 = 6% loss
8/14/13 - AMRN in at 5.14, At 7.36 on 9/5 = 32% profit
7/8/13 - AMD in at 4.40, At 3.56 on 9/5 = 20% loss
7/18/13 - HPQ in at 26.33, At 22.52 on 9/5 = 15% loss
7/15/13 - GTAT = 35% profit
7/15/13 - ICA= 10% profit
7/15/13 - AGNC = 3% loss
7/15/13 - MAKO= 22% profit
7/11/13 - ITMN = 14% profit
7/11/13 - ECTE = 1% profit

Conclusion:
  • 20 Picks over last 2 months
  • Gainers: 11
  • Losers: 8
  • Profit: 196%
Over all Binks has great picks (although he does not need me to tell him this). His picks tend to have minimal losses with big gainers.

Monday, September 9

Quote

Leadership is the art of accomplishing more than the science of management says is possible.

Friday, September 6

Conversations with Jarvis

Some real conversations with Jarvis, an artificial intelligent chat bot I played with a while back.

He is down now, but I hope to bring him back soon.

Visitor 13 (not me)
User: hello javis
Jarvis: Do you have any bacon?
User: no
Jarvis: Are you saying no just to be negative?
User: i have no bacon on me
Jarvis: You don't know much about investing?


Visitor 10 (Me)
User: You make me laugh too
Jarvis: Me?
User: Yes you
Jarvis: A good time to leave me alone.
User: It is a good time to be alone.
Jarvis: Yes you
User: And maybe you
Jarvis: You tell me, is today special?
User: Today is my birthday, I think.
Jarvis: i don know you do i
User: No, but you can come to my birthday party.
Jarvis: NULL
User: NULL is not an answer, its a bug.
Jarvis: I don't think you know me. Do I know you?
User: Nope, do you want to get to know me?
Jarvis: Hey Jarvis. What's up?
User: I'm not Jarvis, you are...
Jarvis: Today is my birthday, I think.
User: How old are you?
Jarvis: Hows it going?


Wednesday, September 4

Sharing Game Info Across Sites

The idea of sharing characters, objects and user information across multiple games and environments has always interested me.

I've got a simplistic idea on how this could be done and wanted to share it.

Some assumptions:
Let's assume we have 3 environments (games) Game A, B and C. They are similar in some concepts and vastly different in others.

Let's assume we have one user, Joe, who wants to play in all three environments.

Step 1:

Joe signs up for Game A and plays it. All information is stored within Game A as normal.

When Joe logs out of Game A. He is given a url that will contain all his information.
www.GameA.com/userInfo.php?userID=10

Next Step:

Joe now wants to play Game B. He has the option of entering in his url or registering as normal.

Once given a url Game B will request Joe's information from Game A.

Game A will response with pair values, like so:
UserName=Joe
Email=joe@somewhere.com
Score=1000
Money=500
CharacterName=Killer
CharacterHP=50
CharacterMagic=40
etc...
etc...
Game A will also record the fact that Game B requested information. This will come into play when Joe goes back to playing Game A.

Game B will take the values it can use and create/update Joe's account within it's game environment. Such as UserName, Score and Money. (Maybe this game does not have characters)

Next Step:

Joe is done playing Game B. As he logs out he is given the opportunity to get a new URL or he can update Game A.

If Joe decided to update Game A, Game B will send a request to Game A letting it know the url it can find an update at.
www.GameB.com/userInfo.php?userID=99

Game A will go to that url and process all of Joe's information, updating it's stats as needed.

Thoughts:

One of the advantages of this system is that if Site A were to disappear or be unavailable, Joe still retains all the information from Game B. It's even possible for him to save information from Game A, if the site does disappear, if Game B has it saved.

For those who are worried about malicious use of the system, it would be quite easy to code the update process to only allow updates from certain game sites. If you did not want to see updates from Game C, you could exclude that site from your updates by looking at the request url.

Alternatively someone could offer a service where "trusted" games can exchange information.

The user information could be in an XML document, but I have found that the ease with which you can build key pair values is easier to build and search then XML documents. I know the advantages, I personally don't think the advantages out weigh the disadvantages in this case.

This is a stab in the dark any thoughts and comments are appreciated.

Friday, November 30

Random Musings on AI

I've been reading more on AI (again). It left me pondering...

Einstein had a great quote: 

"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
I agree. Most likely the solution to General Artificial Intelligence is simple and elegant. The current models seem ... complex.

Ray Kurzweil talks about how our intelligence is built from layers of simple mechanics. Each part of the layer works identically, but it gathers info from the prior layer. I like this idea, it sounds "simple". The difficulty is determining what the "rules" are for the smallest element in the layer.

Monica Anderson talks about a non-model based approach. Specifically one in which "intuition" plays the largest role in "getting to" intelligence. She is definitely on to something. Her ideas that the world as we see it is not built on specific models (forumula's) is right on target.

My primary concern with this field is that there is no clear agreed upon definition of when "intelligence" has been reached. Like wise there is no test for intelligence, at least for a digital avatar. We have the Turing Test but that comes up short on a few fronts, in my opinion.

Recall that the goal of General or Strong Artificial Intelligence is to create a machine that can successfully perform any intellectual task that a human being can.

In simple words, it has to be able to learn anything.

So we need simple rules that can enable a system to learn anything.

From this thought my mind jumps through the following sequence of thoughts:
  • Humans have many senses, AI would need to have many types of input.
  • Wait, an infant, in his mom's belly has very few senses. 
  • Rather, he has all senses, but the input coming in is very small.
  • AI with multiple inputs should be able to "learn" something" with very few inputs
  • As we grow new senses are introduced one at a time. We grow fingers before ears, ears before eyes, and so on.
  • Perhaps the method by which the AI can learn, needs to be adaptable to many different types of inputs
  • So all inputs regardless of source must resolve to the same "signals"
  • I think all the input needs to be in a binary state
  • Or all inputs need to be on a sigmoid curve (value between 0 and 1
Can we build rules based on the last three statements? We can and have. This would be the neuron inputs that have been long discussed.

Now I know that I have Sigmoid coming into my input layer...what rules can I build around this?

Another interesting item, at a certain point in our learning, we do not need a lot of exposure to new input to "learn" a new concept. For example, the effort to learn how to add is significantly harder than the effort to learn how to subtract, once we have learned how to add.

Put another way, when placed in a new environment, but the environment is "similar" to something we know, we learn quickly. The more the environment is different the slower we learn.

What this means is that once our AI has learned a specific subject area, learning in that area should be quick. For example, a maze solving AI would solve mazes quickly with few "learning" cycles, but that same AI placed in a Turing test would take "longer" to learn how to interact within that system.




Thursday, November 29

Notes on AI

I was watching/exploring an online AI course over at https://class.coursera.org/neuralnets-2012-00

Here are some notes that I don't want to forget:

Types of Neurons (Single points of contacts in a 'brain')

Linear Neuron - Collects all input values and applies a weight and that is it's output.  (aka Linear Filter)
  • y = b + sum(xi + wi)
Binary Threshold Neuron - Collects all input values and when sum hits a "threshold" it outputs a value of 1
  •  if b + sum(xi + wi) > 0 output 1 else output 0
Rectified Linear Neuron - Collects all input values and when sum hits a "threshold" it outputs a value progressive value (dependant on input)
  • In simpler terms, it works like a Binary Threshold but outputs like a Linear Neuron
Sigmoid Neuron - "Smoothes" the output to something between 0 and 1
  • Most commonly used
  • Ouput = 1 / (1+ e^-(b + sum(xi + wi)) 
  • Leads to smooth derivitives
 Stochastic Binary Neuron - Take a Sigmoid Neuron and randomize if it actually fires are not.
  • Follow up: Not sure what randomization is based on...
  • Follow up: Why is this usefull
  • Poisson Rate for Spikes (huh??)
Perception Based Architecture - Will always find a solution within its Test Cases IF a solution exists within Test Space. Often times a solution does not, due to what measurs(features) are chosen.
  • If you choose the right measures(features) then this is a great learning model
  • Choosing features is the hardest part though!
  • Once features are "chosen" you have limited your learning process
  • Do not use this learning model for "multi-layer" networks, it doesn't work
Important Questions to Ask of Your System:
  • Will it eventually get to a correct answer?
  • How quickly will this happen? (How many evolutions/learnings/weight adjustments)

Saturday, May 12

Bouncing Box:

Some of my students asked me to show them some "game programming" code.

I started off by showing them a simple canvas program, that uses HTML5 and the canvas tag to create a bouncing box.

Take a look at the following code.

Tuesday, June 21

About BDPA


For those of you interested in knowing more about the BDPA organization, check out this great T.V. interview with its founder.



http://vimeo.com/25390274



Popular Technology TV | 2011 Pilot Episode from bdpatoday on Vimeo.





FYI: The National Convention is coming in August.




Friday, June 3

Free Code

Just a quick post..I'm slowly posting my playground work to my "lab" site.

www.mobeamer.com/lab

Consider it all open source, please provide a link back to this blog or mobeamer.com if you use in a production site.

Followers