Author Archive

Tennis Fitness

I took tennis lessons as a child when I was around 8 years old. I think when it comes to favorite sports, tennis was probably come out top on my list. I want to get back into tennis now that I'm an adult. I think it'll be challenging but well worth it.

One of the reasons why want to get back into it is because I realized that I'm very unhealthy. As a Computer Science major, I've been very busy but recently, I've realized that if I don't take the time to workout or play a sport, that I'm not going to reach my health goals. So I'm taking control over my health again and I'm going to start making the conscious decision to eat right, hydrate right, sleep right and train right so that I can be healthy.

For me I like training for a sport over just working out. So I found the following article on Bodybuilding.com it contains a lot of great information for getting fit for tennis season.

I'm going to start from the basics; nutrition fundamentals such as the right carbohydrates, proteins and fats. Also, I'm going to create a personal hydration plan. Once I have created my nutrition and hydration plans, I'll post them on here.

Bodybuilding.com – Tennis Anyone? Tennis Training Tips..

Another great resource is the UTSA Ask Lab article:

Strength Training for Tennis

BYU / Marquette

Go Cougars!

Chris Miles – Basketball Season Highlights

Chris Miles, former Brigham Young University Cougar tearing it up in the post! Domination! He can go inside! If there’s a guy on him, no problem, he’ll pull up and make one in his face! Check out the hightlights!

Pomodoro Crate – Agile time management application based on the Pomodoro Technique

Great time mangement tool with analytics and statistics!

Pomodoro Crate – Agile time management application based on the Pomodoro Technique.

Introduction to CouchDB: Part One

CouchDB

CouchDB and Relational Databases

CouchDB is a document database server that can be accessed using the RESTful JSON API. It is comprised of customized queries and is schema-free. CouchDB is great because it uses a flat address space. Flat address space means that it can allocate memory without restrictions. CouchDB is both queryable and indexable. It uses a table directed reporting engine that incorporates JavaScript as the query language. CouchDB is not a relational database nor is it a replacement for such. It is neither an object oriented database or in other words it is not suppose to be the persistence layer for an object oriented programming language like Java.

Characterics of CouchDB 

Documents

A document in CouchDB is an object of fields. These fields are given names. Field values may constist of strings, numbers, dates or even orderlists and associative maps. For example, a document would be a e-mail:

        "From" : "joe.smith@byu.edu"
	"To" : "sarah.macdonold@byu.edu"
	"Subject" : "New Semester"
	"DateSent": "2/14/2012"
	"Message": "Hey Sarah! Are you excited about taking Econ 101 together?
        I can't wait to see what the professor is like. It should be good see you on the first day of class! -Joe"

In this example, From is the name of the field and the value of the field is joe.smith@byu.edu.

References:

Apache CouchDB: Introduction

Things to Remember About Racket

 

Things that might help:
	(map ( function entire-list))
	(foldr (function base-retval list))
	          function ( first-element value-so-far) ; the function's second parameter is the value so far
	

Problem Solving in Computer Science

 

Learn the tools that you will need to solve the problem (i.e. data structures, algorithms, mathematics, programming languages, libraries, features, and etc.).

 

  1. Practice by exercises
  2. If there are areas that your are unfamiliar with stop and review the "tools manual" for that specific part of the tool.
  3. Repeat as needed

Learn the problem statement

  1. Write out the problem
  2. Ponder the problem
  3. Use pen or pencil and paper to help you consider various ideas and approaches by writing them down.
  4. Check whether the potential solution that you've discovered solves the problem
  5. Repeat as needed

Convert the written ideas or methods to practical implementation (apply the tools to the problem)

  1. When writing code first document the contract and the purpose for that part of the code you're writing whether it is a function or a class
  2. Create test cases to validate the behavior of the code

If you know your tools and you understand the problem, you will more clearly see how those tools will help you solve the problem at hand. For example, if you were handed a tool you did not know how to use, you would end up either a) not using it, b) using it inefficiently or c) make mistakes from which you would have to learn from. You don't have to figure it out on your own. Others in the field have documented their experiences. The key is to learn from their experiences whether it be through reading, asking them questions, listening in a lecture, a workshop or on a video. Take a step back from the project and sharpen your saw for a while and then try and see if it can "cut it" if not sharpen your saw again.

Now you want to be able to sharpen your own saw. Until you learn how to sharpen your own saw by doing all that's in your power to learn how to sharpen your saw or how to assimulate knowledge or to learn. If you learn what works well for you, you'll be successful in the field of computer science.

Ask yourself, "What works in helping you learn?"

From my experience, I found the following approaches helpful:

  • Keep a learning journal
  • Read
  • Ask questions
  • Try examples
  • Explain the idea to someone who's familiar with the topic
  • Work at it constantly
    • Think about it
    • Explore ideas or approaches in your mind
  • Write it out in your learning journal. Explain and log the process that you took, the experiments that you did, and the final result that you found. 

This will help solidfy the concepts in your mind because it focuses on the approach you took to solve the problem instead of the solution.

Joseph Smith: The First Vision

In 1820, the young boy Joseph Smith Jr. of Palmyra, New York had a great desire to know which of the churches in the area that he lived were true. He read in the Bible from the Epistle of James Chapter 1 verse 5 which reads, "If any of you lack wisdom, let him ask of God, that giveth to all men liberally, and upbraideth not; and it shall be given him." Joseph Smith took this scripture to heart and acted upon this verse. Early one spring morning, Joseph Smith, went to the grove near his home, finding himself alone, he knelt and asked earnestly to know which of the churches he should join. In his words he said, "I saw a pillar of light exactly over my head, above the brightness of the sun, which descended gradually until it fell upon me….When the light rested upon me I bsaw two Personages, whose brightness and glory defy all description, standing above me in the air. One of them spake unto me, calling me by name and said, pointing to the other—This is My Beloved Son. Hear Him!" The purpose of young Joseph Smith's inquiry was to find out which church was true so he could join that church. The response that he received from God was, "I was answered that I must join none of them, for they were all wrong; and the Personage who addressed me said that all their creeds were an abomination in his sight; that those professors were all corrupt; that: “they draw near to me with their lips, but their hearts are far from me, they teach for doctrines the commandments of men, having a form of godliness, but they deny the power thereof. He again forbade me to join with any of them; and many other things did he say unto me, which I cannot write at this time. When I came to myself again, I found myself lying on my back, looking up into heaven. When the light had departed, I had no strength; but soon recovering in some degree, I went home. And as I leaned up to the fireplace, mother inquired what the matter was. I replied, “Never mind, all is well—I am well enough off.” I then said to my mother, “I have learned for myself that Presbyterianism is not true.” It seems as though the adversary was aware, at a very early period of my life, that I was destined to prove a disturber and an annoyer of his kingdom; else why should the powers of darkness combine against me? Why the opposition and persecution that arose against me, almost in my infancy?”

Reference:
See Pearl of Great Price, Joseph Smith-History

How to Succeed in Computer Science

How to Succeed in Computer Science

Get started right away on your coursework. Always be working on something whether it be reading, homework, studying for a test, or projects

There are no holidays in the middle of the semester. If its thanks giving it means eat your meal and spend time with your family but get back to work ASAP.

Be a disciple learner. Be temperate in all things. Do the right thing at the right time. If it is time to study then study. If it is time to sleep then sleep. If it is time to eat then eat. If it is time work then work. Be focused in doing good works that your Father in Heaven may bless you accordingly. If you want to get straight A’s but you don’t do your part and you watch many hours of TV then what you will get is no A’s but a really good watching power.

What so ever ye sow so shall ye reap.

If you are thirsty drink, if you are hungry eat, if you are sleepy sleep. Follow the light of Christ and you will be at your best.

How to Solve Programming Problems

How to Solve Programming Problems

  1. Understand the problem

  2. Understand the algorithm used to solve that problem

  3. Understand the data structures used to efficiently run the algorithm.

  4. Recognize and understand how to implement the solution in the desired programming language.