Saturday, 5 November 2011

xkcd fan art: Limits of space

They never did find the mattress-growing planet

If you don't get it, ask a programmer!

Credits

This is fan art in homage to xkcd.com. The planet and rocket images were taken from their cartoon #911 Magic School Bus.
The font used is Humor-Sans by ch00f.

Tuesday, 15 February 2011

Who hardened Pharaoh's heart?

Exodus 9-11; Romans 1:28, 9:17-21

Did Pharaoh harden his own heart?

For the first few plagues1, the verses say "Pharaoh's heart remained hard", or "Pharaoh hardened his heart". Later on it says "God hardened Pharaoh's heart"2. Perhaps initially Pharaoh was free to choose either way (though, of course, God knew in advance that he would reject Him), but then later on God "gave him over" to his hardened heart - in other words then "God hardened Pharaoh's heart".

Perhaps it is only after Pharaoh had hardened his own heart that "[God] appointed [Pharaoh] for the very purpose of displaying [God's] power in [Pharaoh] and to spread [God's] fame throughout the earth."3 Perhaps God was "very patient with [Pharaoh, one] on whom his anger falls"4 and "[though Pharaoh] knew God, [Pharaoh] wouldn’t worship him as God or even give him thanks. ... As a result, [Pharaoh's mind] became dark and confused."5

Did God harden Pharaoh's heart?

But, on the other hand, perhaps "Pharaoh's heart remained hard"1 from being initially hardened beforehand. Perhaps the patience Romans 9 mentions4 is for the majority of people - those who have not been appointed for displaying God's wrath & power in this life - but not for the likes of Pharaoh.

While God is the same yesterday, today and forever, there is nothing to stop Him singling a man out for a particular purpose - whether it be a purpose of blessing or wrath. There indeed was a lot at stake at this point in history - God was making His name known to the Israelites. He had to show them His power and love for them in order to prepare them to receive His Son later on. He is referred to many times as "God, who rescued you out of Egypt". This was a defining moment in Israel's relationship with God. So who are we to say God would be wrong to single out Pharaoh as pre-ordained for destruction for this great purpose? "Well then, you might say, 'Why does God blame people for not responding? Haven’t they simply done what he makes them do?' No, don’t say that. Who are you, a mere human being, to argue with God? Should the thing that was created say to the one who created it, 'Why have you made me like this?' When a potter makes jars out of clay, doesn’t he have a right to use the same lump of clay to make one jar for decoration and another to throw garbage into?"3

"God only knows"

But, then again, it may be the first option - maybe Pharaoh did have a choice. I'm sure there are many strong human arguments either way on the topic, but the only way we can ever know is by listening to the Spirit. And then if it is the latter, we will hear it in the context of God's love for us, knowing Him to be good, not fearing that He might suddenly make us an object of wrath. For if He has already accepted us He will not go back on His promises of blessing us.

Glory be to God, who is good beyond our understanding, yet who blesses us by imparting knowledge & wisdom if we seek Him.


This post was originally published on YouVersion, a free Bible reading plan social network site. See the original post here: http://www.youversion.com/notes/564270/who-hardened-pharaoh-s-heart.


Footnotes


  1. Verses saying "his heart remained hard", or "Pharaoh hardened his heart": Exodus 7:22, Exodus 8:15, Exodus 8:19, Exodus 8:32, Exodus 9:34-35
  2. Verses saying "God hardened Pharaoh's heart": Exodus 9:12, Exodus 10:1, Exodus 10:20, Exodus 10:27, Exodus 11:10
  3. Romans 9:17-21
  4. Romans 9:22
  5. Romans 1:21

Thursday, 3 February 2011

Testing: The Play framework, Selenium & php

Testing php sites with The Play framework's Selenium testing.
I have been using the Play framework recently - a Java MVC web application framework - and have been pretty impressed with it, especially its Selenium testing.

I like the Play framework's Selenium test runner over Selenium on its own because of two things: firstly the tests are created programmatically, rather than writing HTML directly (you write a script whose output Play turns into Selenium HTML); secondly I like the way it displays all your tests together, lets you choose which ones to run - then displays the results on a single page, highlighting the errors.

I just joined a project working on a php-based website, which did not have automated testing. As I believe automated testing is a brilliant, even essential, practice I suggested we start doing so, and the team are up for the idea. Having been really impressed with Play's Selenium testing, I thought it would be good to be able to use that to test our php site. And with an hour and a half of playing around (and refreshing my memory of Apache httpd configuration directives) I managed to get it working. This is how I did it:

Create project & test

Firstly, created a new play project, eclipsified it (as I like working in Eclipse), and started it in test mode. It started on http://localhost:9000 as it its default.

I then opened the project in Eclipse, and modified the Application.test.html Selenium test to read the following:

#{selenium}
    // Open the home page, and check that no error occured
    open('http://127.0.0.1:9001/')
    assertNotTitle('Application error')
#{/selenium}


(My php project is at http://127.0.0.1:9001/. And of course, 'Application error' won't actually be the title if there is an error, as that is a Play framework thing, but it'll do for now. I also deleted the unit and functional tests as I won't be using them.)

Fail to run...

My attempts to run this directly (loading http://localhost:9000/@tests into my browser & running the test) didn't work - it gave the following error:

Permission denied for <http://localhost:9000> to get property Location.href from <http://127.0.0.1:9001>.

which makes sense, as they are being accessed on two different domain names & ports. (Accessing play using the IP address didn't work either - the different ports still caused the error.)

Run tests from the same port

So, I then updated my Apache httpd server's configuration file to contain the following:

Listen 9001
NameVirtualHost 127.0.0.1:9001
<VirtualHost 127.0.0.1:9001>
    DocumentRoot /Users/mbread/Sites/php_project
    ServerName 127.0.0.1:9001
    RewriteEngine On
    RewriteRule ^/@tests(.*) http://localhost:9000/@tests$1 [P]
    RewriteRule ^/public(.*) http://localhost:9000/public$1 [P]
</VirtualHost>

Succeed!

Now, going to http://127.0.0.1:9001/ loads the php project. Going to http://127.0.0.1:9001/@tests loads the Play testing framework (the "[P]" in the rewrite rules means it uses Apache's proxy, rather than redirecting the browser, so it still appears at the port 9001 URL). And selecting the test and clicking 'Start!' works! Brilliant!

Next, to see if I can hook Play's fixtures up to the same database as the php project! That should be pretty trivial... (I hope!)


Note: this is a shortened version of the process I went through. I originally had my php site at http://127.0.0.1/~mbread/php_project, but even getting the tests to load at http://127.0.0.1/~mbread/php_project/@tests didn't work, as it was looking for files in the /public directory, which stripped the /~mbread/php_project part out of the URL. I did think about doing something to check for a referrer containing @tests when there was a request for /public, but I thought the approach detailed above would be a better course of action.

There may well be a simpler and better way to achieve this that I haven't seen (and I'd be pleased to hear it - please comment!), and there may be other issues in this set-up that I haven't hit yet, but this is what I've got working for now. I hope it's useful to someone!

Saturday, 13 November 2010

Agreements: Lib Dems & the student fees promise

So... the student protest. Everyone seems to be talking about it. Or they were. According to Twitter, many people still are (or at least are still re-tweeting about it) so I guess it's not too late to jump on the bandwagon & air my opinion.

It's not so much the protest that I want to talk about, but the anger many students have at the Lib Dems for backing off of their pledge not to raise tuition fees.

So what were you really agreeing to?

While I accept that it may not be feasible to keep fees as they are (I don't want to get into that exact discussion right now), I think it is terrible that they signed the pledge & are now backing off. I don't believe it is right of them to say things along the lines of "situations have changed - we didn't know how difficult it would be to keep it"1.

Say what you mean, mean what you say

I think that if to fulfil the pledge would be to commit political suicide, then they agreed to commit political suicide, and that is what they should do. (Of course if it is a case of econocide2, that may be another matter.) If they know there are conditions that would cause them not to be able to keep the pledge, then they either shouldn't make it, or state those conditions as part of it. Of course, that would cause any pledge to have pages & pages of conditions, which would be unreasonable.

Less promises, more values!

Of course, I think this should apply to all parties. They should take their commitments very, very seriously - which means making less of them! Lots less. In fact, they probably can't be sure of keeping any promises at all! So I think this party-politics system should go back to values, not promises & manifestos. They should agree to approach any decision in line with their party values. That is what we should elect them on.

If you disagree with me, I am very interested in discussing this issue with you. I will endeavour to reply to any and every comment made, so long as it is in the spirit of discussion. (Comments of agreement will also be gratefully received.)


Footnotes:

  1. This is a paraphrase of what they seem to be saying, based on online news reports and BBC TV news interviews. I couldn't find an actual quote - the online news sources didn't seem to like including complete quotes...
  2. By econocide, I am referring to the term as used by the book Econocide: British Slavery in the Era of Abolition by Seymour Drescher, meaning "decisions with catastrophic economic consequences"3
  3. Second econocide definition on http://schott.blogs.nytimes.com/2009/03/20/econocide/

Friday, 12 November 2010

Worship

Worship is doing whatever will put a smile on God's face

I've been wondering about the nature of worship recently - particularly sung worship, and how it differs from worship as a whole. This is just one idea I had today during a short period of sung worship: "Worship is doing whatever will put a smile on God's face".

Other aspects

There are probably other aspects to it too - and this pretty much describes "loving God" too (i.e. putting His happiness & will before my own), while I guess it may well be useful to make a distinction between the two. But for my current season of life, I think this is a pretty good description. And I hope it continues to mean something to me beyond just today!

God has a face???

And... to any sceptics who are reading this (I hope you don't mind me calling you a sceptic)... no, I don't believe God has a physical face to smile with like we do. But it is the closest description we have to what He does. Think of the meaning behind a human smile, and extrapolate that to a God of unimaginable size who is unlimited by a physical face. There's no way to explain it other than an anthropomorphic analogy.

What makes God smile?

As for what makes God smile, it's not just all hard work & slaving away in dull ceremonies. (In fact, it's not slaving away in dull ceremonies at all!) Firstly, when we make God smile, it is likely to make us smile too. Think of when you make someone you care about smile. Isn't it a good feeling? You can get that from making God smile too! And secondly God desires to make us happy, so it makes Him smile when we "when we receive his gifts joyfully"1 - but we also have to honour Him as the almighty God who He is.

See also: We're all worshiping something on Pippa's England.


  1. See "What Makes God Smile" by Christ Church Virginia Water, sermon notes based on Rick Warren's Purpose Driven Life, at http://www.cc-vw.org/sermons/genesis6.htm.

Sunday, 31 October 2010

All Hallows Even: My thoughts on Hallowe'en

These thoughts are recorded to encourage others to think about this issue and analyse their own thoughts & beliefs in this area. I'm very open to discussing these ideas with anyone, and am not publishing these with the intention of imposing these thoughts on anyone - just to encourage thought, analysis & discussion.

I personally avoid involvement in celebrations of Hallowe'en such as "trick or treating". This is probably more to do with the way I was brought up than any theological or spiritual conviction. (I do like eating pumpkin-based foods though, as that's just using a seasonal food! I found pumpkin soup particularly nice the one time I've tried it...)

I choose to steer clear of most stuff to do with Hallowe'en, to err on the side of caution. I would not try to convince any Christian who has peace about being involved in Hallowe'en traditions that the day is evil, as that is between them & God (and to any non-Christian I would have a lot else to talk about before we could get anywhere near this minor issue!)

"A bit of fun"

While I do not hold a strong opinion on Hallowe'en, I do find it slightly troubling. Where in similar areas including films (see my upcoming post on Twilight) you have a specific plot & message being communicated, with Hallowe'en you just have vague ideas & traditions. While a lot of what goes on is just "a bit of fun", and much of it (i.e. many of the costumes) have nothing to do with evil at all, there is the idea that demons and spirits are just "a bit of fun", while I believe they are in fact very dangerous. That is one of the things that troubles me - the trivialisation of evil & spirits. The other thing is that it does provide an opportunity for some - although probably not most people - to esteem evil. So my misgivings about Hallowe'en are not because I consider it "evil through & through", but because of the very low-level effects it can have on people.

All Saints Praise

There is one way that I would celebrate All Saints Eve (All Hallows Even aka Hallowe'en). Every year there is a praise & worship service called "All Saints Praise" in Canterbury Cathedral on the evening of 31st October, organised in association with People Without Limits, which I often attend. (Except this year it's on Monday 1st November, as there are normal Cathedral services on the Sunday evening.)

Conclusion

So, in conclusion, I would like to re-iterate that these are just my thoughts, and I want to encourage other people to think these issues through. I avoid Hallowe'en traditions, because of a combination of the way I was brought up and concerns about the effects they have on people's minds.

Tuesday, 28 September 2010

New Blog!

I have just started a new blog here on Blogger!

I have imported a few 'poems' that I wrote a few years ago from my old blog Thoughts of a Dying Mind to get the ball rolling. I doubt I'll be writing any more poems, as that phase ended quite some time ago, but I wanted to feature some of the ones I liked best.

I'll mainly be uploading my thoughts on a number of topics, from computer programming to prayer to Twilight. I may also upload some updates on my life to keep those friends who are distant from me up-to-date.

mBread
aka Martin Pain