I am Justin Ball. I write code. If you want to see what kind of code I write checkout my github account. For an easier to read overview take a look at my projects page. I keep a list of most of the stuff I've worked on there.
I grew up in Southeast Idaho. It was a great place to be a kid, but very windy. I spent a few summers working on my uncle's farm and many falls helping him in the potato harvest which is a thrilling time in Idaho. I drove spud trucks - tore the mirror right off while backing into a cellar, watched my uncle spend $2,000 on new chains for the digger only to have them bind up after one row of digging. I then watched him cut the chains out of a giant mass with a torch and then replace them with another $2,000 worth of chains. In the summers I moved pipe. These experiences left me highly motivated to get a degree and never become a farmer.
I didn’t become a farmer.
I graduated a valedictorian from Rigby High School, an honor which I assumed meant the world would love me. I did get a number of scholarships, but found that finding a summer job was dang near impossible. There wasn’t a lot of opportunity in Southeast Idaho for a kid to use his brain. So I spent the summer working at Ernst selling home improvement supplies. That sucked, but again taught me that I should spend my college years working hard instead of screwing around so that I could spend my adult years doing something more interesting.
Once upon a time I thought I would be a civil engineer so influenced by one of the greatest college relations programs ever - Engineering State and by the fact that I had no money and USU gave me a full ride scholarship (two actually, one in leadership - President's Leadership Council and one for academics.) I managed to get a Robert Byrd Scholarship as well, but I decided to spend two years in Japan serving an LDS mission and they wouldn't let me keep the scholarship if I left.
I don't regret leaving. While in Japan I had to learn Japanese (obviously) and so I developed a system to teach myself. I would later learn that the method I used to teach myself was already a well known method for teaching facts. It was those opportunities that lead me to begin considering a career in something other than Civil Engineering. When I got back I wondered about doing a general degree that combined learning and technology. Then I found out that USU already had a program so I talked to Don Smellie the department head at the time and decided I would eventually find my way to that program.
Civil engineering didn't seem like the path that would lead me to an education degree so I switched to electrical engineer. While doing that degree I met incredibly intelligent people, learned that the digital world around us runs on basic math and science principles, not magic and had a great time. While doing that degree Richard Harris, the department head, helped me get a job with Sorenson Vision a startup focused on video compression. He passed away while I was a still a student which was a great loss. He was kind, intelligent and inspirational. I also had the opportunity to work with Cynthia Furse (who has since moved to the University of Utah) and Todd Moon who are both geniuses and great educators.
While working on my bachelors I learned how to code in everything from assembly to C to matlab. It was painful but it turned me into a programmer. Meanwhile at Sorenson I was responsible for testing. I would spend several years in that role. QA was always the boring, hated role, but, ironically it prepared me for agile programming. These days good programmers need to be excellent test writers. Starting in QA gave me that foundation.
While at USU I met Callie Moss and turned her into Callie Moss Ball :-). While I finished school and for many years after she taught 1st grade. She left teaching when we started having children of our own. Now she focuses on making our children into geniuses and activity that she excels at. She was my saving grace during school often writing out my problem sets and doing the grunt work so I could focus on getting everything done. She is still my editor and I expect she will be finding all the grammatical errors in this. If you read my blog you will realize that she is the best wife in the history of wives. No joke.
After graduation Sorenson offered me a full time job. I started that before my degree was even finished which was great. I went from a small hourly wage to a small yearly salary, but it was an insane amount of money to me and enabled the purchase of our first house. At Sorenson I learned adaptability the hard way. I felt like I was always part of the project of the moment so agility was critical. I started out writing tests in Visual Test a Visual Basic derivative and my introduction to the world of Windows programming. Then I wrote C code for firmware. I actually used skills from my electrical engineering degree on that project. We would write the code, burn it to an EPROM, drop it into a prototype of product and run it with a logic analyzer attached. You would then watch the wave forms on the analyzer and read the resulting hex codes. Debugging in that environment was painful. I can’t tell you how many times I stuck the pins on the chip into my thumb while trying to pull it from the board. After firmware I wrote USB tests. Then I wrote Windows drivers. Then I did MFC work on our desktop application. For a while I worked on Glasses, a project that would help video conferencing traffic make its way through NAT systems.
Sorenson split into 4 companies – Sorenson Media, Sorenson Vision, Sorenson Technologies and a research company. I was originally supposed to be a part of media, but Forrest Blair asked me to stay with Vision which I was happy to do since Vision stayed in Logan while Media was moving to Salt Lake. I was also glad to remain under Forrest as he was a great person to work with. He taught me how to be a good programmer. His management style was a perfect example. Ironically, I would later work with and mentor his son Jeremy Blair who is a great programmer and a good friend. Later on they shut down Vision and the research company and moved some people to the other two companies. I went to work for Sorenson Technologies.
At Sorenson Technologies I learned how to program Wind River’s VxWorks embedded operating system. I also spent an insane amount of time working on networking and network optimization. I learned how to write servers and how to deal with all the nuances of TCP/IP. I totally loved it. My job there was to create a camera built on top of the Sorenson ASIC. I created a web interface that would let the user control the camera and view the video. Everyone does that now, but at the time it was brand new and exciting. I learned all about COM, ActiveX controls and XML.
While working at Sorenson I also spent time on my degree in Instructional Technology. I studied under David Merrill and Andy Gibbons. I took a metadata class from Mimi Recker. Towards the end of my degree I met David Wiley for the first time. He was an open content nut that I had read about in Time magazine. I took a class from him and during that class met Andrew Van Schaack who is incredibly disciplined, an entrepreneur and a nice guy. My Authorware class was taught by David Gordon. I worked with him for a while building a couple of websites. He would later go on to found the DMLGroup which is a very successful instructional company.
In parallel with everything above I spent my nights and weekends teaching my self how to develop web applications. I learned Cold Fusion, Flash and Authorware as part of my university experience. Then I spent time with Microsoft’s ASP. Yes, I know that I should have been learning PERL at that point in time. Don’t make fun. Sorenson was a Microsoft shop so I already new the tools and languages so I started with what I knew. At the time I purchased my house I met Jaren Taylor and Jake England. We began a company that would sell house plans on the internet. That grew into ThePlanCollection.com. I still own and manage the technology for that company. We started that in 1999. In 9 years I have learned Search Engine Optimization (SEO), business management, marketing, finance and pain. There were more than a few nights when I would write code until 6am, sleep till 7am and go to work at 8am. That can take its toll but I was young and my wife forgave me.
I finished my degree in Instructional Technology. Sorenson was becoming to unstable – I had made it through 2 layoffs. A job came up at with a company called 3GB. They were a university spin off focused on developing Syllabase, a learning management package created by Chris Okelberry in the English department. I worked there for a couple of years with Micah Schicker who is an awesome developer. I spent time making fun of him as he put on tight clothes and joined the myriad of other veloists in Cache Valley. He gets the last laugh. Very few days go by in the summer when you won’t find my wearing silly, tight clothes making my way up a canyon on my bike.
After 3GB I went to work at the Space Dynamics Lab (SDL) for about a month. They do cool stuff, but through my association with David Wiley and Andy Van Schaack I scored a job with the OSLO group at USU. (Sorry to the SDL guys. I usually try to spend more than a month in any given job). OSLO would become the Center for Open and Sustainable Learning (COSL) about a year after that. The group was working on software to enable social interaction around MIT’s OpenCourseWare and I couldn’t pass up that opportunity. This project would become Open Learning Support(OLS). In the course of working with MIT on this project we decided that in order for other universities to participate in the OCW movement a free open source platform would need to be built that made it simple to deploy free an open course materials. From that discussion and through funding from the Hewlett Foundation we were able to begin development of eduCommons which is now deployed on the majority of OCW instances.
While working on eduCommons I realized that in addition to content provided by Universities the content being produced by individuals all over the world provided a great deal of value and developed a desire to study this phenomenon and to participate where possible. The user generated content movement has since been the success behind major Internet success stories such as youtube, flickr and del.icio.us. It is my belief that the same energy that leads to success in those projects can be directed into educational opportunities. As the cost of development and maintenance of Internet based solutions drops the opportunities for those who do not have easy access to education rises.
I left the eduCommons project in early 2006 to begin pursuing my interest in open education as a part of the broader internet ecosystem. During a weekend meeting at the Mellon Foundation I and David Wiley were able to develop a prototype of what would become http://scrumdidilyumptio.us/ and then demo it. The intent of this project was to develop a generic triple store that could be used to link together Internet resources in an informal way to encourage serendipitous learning opportunities. This project led to a grant from the Mellon foundation to develop a series of loosely couple tools. I was the lead developer on the projects which followed an aggressive time schedule. Over the course of 12 months we developed the ‘folksemantic’ toolset - folksemantic. These tools include: ozmozr, makeapath, send2wiki, annorate, OER Recommender and OCW Finder.
These projects have since been followed on by integration efforts with the eduCommons platform, and with new projects including a directory for Open Content – OER Feeds. Last fall I built 51Weeks, for our conference. We hope to deploy it for the ICLS 2008.
Currently, I am a Teachers Without Borders Fellow within COSL. Our efforts are now focused on developing a distributed, open source community platform. This platform will serve the needs of Teachers Without Borders, learning communities at several universities and, we hope, a larger, general Internet population. I have begun discussions with other members of the Canadian educational community who also desire this functionality. (http://weblogs.elearning.ubc.ca/brian/, http://www.darcynorman.net/, http://bavatuesdays.com/).
COSL is a great place not only because of the project we produce, but because the team is amazing. I was reintroduced to cycling while there and we frequently go out and ride together. It has also meant game night which is a very geeky evening where we all get together and play board games few people have heard of. (Puerto Rico anyone?)
In my free time I still work on code for ThePlanCollection.com and maintain some of the blogs we created – houseplans.info, favorite-house-plans.com (my wife writes that blog). I write random rambling on this blog. I created a few Facebook applications just for kicks - House Plans - share house plans, indulgences - give your friend indulgences so they can be free of guilt, and gabbler - share stuff you find on the internet with your friends.
I love Ruby and the famous related framework Ruby on Rails. I am always on the lookout for the next big thing. I spend a ridiculous amount of time reading about the latest tech startups, latest platforms, and important people in the technology space. I think that the next big thing is something that when people look back they will say, "duh, that was obvious."
I am frequently asked to join various startups. I think that genealogy of all things is an emerging space which will provide amazing opportunities in the next few years. I am not sure if it is THE next big thing, but I think it is a big thing. The ultimate social network is the family - have a look at Geni.com if you don't believe me. All of a sudden it is cool to keep a journal - blog, flickr, delcious, youtube. Our lives are being recorded all around us. It is easier now than ever to record our lives in a format that future generations will be able to use to find out all about us - the good and the bad. This will be the first generation where the individual's life can be better preserved than all the kings and rulers of even 100 years ago.
I like to spend time with my wife and kids.
When I am not doing the above you will find me wearing silly tight clothes, breathing heavy, headed up a canyon or down long stretches of asphalt on my bike.