Terminator and CDargs: Two Great Command Line Tools

The average Linux user isn’t going to need to use the command line, and in my opinion, shouldn’t feel compelled to use it.  Still, developers and system administrators use it intensively on a daily basis.  Recently two very handy tools for managing the terminal have come to my attention.

First, Terminator.  It allows you to open a terminal window and then split it into multiple views within the same window.  You can be browsing directories in one, using interactive Python in another and running an applications from another…and still split the terminal further.

Ubuntu users should have no problem downloading Terminator either through the command line with sudo apt-get install terminator or through synaptic.  Check out the man page for commands to open, close, resize and more.  H/T to ars technica for bringing this one to my attention.

Second, CDargs is a very useful tool for bookmarking directories.  Rather than have to type the full path to a directory you access frequently, bookmark it.  Once you have CDargs installed, you can go to any directory you wish to bookmark and create a shortcut to it.

Let’s say you want to bookmark the desktop.  With CDargs you would do as follows:

user@user:~$ cd Desktop
user@user:~/Desktop$ ca desk

Then, from the home directory (or any other) type in cdb desk and it will take you back to the Desktop.

Simple, right?  Check out the tutorial on Linux.com where I learned about this to find out how to install and begin using CDargs.

Is there something you like to use in the terminal that makes your life easier?  If so, let me know about it in the comments.

Reload 1.2.3. 2010

This past June I had the opportunity to attend Reload 1.2.3., a training day for youth workers.  It was held simultaneously in three locations: Jersey City, Manhattan and Queens.  The Queens location was apparently the primary site, from which the main sessions were transmitted.  I attended at the Manhattan location on the Nyack city campus.

For the general sessions it may have been better to have been at the Queens location.  These were transmitted and displayed on a large screen at the two other locations.  A couple of times the signal failed and we missed significant portions of the conversations.  Fortunately, both sessions are available online for free (see below).

Workshops were available during the day covering a rage of youth ministry concerns.  It was a great pleasure to attend the two community development workshops led by José and Mayra Humphreys.  José is the pastor of Metro Hope Church in Harlem.  Community development is an area of ministry I hope to understand more fully for future ministry in Brazil, and their knowledge of and passion for community transformation made the workshops all the more meaningful.

The price for this day-long event was incredibly reasonable, only $25 for two general sessions, two workshop sessions, continental breakfast and a sandwich lunch.  My only regret is that I didn’t take my wife along.

Overall it was a good experience, and one I’ll be glad to repeat in coming years.

[VIMEO 13012427]

[VIMEO 13026396]

DebConf10 is Coming Soon to New York!

DebConf10, the annual conference of Debian developers, is coming to New York in just over a week.  As I understand it, this is the first time for this gathering to be held in the United States.  Here’s some basic info from the website:

Debian Conference is the annual Debian developers meeting, an event filled with coding parties, discussions and workshops – all of them highly technical in nature. It will be held in New York City, USA, August 1-7, 2010.
This year’s schedule of events promises to be exciting, productive and fun. As in previous years, DebConf10 features speakers from around the world. Past Debian Conferences have been extremely beneficial for developing key components of the Debian system, infrastructure and community. This year will surely continue that tradition.

Debian, for those who don’t already know, is a distribution of GNU/Linux.  Further, it is the one upon which the Ubuntu distro is based and still depends.  Ubuntu developers often contribute to the Debian project, even as they draw the benefit of other’s efforts with Debian to apply to Ubuntu.  So, although Ubuntu is my distro of choice, I am still reaping the benefits of Debian.

There will be no vendors at this conference, as it is really more of a technical gathering for the Debian community.  As such, the presentations for the most part will be, as the quote above states, “highly technical in nature.”  However, the first day of DebConf10, Debian Day, will feature presentations oriented toward a more general audience.

Meanwhile, decision-makers interested in discovering the benefits of Free Software and Debian users are invited to attend Debian Day on Sunday, August 1, 2010. This day will open DebConf attendance to the broader public and the schedule includes presentations of more general interest.

My plans are to attend Debian Day and at least one afternoon session later in the week.  If anyone else plans to be there on August 1 and would like to meet up, please let me know.

Oh, did I mention that this conference is entirely free to everyone?  Just show up and attend any session.  Free is good.

Brazil On My Mind and In My Heart

On June 15, 1997 I made a commitment to prepare myself for lifetime mission service in Brazil. A few years later, in January 2001, I thought I was making good on that pledge to God.  I had worked fast and hard for a Bachelor of Ministry degree through Harding University’s School of Biblical Studies program.  I had raised support, and to provide for what might be lacking I took a distance learning course to teach English as a Foreign Language in Brazil for part of my support.  In February 2001 I married the love of my life, Christiane.  A Brazilian (now also naturalized American), she brought companionship and greater joy to my walk with Christ. Together we have two children.  Now, a little over nine years after my move to Brazil, we live in New Jersey.  What happened?

Much of the specifics I covered in an earlier post. I hadn’t completed all of the preparation I had decided was necessary that evening in June 1997.  Further, my perspective was skewed.  Ministry to me was not the full-blooded, holistic application of the Good News of Jesus.  Instead, it was a matter of correcting people’s incorrect religious ideas and baptizing them into Christ.  That was pretty much it.

Of course, there’s nothing wrong and quite a bit right about teaching the Word of God and immersing people into Christ.  This work is essential to the mission of God.  This along is simply too 2-dimensional.  The Good News has the power to deliver people from sin and sorrow, but it needs to be lived out in diverse ways to reach people in all conditions of life.  This message of God coming in the form of a servant should inspire disciples of Jesus to their own works of service, declaring in word and deed that the kingdom has come, the new creation breaking into this world bringing with it new life and the promise of a future hope in resurrection and New Heavens/New Earth.

The world needs this word.  Brazil needs this word.  The powers and authorities need to be reminded, however they might deny, mock or ignore, that God alone is sovereign and Jesus is Lord.

What on earth am I doing in the United States? At this point, I would say I am coming back to myself, realizing that recovery from past hurts needs to be brought to closure and preparation for the future needs to take place.  At the same time, I am more than a little worried.  Time has passed.  Does God still have a place for me in Brazil?  Looking through photos my brother-in-law Marcelo sent of church activities this year in Uberlândia, I see familiar faces, but also quite a few unfamiliar ones.  Things aren’t as we left them in late 2003 when my wife and I moved our family to the States.  She

and our kids have been back there twice since then.  I haven’t returned yet.  It feels as though something inside me is preventing it.

In 2012 the World Convention is scheduled to take place in Goiania.  This event, held every four years, is the global gathering of people from churches with roots in the Stone-Campbell Restoration Movement.  I’ve said often that I plan to attend.  I hope I’ll be able to do so.  Now, though, another thought is crossing my mind.  What if 2012 marked my family’s return to the mission in Brazil?

Pray with me on this, would you?  Discernment is needed, and answers won’t come overnight.

Here’s the song I heard in church that evening in June, 1997 during communion.  At the time I didn’t understand the words, but it spoke straight to my heart.  When I learned the meaning of the lyrics, which speak of power misused, justice for the downtrodden and a call to look up to “the Just Judge,” I was in awe but not too surprised.

See Also:

Doing It Wrong

Mission Internship 1997

Learning to Program in Ruby

For quite a while I’ve been saying I wanted to learn to program in Ruby.  Actually, the first programming language I thought I’d learn was Python, but working for a start-up that uses Ruby on Rails, Python doesn’t make a lot of sense.  In any event, I’m glad to say that, despite the loneliness of having my wife and kids gone on vacation visiting family in Brazil for more than a month, this has been an excellent opportunity for me to devote time to Ruby.  I’m finally getting somewhere!

There are a lot of good, free online books and tutorials about Ruby, but the one I’ve been using is “Learn to Program” by Chris Pine.  This tutorial can be accessed for free online or you can obtain a hard copy from Amazon.com.  This tutorial assumes no knowledge of programming at all, starting the aspiring programmer out at the most basic information.  For me, this was perfect.

One problem I noticed was that when I went looking for help online with some of the exercises, the answers given by more advanced programmers utilized techniques way ahead of what the book itself provides.  All of the exercises given in the book can in fact be done with the information provided up to that point, so if you do go looking for help online in forums and elsewhere, be careful to look for pointers that use what you should know already from the book.

Just for fun, here’s a little program I cobbled together from my limited understanding of Ruby as I was going through the section on loops.  It’s based on the argument between John Bender and Principal Vernon in The Breakfast Club.

#famous scene from The Breakfast Club
#just the principal's part will be correct

puts 'You're not fooling anyone, Bender. The next screw that falls out will be you.'

answer = gets.chomp

puts 'What was that?'

puts 'I said, ' + answer + '.'

answer = ''

while answer != 'stop'

puts 'You just bought yourself another Saturday.'

answer = gets.chomp

puts 'You just bought one more.'

answer = gets.chomp

puts 'We'll keep going. You want another one? Just say the word say it. Instead of going to prison you'll come here. Are you through?'

answer = gets.chomp

if answer.downcase == 'yes'
yes = 'stop'
puts 'Fine, now everyone shut up. I'm going back to my office.'

puts 'I'm doing society a favor.'

answer = gets.chomp

puts 'That's another one right now! I've got you for the rest of your natural born life if you don't watch your step. You want another one?'

answer = gets.chomp

if answer.downcase == 'no'
no = 'stop'
puts 'Fine, now everyone shut up. I'm going back to my office.'
puts 'You got it! You got another one right there! That's another one pal!'

puts 'You through?'

answer = gets.chomp

if answer.downcase == 'yes'
yes = 'stop'
puts 'Fine, now everyone shut up. I'm going back to my office.'
puts 'Good! You got one more right there!'

answer = gets.chomp

puts 'Another! You through?'

answer = gets.chomp

if answer.downcase == 'yes'
yes = 'stop'
puts 'Fine, now everyone shut up. I'm going back to my office.'
puts 'Let's just do this again'




Below is the first of a video series about programming in Ruby, though not based on the book I’ve reviewed here.  I provide it simply to provide a basic intro to the language, though of course if you find the series helpful, by all means follow up with the others in the series.


An Essay Regarding the Stone-Campbell Movement Division in Brazil

What follows is something that I wrote in 2003, at a far different point in my life as a Christian. Recently as I’ve thought about the World Convention to be held in Goiania, Brazil in 2010, this essay came to mind. Although I no longer agree with the tone of what I wrote, the fact remains that there is deep division in Brazil among churches of the Stone-Campbell movement. This is a division with which I cannot entirely disagree. Since the pentecostal Churches of Christ in Brazil appear to be the ones most supportive of World Convention, it seems obvious that neither the International Churches of Christ nor a cappella Churches of Christ will want to be involved. I find this both logical and lamentable…an uncomfortable mix of attitudes, to say the least.

The Truth About Christian Churches/Churches of Christ Missions in Brazil

“…that they may all be one…so that the world may believe that You sent Me” (John 17:21 Updated NASB).

“…contend earnestly for the faith which was once for all handed down to the saints” (Jude 1:3 Updated NASB).

Too often, in my opinion, those promoting unity in the Restoration Movement seem willing to do so at the expense of the “faith once delivered.” I’ve seen this serving among the independent instrumental churches as well as among the brethren of a cappella churches.

Perhaps you’ve never noticed, but Christians have a tendency to support projects and missions overseas that they would never think of supporting in the United States. It’s as though, somehow, the rules change once you leave U.S. territory. Saddest of all is when the churches don’t even bother to verify whether what they are supporting is in line with what they believe. Someone appears asking for financial help, says the right spiritual-sounding words, and the checkbooks and purses open up. If not asked at the outset, rarely are questions asked later about details of faith.

Beginning in the 1960s, the instrumental and a cappella churches of Christ in Brazil cooperated to a certain extent. Most notably, the missionaries from both branches of the movement met in annual missionary retreats. A spirit of brotherhood and unity is said to have prevailed for a while, although some a cappella missionaries expressed disappointment that “the instrument issue” wasn’t being discussed. One year, however, one of the instrumental missionaries gave a talk in which he promoted an embrace of Pentecostalism in order to advance mission work. Controversy ensued, and the joint meetings were ended completely. Pentecostalism swept like a prairie wildfire through the instrumental churches in Brazil, so much so that the only faithful remnant among these churches to be found today is located in north and northeastern Brazil. All of the other instrumental churches of Christ throughout the remainder of Brazil were “Pentecostalized.” The only congregation in central Brazil that I personally am familiar with and know did not follow this path meets in Belo Horizonte. In order to survive, it removed the piano from the worship service (the piano is still in the back of the building and covered up) and is now in fellowship with the a cappella churches.

Fortunately for the sake of New Testament Christianity in Brazil, the instrumental churches in the north are evangelistic and growing, while the a cappella churches of Christ have grown and spread throughout central, eastern and southern Brazil. Unfortunately for the Gospel truth, the Pentecostal churches have grown even faster.

Over the course of years the Pentecostal churches began calling their ministers “Pastors,” electing women to be Pastors, preaching a baptism-free, faith-only plan of salvation and organizing into a loose but formal denominational structure. Their ministry students graduate from the Bible College in Brasília to go out preaching a corrupted gospel, and all too often seek to infiltrate faithful churches in order to lead them into the Pentecostal fold. At the forefront of resisting these deceitful workers have been the instrumental American missionaries in the northern city of Belém. As recently as a coupleof years ago they were called upon to confront a “Pastor” and his self-willed wife from Brasília that were trying to lead a church into what’s known as the “G-12” movement of Pentecostalism. With the Lord’s blessing a good part of that church was preserved, though the “Pastor” still led a portion away to start a new, Pentecostal church.

What I tell you in this article is the simple – albeit painful – truth. I know both from personal contact with the Pentecostals and from first-hand testimony that it is true. I wish that it weren’t. At the National Missionary Convention in Peoria a few years ago I met a veteran Pentecostalized missionary to Brazil, and we spoke briefly. He mentioned to me that in his youth he had preached a stricter, narrower message; but that later his eyes had been opened receive even the Catholics as brethren in Christ. He based this conclusion on the evidence of Pentecostal “gifts” such as “tongues-speaking” among many Brazilian Catholics. Rather than make recourse to the Bible to determine what makes a Christian, this missionary and others like him base their faith on subjective experience. And yes, he continues to receive mission support from independent Christian Churches in the United States.

If anyone doubts what I write, let me know and I will help you get in contact with people from the a cappella and instrumental churches in Brazil. You will find that there is no exaggeration in what I write. What I report here is little known among American churches. Missionaries in Brazil from a mission agency associated with the independent Christian Churches/Churches of Christ, for instance, have confessed to me that they do not tell supporters that the churches they serve in Brazil are Pentecostal. When visitors arrive from the U.S., they explain away the services as cultural, but definitely not Pentecostal. Since visitors don’t generally know Portuguese anyway, they can’t perceive it when some members begin speaking in tongues and they have no idea that the message being preached is Pentecostal and faith only. I’ve actually been asked to keep it quiet, and when I mention it to other Latin American missionaries at the NACC and the National Missionary Convention, I’m generally met with what I call a “wink-wink, nudge-nudge” response. It’s evidently considered an insider’s secret.

I am committed to Christian unity, but not without basic commitments to Biblical teaching. The truth must be told, and I cannot keep silent. Compromise of Biblical truth is not necessary or desirable to attain unity. In Brazil I worked in complete and peaceful cooperation with a cappella and instrumental brethren whose teaching did not include Pentecostalism, and I made no conscious distinction between the two. The unity I seek is, first and foremost, truly Christian.

How to Make a Tar Archive (a.k.a. “tarball”)

So you want to compress a directory. Here’s how you make a tar file, also known as a “tarball,” from the command line. What follows assumes you already have a basic familiarity with how to navigate the via the terminal.

First, change your current working directory to the parent directory of the folder you want to archive. In other words, if you want to make a tarball of a directory whose pathname is /home/username/Documents/computing/linux/ , you would use the following command:

cd /home/username/Documents/computing

Second, select a name for the tarball that ends in .tgz . For example, you could call the tarball for the directory above linux.tgz

Third, create the tarball with this command (here I continue with the same example as above):

tar -cvzf linux.tgz linux

What does the command above mean and do?

-c tells tar to create an archive. v makes it display the names of of the files as it processes them. z is to compress the file and f tells tar to use the next name in the command (in this example, linux.tgz for the tarball being created. The final argument in the command is the name of directory (folder) to be saved and compressed.

Hope this helps!