We spent some time last week looking at who Satan is and where he came from. We specifically noted that God has revealed some about the nature of angels–both the fallen and those who didn’t fall–but most of our knowledge of them comes from bits and pieced scattered throughout the Bible. It is interesting that apart from perhaps Genesis and the book of Revelation, the book of Job probably spends more time presenting Satan and his work than any other book of the Bible.

We are going to look this week at the activity of Satan here in Job 1:6-12. The first thing that we are struck with is that Satan actually appears in Heaven with the other angels! Far from displaying any independence, the point that is actually proved is that God is sovereign even over the fallen angels and that they are still being used to accomplish His purposes. We are going to look at the issue of Satan’s movements over the earth as he wanders around–‘seeking whom he may devour’ (1 Peter 5:8). We are also going to look at what he is specifically targeting with his accusations before God. We know from Scripture that he is the ‘accuser of the brethren’ (Rev 12), so what exactly is Satan targeting with our brother Job?

There are a number of questions that this raises for us today, specifically: does Satan still have access to heaven? Is Satan still behaving the same way and with the same sort of movements against the Church? and lastly what is the effect that Christ’s death–which leads to our justification as believers–has on the accusations of Satan toward believers? These are serious and very important questions and we will attempt to reach some satisfactory answers to these from some New Testament passages next week.


Sunday School Notes from 2/22/15


I put out a blog post the other day about Twitter’s perceived issue with bots. I would like to follow this up with a post from the Atlantic about Twitter’s inability to actually drive any readers to their site.

This is not what I would have suspected–especially the claims that Facebook is better at driving clicks–but after reading the article it does make sense. Twitter really does seem to contain a universe of its own and from a content marketing perspective, it is really not going to be the place you will run to in order to get more people to read your articles.

I’ve contemplated the complicated tangle of social media and marketing and I’m starting to wonder if we couldn’t somehow view the model more like advertising at a stadium or an arena and less like the miracle marketing cure. There are advertisements(sponsorships) everywhere at arenas and sports facilities–but no one expects any clicks or immediate purchases to come from that. The entire purpose is name recognition. The consumer gets the benefits of the event and the marketer gets the benefit of better name recognition–and really its a win win for everyone. Perhaps if we adopted that sort of mindset, we could slowly break away from the increasing encroachments on privacy that are being made by all the social networks and we could actually enjoy being online. Just a thought.

The Atlantic’s Article: The Unbearable Lightness of Tweeting

Related Reading

Oh Twitter!


There is a fundamental function in programming known as a loop–and boy is that helpful. Consider the following:


for (i = 0; i < 5; i++) {
    console.log("the current value is " + i);


for(int i=1; i<11; i++){
    System.out.println("The current value is " + i);


for ($i = 1; $i <= 10; $i++) {
    echo "The current value is " . $i;



The latter example was pretty much my understanding of Python’s capabilities until yesterday forced me to do some digging into Python’s features for an equivalent. What I found….xrange

xrange allows you to set a start, stop, and step value for using with iterables. An example of its use would be something like this:

for i in xrange(0, 5, 1):
    print("The current value is " + i)

According to the documentation, the first argument defines the starting value (0 in this example), the second argument defines the stopping value (5), and the third argument defines the stepping value–or how the incrementing is being done. The only required value is actually the stop value, which means that the function is designed to start at 0 and then stop at the stop value.

xrange is actually generating a “xrange object” (similar to a list) which can then be iterated through. When we use it like we do above, we are simply using that list to be the basis for our own iterations. Therefore, there probably are limits to how large you might want your xrange to be because that could be a pretty heavy memory usage.

Further Reading:


A couple of weeks ago, Twitter’s CEO Dick Costolo admitted that Twitter had a problem–a big, massive troll problem to be exact. Some of the recent problems in gaming circles was on his mind as stories and reports of abuse and bad feelings have been buzzing around. Costolo said that he believed that this sort of behavior and Twitter’s lack control over this sort of behavior was driving away core users and hampering Twitter’s growth.

Twitter’s growth has probably been on Costolo’s mind a lot lately also given the degree of attention it has been receiving in the media. Even though Twitter’s financials are doing pretty well and its advertising changes are being well received, Twitter is still just a drop in the bucket compared to Facebook and its massive user base. But ugly, angry trolls aren’t the only problem that Twitter is having–it’s also having bot problems.

A recent study has concluded that around 67% of Taylor Swifts users are bots. Bots in this case are referring to accounts that are believed to be ‘fake’ accounts, but can also be referring to accounts are no longer active–perhaps ‘zombie’ accounts? Twitter only lays claim to having about 5% of its accounts being bots, but frankly I’m not so sure.

A Personal Example

I’ve been toying around with some shameless “personal brand” promotion partly out of intrigue for the last couple months and my results have been rather interesting. This is by no means a scientific report, but it may prove to be a rather interesting look at what is actually going on with Twitter.

Let’s Grow!

According to most social media marketing blogs one of the keys to success with social media marketing is engagement–after all its called social for a reason. So we are talking about tweeting to people, retweeting other people, and following people. I have limited time–and interest–so I decided to try my hardest to follow people. I tried to do this using two different tools.

The first was Twitter’s own ‘who to follow’. Twitter is endlessly nagging you to follow new people. They put it on the sidebar, they pop it up after you follow someone, they will email suggestions to you, etc. It is really in their best interest because they want you to feel engaged and if they can succeed there, then they are more likely to retain you as a user. The other tool I used was Their purpose is to help you find people to follow who are relevant. People who follow your interests, are “influential” in your interest, and are actively promoting content within your interest.

So I followed away until I eventually ended up following 2,000 people and …boom! Did you know that twitter has a limit to how many people you can follow? From the horse’s mouth:

Twitter’s technical follow limits:
1. Every account can follow 2,000 users total. Once you’ve followed 2,000 users, there are limits to the number of additional users you can follow. This number is different for each account and is based on your ratio of followers to following; this ratio is not published. Follow limits cannot be lifted by Twitter and everyone is subject to limits, even high profile and API accounts.
2. Every Twitter account is technically unable to follow more than 1,000 users per day, in addition to the account-based limits above. Please note that this is just a technical limit to prevent egregious abuse from spam accounts.
3.Accounts are also prohibited from aggressively following other users. Our Follow Limits and Best Practices Page has more information on Twitter’s following rules. source

Catch that? The interesting bit I think is right after the obvious problem I ran into–following 2000 people, without a ton of followers myself–you can’t technically follow more than 1,000 users per day. That’s a lot of following! Which means that there is a lot of leash room with Twitter’s policing. But even with limits like that, do they use it?

Let’s Backpedal!

So lets say that average joe me decides that 2000 is too many to follow and he starts cutting back (which is what I decided after my rather rude awakening by Twitter’s following policy). That won’t affect his following will it? mmmmmmm….think again. Check out the following graph:

My Twitter bot indicator

You can’t really tell the dates from it, but the top of the graph occurs around 1/20/2015. I had roughly 800 followers and some change, and I was following 2000 accounts. The new low is current, 2/16/2015, and I now have roughly 400 followers and I’m following 694 accounts. So how do we account for radical drop-off in followers?

The only reasonable expectation is that of the 2000 accounts that I was following 400 had followed me back–or followed me first and I followed back, like a good amateur twitter social media marketer! But when I unfollowed, to get my news feed back into a manageable shape, suddenly those 400 accounts decided to hit the road. In short, those 400 accounts had to have been either bots or highly automated marketing accounts that unfollow when you unfollow–in other words bots!

No I realize that there is a technical difference, but is there really a difference? Either way, you are dealing with accounts that are not in the network to engage and enjoy, they are there to do exactly what I was doing–marketing. (Should we call it a social marketing network, instead of a social media network) Now, I’m not complaining, because I was just as guilty of this as they were, but it does serve to illustrate the way that ‘micro-blogging’ network is being used and the magnitude of the behavior.

So What’s the Point?

The moral of this lovely little anecdote is that twitter must have a substantial bot problem, and I highly doubt it is the numbers quoted in the study mentioned before. If an average joe followers consists of nearly 50% bots, what about an account like Taylor Swift or Barack Obama or Tim Tebow? Accounts with that many followers–influencers, like Klout likes to identify–are probably being targeted for following by bots right and left. If this is the case, I suspect that Twitter’s new advertising plans may be the best way for Twitter to find out who is and who isn’t a bot based on user interaction and not just follows. That should give Costolo something else to worry about.

Further Reading


If Job starts in a “long ago in a far away land” way, it quickly takes a sharp turn with the sudden introduction to the next character. No sooner are we introduced to Job then we meet up with Satan–the adversary. Satan plays a large part in the book of Job–arguably a far larger part than he does in any other book of the Bible. In some ways this is surprising given the lack of attention that God gives to angels and demons.

The Bible assumes the existence of angels and demons, but never really gives any detailed information about them. The result is that we are really forced to piece together bits and pieces that are scattered casually throughout Scripture. Job is going to give us some rather interesting glimpses into the operations and limitations of Satan, but it will be helpful to get a little more comfortable with our Angelology so that we can really appreciate the glimpses that we see in this book.



In Job 1:1-5, we meet up with a man named Job for the first time. The story very nearly begins with a “long ago in a far away land” sort of opening. The scene develops into quite a happy one, where we see a righteous man blessed with material abundance and family bliss. He is surrounded by children and the very best of life. We are even told that he was “the greatest of all the men of the east”. This man was on the cover of Forbes magazine. He probably had feature interviews with the leading entrepreneurial magazines with questions about his thoughts on the camel market and whether they were on the hump or a bubble in that market.

From this picture of the man Job, we are able to draw some conclusions about his pattern of life and hopefully to also draw some insight into some characteristics of righteousness which we should be able to see in our own lives.



We are kicking off a new series in the book of Job! If you were unable to be here last Sunday I’m attaching a link to the notes. The notes will outline the themes we will be pursuing with this great book of the Old Testament as well as the structural outline that will help to guide our thoughts. Hope you will enjoy this study and that it will prompt us to do some deep thinking about the great God we serve! If you have any comments, feel free to post them here or on either Facebook or Twitter.



Debian is a wonderful “open source” Linux distribution that I have been using for quite some time now. One problem that creeps up every now and then is the whole “open source” thing–frankly sometimes you need proprietary software. Now I hate that and if you know any better you probably do too, but such is the world we live in.

I needed Java SE 7 to try to fix a small problem I had been having with PyCharm. For some reason the “ctl+v” for pasting is not working and I had seen somewhere on a forum that the java version could be causing a problem. I had been using openjdk-7 –and since I don’t do much in java–that really hadn’t been much of an issue. But now it was and Debian does not have the official Oracle version in the repositories–anywhere. (Oracle is evil by the way).

So off to some “googling” to find out a solution…

While Debian does not provide the oracle version in the repos, they do have a neat package called “java-package” which is kindly provided for the sole purpose of helping poor developers install the evil official version of java on their systems. (Get the feeling that this is a fairly frequent problem). This lovely little package installs a program called “make-jpkg” which you can then use to compile a .deb installer to install on your system.

So should you need to do this little exercise it will look like this:

  1. Download Java SE 7 to your computer.
  2. open your terminal and cd into your Downloads folder or wherever you downloaded the file to.
  3. then make-jpkg your-file-here.tar.gz to compile that compressed file into a .deb file.
  4. Finally sudo dpkg -i your-new-deb-file-here.deb to install Oracle’s java.

You are also probably interested in using this version of java on a regular basis–and since you have it now maybe even all the time. We can do that also!

In your command line type sudo update-alternatives --config java. This will bring up a small command line menu that will enable you to change which version of Java you want to be your default version:

kevin@debian:~/Development/FlaskHF$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                           Priority   Status
  0            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      auto mode
* 1            /usr/lib/jvm/j2sdk1.7-oracle/jre/bin/java       317       manual mode
  2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      manual mode

Press enter to keep the current choice[*], or type selection number:

Simply enter the number of the version you want and you’re done! Hopefully this will be of some help to you. Leave any comments or helpful tips below.

PS This didn’t solve my Pycharm problem so if you have any tips you can pass those there also :(

PPS I just solved the PyCharm problem it was related to keyboard layout order in Debian. Weird! see thread.