Pages

28 July 2010

Introduction

Jerich has asked me to contribute to this blog. I thought it fitting to match his introduction.

My name is John Call. I recently turned 18 years of age and am attending Utah State University in the fall semester of 2010 as a freshman. I am dual majoring in Electrical Engineering and Entrepreneurship. I have taken great advantage of my high school experience and I estimate I will be entering with roughly 35 credit hours from concurrent enrollment and AP tests. I love mathematics, science, and computers. I was a sterling scholar in computer technology (a competition in Utah where members of each school compete in different academic areas of study). I also play the violin and love every bit of it. I have been playing for roughly seven years and most recently was able to perform the first movement of Summer Vivaldi's Four Seasons with my high school Chamber Orchestra (which has competed nationally) accompanying me (that was great fun and a highlight of my high school experience).

Like Jerich I have been working with computers for an extensive period of time. My beginning to programming actually starts with being money smart and investing. My mother once worked for a company called FranklinCovey in the coaching department. One day (when I was 10 and a half years old) she brought home a board game called CashFlow101 created by Robert Kiyosaki (the author of Rich Dad, Poor Dad). We played this game as a family a few times. The first time I was an airline pilot (naturally the most difficult occupation in the game). However, that was for the longest time the only game I lost at. I would quickly get out of the rat race using a stock market strategy I picked up on rather quickly. Jerich blew my thunder by beating me twice out of a dozen games I've played with him (but to my credit he stole my strategy :P).

My mother had avoided the stock market in the game like she had in real life. She didn't understand the stock market and stuck with the real estate strategy she understood. However when I started beating her (the second game and after) it became a revelation that she should learn about how the stock market worked in real life. As such she started working at a company called Investools, (which was recently bought by TDAmeritrade for $600,000,000), and started to learn how the financial markets operated. Shortly after I was learning how to trade in the Foreign Exchange Market (aka Currency Market).

During this time period (after a year of training from Investools at the age of 13) my father ran across a program called MetaTrader4. He, recognizing he didn't have a proper mindset for trading and not wanting to change his psychology, wanted to use this program to automate a technical trading strategy that would run for him. MetaTrader4 allowed him to create small programs called "Expert Advisers" which he could attach to a chart and program in a unique flavor of c++ and automate his trades. He and I both learned c++ on our own this way, him through books and forums, me through a process of trial and error.

I noticed these programs were performing poorly after a year of programming experience. As such I decided to test the simplest program I could on a paper-trading account as well as through a process called "Back-Testing" in which you observe how well a strategy would have performed using historical data. The program was supposed to buy a position in the EUR/USD when a short-term moving average crossed above a long-term moving average. What I found was that this program would not execute 90% of the trades it should have. It is possible that there was a flaw in my code but I minimized that risk by overly simplifying the program. Under such circumstances I arrived at the conclusion that the trading platform was flawed and decided it time to move on.

I then took a computer programming course in high school (the same one Jerich took). This course taught me where I could download visual basic, and I learned everything on my own after that. I was sorely disappointed with the level of involvement required in that class, but I guess I got what I needed out of it.

I continued to master vb.net over a process of trial and error, reading code and later editing it in the designer file (which for some reason the people on microsoft forums will tell you is a "bad thing"...to which I simply roll my eyes), and posting in forums when I wasn't sure how to do something with what I all ready knew (rarely since a lot of things can be done without using methods such as WebClient or some of the more complex class structures microsoft has made for you). I still am learning about some of the more pre-set functions (such as FtpClient and WebClient and XmlDocument, though I have mastered actual language of basic.

Later my dad was trying to create an excel macro with his own code and I noticed the syntax structure was remarkably similar to vb.net. This is pretty much how I learned VBA.

I have build a program called the "Contact Manager" in vb, which I now sell on http://WhoIKnow.info/ under the business name "The Productivity Quotient". It is a tool that is designed to help a user gather networking information into one coherent place.

I have always hated the lack of structure in basic and the flaws in principle that it allows you to get away with. I finally decided it was time to transition back to a c-based language and converted all my code from the contact manager into c#. I have been working in c# ever since and mastering that language (about six months now). I also learned how to add some features to the contact manager such as the importing of CSV files and the use of Binary Serialization to compact the database into a single file by identifying the basic contact classes as serializable.

I hope to soon migrate into c++ and eventually c. Then I will follow Jerich in mastering Java ;). After that I intend to learn languages outside of the visual studios flavor. Then migrate to HTML (which I know a little of but am hardly an effective programmer in at this point) JavaScript, CSS and ASP. I am considering moving the contact manager to a web-based service though it is unclear at this point whether or not that would be the *best* solution. Eventually I hope to acquire enough knowledge to program my own operating system and compete with windows.

I am currently working on a curriculum for programming languages meant to be engaging and easily taught in high school or even earlier (inspired by teaching an old friend how to thing programmatically and our mutual distaste for the level of engagement in the high school course). You can view it here, though there is hardly much to see at this point.

No comments:

Post a Comment

On posts older than 60 days, new comments will be moderated before they are actually published.

If I consider your comment to be spam (useless or entirely unrelated junk), I may remove it at my own discretion.

Please refrain from the use profanity. Any comments that have such language will be removed.