Saturday, March 1, 2014

Draft of something I've been working on

So in working with Young life, I've really wanted to give advice to new Christians who come to know Christ through that ministry. This is the product of those prayers and thoughts. Still in draft form, but it's coming along:

First, to those who are reading this: Welcome to the Christian family. I pray that your journey on this road may lead you closer to God and Jesus in the coming days, and that my words to you here may be of use to you to that end.

I hope this brings you encouragement and direction, so that you will not be led astray by the devil and those who would destroy your faith. I've focused on 4 things that I think are most necessary to the health of your spirit, and I hope that you will grow to have deep roots in Christ, so that when trials come (and they will), you will persevere and grow to love Christ our Savior more deeply.

1. Get yourself in the Word of God.


All Scripture is breathed out by God and profitable for teaching, for reproof, for correction, and for training in righteousness, that the man of God may be competent, equipped for every good work. (2 Tim 3:16-17, ESV)

To put this simply, the Scriptures and study of them is the lifeblood of the Christian's walk with Jesus. They encourage us and convict us of our sins, but they always point us to Christ, who has saved us from the guilt and power of sin.

The Scriptures are the only rule of faith that God has given to us directly (through the use of men throughout history), and so they are the clearest picture of who God is, and of the work He has done in this world. One of God's purposes in saving you is to make you like Jesus and one of the ways He has done this is to show you who Jesus is.

So, get yourself a Bible, and begin to study this God who has saved you for Himself and has poured out His love on you. As God has graced us with many translations of the Bible into English, two of the most faithful translations we have today are the New King James Version and the English Standard Version, and I would recommend them to your reading. And when you read, do not be discouraged if there are things you don't understand, as there are many parts of Scripture that are hard to understand, and many things which Christian men and women have disagreed over the last 2000 years. But do not be afraid to study what you can, for the Holy Spirit will use it for your good.


2. Find a good Church.
One of the commands God has given us in the Bible is that we are to be in fellowship with other believers, and more particularly in the fellowship with believers in a local church body. Any person who refuses to fellowship with other Christians is someone who disobeys our Lord's command on this matter and must be called to repentance. The grace of God, which teaches us righteousness, also tells us that the older believers should mentor those who are younger in the faith (Titus 2). Such a statement should not only encourage you to, in time, be a mentor yourself (perhaps even a Young Life leader!), but to also seek out the wisdom of those who have fought the battles you have before. Satan, our enemy, would like nothing more than to make you believe that you are fighting this battle alone, and so destroy you. One of the greatest guards against this is to be in a Biblically faithful church and to become friends with mature Christians who are 10-20 years ahead of you the faith. While they too struggle with sin and the devil, they have also had that much more time to recognize his devices much more clearly, and may be a way God uses to keep you from falling. For those who like to read and study, I would also recommend reading the works of great men in the past. In part, this is because we are often times blind to things but previous generations would call us out on in a second. By exposing ourselves to where we are blind, we will see where we need to grow most, and can begin our repentance anew.
3. Pursue holiness.
One of the things that Christ taught clearly was that his disciple would be ones who were righteous. In saving, Christ gave us His righteousness to present to the Father, and in our walk with Him, He through the Holy Spirit, teaches us to walk as He walked. In
4. Pray. – Pray without ceasing.
In saving you, God adopted you, and as your heavenly Father, He loves it when you come to Him with your concerns and burdens. And He delights in giving you the good things that you need. And on top of this, He has given us His Spirit to pray for us when we ourselves don't know what to pray.

Saturday, February 22, 2014

Weekly project -- code to the interface, not the implementation

Remember rule #1 of coding for good Object Oriented Programming: code to the Interface, not the implementation. (Though sometimes, the implementation can be a good basis for a first version interface, maybe?)

Thursday, February 13, 2014

Weekly project -- Open Chess TD

  Whether it be the occasional work on Project Euler, or playing around on my ocarina, or just reading up on a subject I'm not familiar with, I've always liked having something outside my normal work routine to work on, whether it's simply to practice my skills or to expand the picture of the world I can see. However, one thing I've always been bad about is letting the side projects be either a burden to me, or to just keep them in my head, where they do no good because I never work on them.
   To that end, I'm going to start writing weekly on whatever side project I'm working on. It's mostly for the purpose of encouraging discipline, I need to work on my discipline, and Lord knows I need much more of that in my life.

So on to the star of this weeks post -- OpenChessTD.  The TD here stands for Tournament Director (similar to WinTD, a commercial software that does the same thing I aim for with my software).

So up to this point, I've broken down the coding into several modules based on feature and place within the MVC protocol. 

1. OpenChessTD-module
2. OpenChessTD-WebDriver
3. OpenChessTD-SwingView
4. OpenChessTD-Ear
5. OpenChessTD


So to break down the (eventual) function of each package:

OpenChessTD-module: This provides the data model functionality around which any front end (such as the SwingView) will have to send data through. It will also contain any function that is needed across all modules.

Completion --  ~90%

OpenChessTD-WebDriver: This takes the data passed from the user into the front end and launches a script that will automatically login to the USCF TD/Affiliate area and enter the tournament information, including time control, Player USCF ID, and match results. 

Completion -- ~10%

OpenChessTD--SwingView : Provides a front end written with Java's Swing library. 

Completion -- 0%

OpenChessTD : This modules is intended to eventually house an html/JSP frontend for the app.

Completion -- 0%

OpenChessTD-Ear: This is the EAR module needed to potentially run the app as a Java EE app. It also provides a central location for most dependencies.


Source code can be found here.