Writing an IRC Bot in Ruby

Internet, Programming 4 Comments »

Many people use IRC (Internet Relay Chat) to communicate with others around the world, usually within a specific group or community (developer projects etc). During the years that IRC has been used, many people have written scripts that log into the IRC server and perform specific tasks. These are commonly referred to as “IRC Bots”. They appear as users in the channel, but are in fact just scripts running off a computer somewhere.

An IRC Bot can be used to manage channels (kicking members, banning members, making members OPs), or just to perform fun tasks (such as randomly generate quotes for members). Either way, a lot of people don’t realise just how easy making a bot is, so I’ve put together this tutorial which will walk you through the steps of building your very own IRC bot.

First Things First
Before you start programming in Ruby you will have to have it installed on your computer. I use Ubuntu Linux and so I used the command:

sudo apt-get install ruby ruby1.9

This will install ruby versions 1.8 through 1.9 onto your system. Another program that is useful to have when debugging ruby is the interactive version:

sudo apt-get install irb

If you use another Operating System (like Windows) you will have to look up how to install ruby on the internet.

Step 1
Create a new directory which will contain all your files associated with the Bot. I’ve created a directory “IRC Bot” in my home folder, and then a subdirectory “Ruby” in that.

Enter into the directory you have just created.

Step 2
Create a file called “config.rb”, open it in your favourite editor, and type the following:

$irc_server = ''
$irc_port = ''
$irc_nick = ''
$irc_host = ''
$irc_realname = ''
$irc_nickserv = ''
$irc_identify = ''
$irc_channel = ''
$irc_prefix = ''
$irc_password_prompt = '(This nickname is registered and protected|This nickname is owned by someone else)'
$irc_password_accepted = 'Password accepted \- you are now recognized'

These are the global configuration variables that we will use throughout the program. Here is a brief description of each:
$irc_server - The address where the IRC server is located, for example ‘irc.freenode.net’.
$irc_port - The port through which you can access the IRC server. Usually this is set to ‘6667′.
$irc_nick - The nickname your bot will use when it connects to the server.
$irc_host - The host of your bot (you can set this to any address you like, for instance ‘adrianhayter.com’).
$irc_realname - The “real name” of your bot (can be anything, but I usually set it to the same value as $irc_nick).
$irc_nickserv - The nickname of the NickServ bot on the IRC server (usually left as ‘NickServ’).
$irc_identify - The command used to identify users on the IRS server (usually set to ‘IDENTIFY {password}’, where {password} is the password associated with the Bot’s nickname).
$irc_channel - The name of the IRC channel you want the Bot to join (’#linux’ etc).
$irc_prefix - The prefix you want your bot to have which saves time when typing out commands (set it to something like ‘!’ or ‘%’).
$irc_password_prompt - This is a regular expression which matches the password prompt from the server (usually can be left as it is above).
$irc_password_accepted - This is a regular expression which matches the password accepted message from the server (usually can be left as it is above).

Save the config.rb with your new values.

Step 3
Create a file called “bot.rb” and open it in your favourite editor.

Add the lines:

require 'config.rb'
require 'socket'
require 'parse.rb'

$connect_log = ""
$joined = 0

def place(s)
strx = s.gsub(/\n/, "")
strx = strx.gsub(/\r/, "")
$con.send strx + "\n", 0
puts "--> " + strx
end

$con = TCPSocket.new($irc_server,$irc_port)
place("USER " + $irc_nick + " " + $irc_host + " blah :" + $irc_realname)
place("NICK " + $irc_nick)

I’ve written a lot here, and if you have never used Ruby before then it will appear confusing, so I’ll go through it in a bit more detail.

The first three lines are all “require” statements. These statements read the files into the current bot.rb program. The first reads the config.rb that we just created, the next loads the “socket” class which is a class already built into Ruby that allows the creation of sockets to access content on the internet. The last loads the file “parse.rb” which we will create later.

The next two lines are global variables, the first is a string to store the outputs of the server (which we will use later), and the second is a variable which we will set to 1 when the bot has joined the channel.

Then we get to our first functn ion, which is called “place”. It accepts a parameter “s”, and strips this parameter of all new lines and carriage returns, before sending it down the connection and outputting it to the terminal. You don’t have to use this function, but it is very useful this entire bot program is based around it.

Finally, we open a new TCP Socket connection to the IRC server using the details we gave in the config.rb file, and then send our user and nick information down it using the place function.

Step 4

Now that we have a connection to the server, we are going to have to create an infinite loop which continually gets data from the server and checks it to see if it is important.

Add this code below what you have already written:

while true do

$connect_log = $con.recv(512)

s = $connect_log.split("\r")
for i in s
puts i
if i =~ /PING\ / then
a = i.split("\:")
place("PONG #{$irc_host} :#{a[1]}")
end

if i =~ /#{$irc_password_prompt}/ then
place("PRIVMSG #{$irc_nickserv} \:#{$irc_identify}")
end

if i =~ /#{$irc_password_accepted}/ && $joined == 0 then
place("JOIN #{$irc_channel}")
$joined = 1
end

parse(i)

end

$connect_log = ''
puts "Log Cleared\n\n"
end

This code fetches 512 bytes of data from the server and splits it into an array (separated by a carriage return). It then goes through each of these lines and checks if it is a PING from the server (at which point it will PONG the message back). This stops your bot getting booted from the server due to a PING timeout. It also checks if the password prompt has been given by the server, at which point it will send back the relevant identify message. If the server accepts the identify, then the bot will detect the accepted message and will join the channel you set in the config.rb.

Since a lot of servers have different messages for identify / password accepted, you may have to do a little investigating to find the right one. Luckily, the line “puts i” at the start of the for loop outputs the server message to the terminal, so you can see what messages are being sent, and change the config.rb variables accordingly.

At the end, it sends “i” through the function parse() (which is in the file parse.rb) and clears the log.

Step 5

Finally, create a file called “parse.rb” and open it in your favourite editor.

Add this code:

def parse(x)

# INITIALIZE VARIABLES
upmynick = $irc_nick
mynick = upmynick.downcase
nick = ""
chan = ""
fullmsg = ""
upfullmsg = ""
msg = ""
upmsg = ""

# SPLIT CODE UP
s = x.split("\:",3)
if s[1] =~ /!/ then
nick = s[1].split("!")[0]
end
if s[1] =~ /\ / then
chan = s[1].split("\ ")[2]
end
if s[2] != nil then
puts s[2]
fullmsg = s[2].downcase
upfullmsg = s[2]
end
if s[3] != nil then
puts s[3]
fullmsg = fullmsg + s[3].downcase
upfullmsg = upfullmsg + s[3]
end

fullmsg = fullmsg.strip
upfullmsg = upfullmsg.strip

# CHECK IF MESSAGE IS DIRECTED AT BOT
if upfullmsg =~ /^(#{upmynick}\:|#{$irc_prefix})(\ )*/ then
direct = true
upmsg = upfullmsg.split(/^(#{upmynick}\:|#{$irc_prefix})*/, 2)
upmsg = upmsg[2].strip
msg = upmsg.downcase.strip
else
upmsg = upfullmsg.strip
msg = fullmsg.strip
end
end

This is a very complex parsing function, but will be your starting point in creating your own custom commands. The local variables “upmynick” and “mynick” are set to the normal case bot nickname, and the lowercase bot nickname respectively. This can be very useful, as you will want to check regular expressions against the lowercase nick, but output messages with the normal case nick.

The parse function then splits the message “i” up into sections, and gets information from those sections. The local variables “nick” and “chan” are set to the obvious (the nickname of the user who sent the message, and the channel they sent it to). The variables “fullmsg” and “upfullmsg” are simply the entire message the user has sent, in lowercase and normal case.

Most IRC bots only respond to commands if they are told directly to the bot, so the next part is very useful unless you want to piss a load of people off. If the variable “upfullmsg” begins with the bot nickname (and a colon), or the bot prefix (usually &, %, ., etc), then we know that the user is telling the bot directly. A new variable “direct” is set to true, and two new variables are created (upmsg, and msg). These variables are very similar to upfullmsg and fullmsg, but they don’t have the bot nickname or prefix at the start.

So, if the “fullmsg” was “IRC_BOT: hello!”, and the IRC bot’s nickname was set to “IRC_BOT”, then msg and upmsg would now be set to “hello!”. This simply means that everytime you check the regex of a command, you don’t need to include regex to check if the bot’s nickname is being referred to. You only need to see if direct is true.

Step 6

The final stage of an IRC Bot is to add some functions to it. I’m going to show you how to make one simple function (get the bot to flip a coin) and how to add it to the parse function.

At the end of the parse.rb, before the last “end”, add the following code:

if direct == true && msg =~ /^(flip|coin)/ then
if rand(2) == 1 then
flip = "Heads"
else
flip = "Tails"
end
place("PRIVMSG #{chan} :#{flip}")
end

Simply explained, this code checks that the variable “direct” is true (i.e. the command is being told directly to the bot), and that the message sent begins with either the word “flip” or “coin”. If both these conditions are met, then the code generates a random number between 0 and 2. If the number is 1, then the outcome is “Heads”, if it is not, the outcome is “Tails”. Note that a the random number in ruby can never be the number you set in the rand() function. So the only two numbers ever outputted by rand(2) will be 0 and 1.

The bot then uses the place() function we defined earlier in bot.rb to send a message back to the channel with whatever the variable “flip” has been set to.

Finally…

To run your IRC bot, simply run bot.rb using ruby.

Thanks very much for reading my tutorial. Please comment on things you think could be explained in more detail, and if something makes no sense. If you are having loads of trouble doing anything, then please feel free to download the complete files from this tutorial here:

http://adrianhayter.com/ircbot.release.1.0.tar.gz

Popularity: 5% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

My favourite atheist quotes

Atheism, Facebook 49 Comments »

If you add me on facebook and scroll down to my favourite quotes section, you will see a large collection of atheist and anti-religious quotes from various people. Anyone who knows me well will understand that I believe 100% in each of them, and will freely admit to be anti-religious. So for those who don’t have facebook, here are my favourite quotes:

‘An Atheist believes that a hospital should be built instead of a church. An Atheist believes that a deed must be done instead of a prayer said. An Atheist strives for involvement in life and not escape into death. He wants disease conquered, poverty vanquished, war eliminated. He wants man to understand and love man.’

‘I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours.’ - Steven Roberts

‘And if there were a God, I think it very unlikely that He would have such an uneasy vanity as to be offended by those who doubt His existence.’ - Bertrand Russell

‘Philosophy is questions that may never be answered. Religion is answers that may never be questioned.’

‘We must question the story logic of having an all-knowing all-powerful God, who creates faulty Humans, and then blames them for his own mistakes.’ - Gene Roddenberry

‘Without religion, you would have good people doing good things and evil people doing evil things. But for good people to do evil things, that takes religion.’ - Steven Weinberg

‘Two hands working can do more than a thousand clasped in prayer.’

‘Men rarely (if ever) manage to dream up a God superior to themselves. Most Gods have the manners and morals of a spoiled child.’ - Robert A. Heinlein

‘I have examined all the known superstitions of the world, and I do not find in our particular superstition of Christianity one redeeming feature. They are all alike founded on fables and mythology.’ - Thomas Jefferson

‘Which is it, is man one of God’s blunders or is God one of man’s?’ - Friedrich Nietzsche

‘Give a man a fish and he will eat for a day; teach a man to fish and he will eat for a lifetime; give a man religion and he will die praying for a fish.’

‘Religion does three things quite effectively: Divides people, Controls people, Deludes people.’ - Carlespie Mary Alice McKinney

‘Be thankful that you have a life, and forsake your vain and presumptuous desire for a second one.’ - Richard Dawkins

‘The Government of the United States is in no sense founded on the Christian religion.’ - John Adams, 2nd President of the United States

‘You do not need the bible to justify love, but no better tool has been invented to justify hate.’ - Richard A. Weatherwax

‘They felt that science would be corrosive to religious belief and they were worried about it. Damn it, I think they were right. It is corrosive to religious belief and it’s a good thing.’ - Steven Weinberg

‘Is God willing to prevent evil, but not able? Then he is not omnipotent. Is he able, but not willing? Then he is malevolent. Is he both able and willing? Then whence cometh evil? Is he neither able nor willing? Then why call him God?’ - Epicurus

‘It is not as in the Bible, that God created man in his own image. But, on the contrary, man created God in his own image.’ - Ludwig Feuerbach

Popularity: 100% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Thoughts for 2008

Atheism, Facebook, Linux, MyBB, Student, Ubuntu, University No Comments »

Well, this is my last blog post for 2007, and it has been a really great year for me. I’ve completed my first term at university, converted to Ubuntu Linux, and played Portal, BioShock, and Halo 3 for hours on end. However, instead of commenting on the year that has past, I thought I’d comment on my hopes for 2008, in reference to things that will affect me.

facebook

For a student, facebook is a very important tool. It’s a linking point between everyone you know, whether they are at university or not. You can plan events, share photos, send messages (either publicly on the wall or privately), and do hundreds of other things thanks to the growing number of applications. However, there are still drastic improvements to be made:

  • Generate news feeds in real time. When one of my friends changes their name, I want to know immediately, not several hours later. There is no reason why they can’t do this already, and it would certainly keep everyone up to date with things.
  • More control over notifications, especially those concerning applications. I’ve really had enough people inviting me to “become a werewolf” or “see what kind of eyes you have”. Either ditch the invitations, or include an option to turn all application invitations off. I know they have an “application blocker” feature, but I don’t want to have to go through every single application I don’t want to be invited to and block it…
  • Remove the 60 photo limit on albums. This is the 21st century facebook, people have digital cameras now. They can take more than 60 photos at a time. Again, there is no reason for the limit. You can create unlimited albums, but only have 60 photos in each one? It’s absurd.
  • Remove the limit on the number of groups you can join. Honestly, if they think people can only have a maximum of 200 beliefs/ideas/viewpoints/favourite (actor/tv show/film) in their lifetime then they have led some very sad lives. I’m already a member of 169 groups, and at the rate I join / create them I’ll probably be at 200 in a few weeks. I don’t want to go through them all and decide which ones I “don’t really agree with that much anymore”.

On a final note for facebook, thanks for removing the “is” from statuses. It gave me quite a few laughs over the next few days when I saw people who hadn’t realised it had gone. Stuff like “John going to the cinema” and “Jane tired” were great for a grammar Nazi like myself.

Linux

Not much I can say about Linux, seeing as it is already a fantastic operating system. I look forward to Ubuntu 8.04 in April, which has an awesome new default theme, and better compiz support. One thing I would like to see on it is the BBC iPlayer, which they have been forced to make available to Linux and Mac thanks to a nice lawsuit. I’m also be trying out Linux Mint in the new year, because apparently it is better than Ubuntu.

MyBB

Hopefully we will see the release of 1.4 in 2008, as well as a complete release of the MyBB Merge system. There are a lot of other plans for MyBB, both official and unofficial, but for obvious reasons they cannot be revealed just yet.

Atheism

After creating a group on facebook for “Atheists at Royal Holloway”, I’ve got a few more members for a possible Atheist Union / Society at Royal Holloway. Nothing is official yet, but we are definitely on our way. We’ve been invited to a debate by the Christian Union in February on the subject of belief, which should be fun.

I’m gonna end it there, I’m sure there will be far more to look forward to in 2008, but I must get things ready for the New Year party tonight!

So, farewell 2007, roll on 2008!

Popularity: 6% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Why Linux is better than Windows

Linux, MyBB, Ubuntu 4 Comments »

The MyBB IRC channel (#mybb) is prone to a lot of idle banter between it’s members when we are not helping people solve their MyBB problems.

Today was one such day. It all started with a simple argument between MiNT, georgia_tech_swagger, Snake, and myself against Matt. Matt is a Windows Vista user who is basically Microsoft in annoying boy form. He thinks Microsoft is invincible and the best thing since sliced bread. He has little experience with Linux, and the one time he did use it he complained non stop about not being able to use it properly.

So the argument was essentially a load of Linux users (with the exception of Snake, however he does know a lot about it) trying to put the point across that Linux was a better system, and that Microsoft were evil. At one point Matt tried to convince us that the Zune was invincible and that Linux couldn’t be installed on it, but a few quick searches found that to be false as well.

Eventually, he left, and Snake posed an interesting challenge:

(17:31:45) Snake: we should make a list of why linux is better then windows

…and so it began.

1) Linux is free.
2) Linux is faster (another IRC user, tmhai, was astounded earlier today at how his laptop booted in under 30 seconds with Ubuntu, compared to the 30 minutes it took Windows to boot on it).
3) Linux is Open Source (which means bugs and security holes are found and fixed quicker).
4) With Linux, you own your Operating System. With Microsoft Windows, you don’t actually “own” the Operating System, you simply have a license that says you can use it. Every installation of Windows is owned by Microsoft.
5) Linux has better support. This is debatable, but there are a lot of community forums out there, and usually errors in Linux are much more readable than Windows errors, which leads to quicker solutions.
6) Most Linux distros come with some form of package manager, a utility that installs safe and secure programs, and then updates them automatically.
7) Most Linux distros release daily updates of core files, as well as updates for programs.
8) Most Linux distros release their next version every 6 months without fail. So instead of waiting an uncertain amount of time for the next Windows release, you know exactly when the next version of your OS will be out.
9) Linux has a better command line interface. Using the command line can be a bit daunting if coming from a Windows environment, but you will soon learn how to use it, and about the advantages of this way of doing things.
10) Linux has a better interface. It doesn’t matter if you are using Gnome, KDE, or some other desktop environment, it is way better than what Windows has to offer.
11) Linux has programs that can access practically every file type ever invented.
12) With a bit of configuring, it can run programs made intended for Windows. Today I managed to get Max Payne 2 running in wine after I earlier managed to get Direct X running).
13) The only viruses / spyware you get are by installing them yourself.

The only things we came up with that Windows has over Linux is the Driver support, and the support for third party applications.

Hopefully though, these will improve for Linux as it takes a more active role in today’s computing.

Popularity: 17% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Season’s Greetings

Camera No Comments »

Merry Christmas to everyone! It has been a great day for me, with the opening of presents, a delicious dinner, and the Doctor Who Christmas Special on the TV! I’m currently sat in my living room with my sister, our laptops sitting on our respective laps, watching random videos and stumbling around the internet with Stumbleupon.

This Christmas I simply asked for money, and with the £200 I received overall, I am going to purchase a Digital SLR Camera from Amazon. I’m currently considering a Fuji FinePix S9600 or a Canon EOS 350D. Both are great camera’s, but the S9600 runs on 4 AA batteries which means it’s battery life might not be as long as other cameras. However, it does have a very good zoom, and video functions, something the Canon (which has a rechargeable lithium battery) does not.

I don’t think batteries are a good comparison point when buying a camera though, and I can always get rechargeable AA’s, so I think I’ll be getting the Fuji if nothing else turns up. I’m taking a photography course in the summer, and a good camera will really help!

Popularity: 2% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Saying farewell to “www”

Internet No Comments »

I like to think I keep in line with today’s web standards, and I have recently discovered a server compliance that I had missed before. It is quite odd to hear of at first, but very very useful when it comes to getting your site ranked high in Search Engines.

This standard is organized by http://no-www.org, and as the name suggests, it involves removing the “www” prefix from web addresses. What is the point of all this? Well, like most things that concern standards, the fix is for a problem created when the web was first set up. The current W3C validation for HTML and XHTML is only around because there was no standard when the web was created, which led to a rise in browsers which showed web page content differently. I.E is an example of a browser that still does this. However, I have heard that I.E 8 passes the Acid 2 test, which means it might be a standards compliant browser.

The problem with the “www” is that when the web was first set up, the main folder on servers for displaying content through the http protocol was in a folder called “www”, and this folder was technically speaking a subdomain of the domain. Just like http://mail.yahoo.com/ is a subdomain for the mail side of yahoo.com, http://www.yahoo.com is the subdomain for the main site. However, this is bad practice, and servers have since evolved, most of them allowing the user to access the “www” subdomain by simply entering the domain (like http://yahoo.com). This is a good thing because not only does it mean that you have less to type, but people can rename their www folder to anything they like (a very secure thing to do). A lot of servers have names like “public_html” or just “html”.

However, the no-www group, have a class system to match websites to. Class A, B, and C. Most websites are Class A, which means that the site can be accessed with or without the www. However, as they point out, this is bad practice, as Search Engines may crawl both, which leads to a duplication of page in the search database, something for which you can be penalized.

This is why they recommend Class B as a class to aim for. It means that while both urls will work, the www. prefixed url will redirect to the url without the prefix. Essentially, if a user types “http://www.adrianhayter.com”, they will get redirected to “http://adrianhayter.com”. There is a tutorial on how to do this with a simple apache .htaccess command on the no-www site.

Class C is not recommended because of the implications in today’s browsers. It involves completely disallowing the www, and resulting in the server returning a 404 (page not found) error. The only way of accessing the site would be by leaving off the www. This is of course silly at the moment, since most web browsers will add the http://www. if you type the domain in and press Ctrl + Enter. Also, a lot of users of the web are unaware of the www problem, and so still think it is a necessary thing to type.

I doubt whether the web will ever truly be Class C. Perhaps in several decades time, but definitely no time soon. For now, I have converted most of my sites into Class B’s, furthering my support of standard compliant websites.

Popularity: 2% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Atheistic Fundamentalism?

Atheism No Comments »

I was reading the BBC News website today, and I see that Tony Blair has been “converted” to Catholicism in a surprise move which is being questioned by everyone. The main reason for the questioning is his prior stance on abortion, safe sex, and gay marriage, which was all positive. Why is it now then, that he has chosen to go in the opposite direction? Now of course I know that there are a lot of Catholics who agree with those issues, but it is safe to say that the Catholic Church itself is against them, and as Ann Widdecombe said, did he vote for those issues because it was convenient for him? Whatever the case may be, this article led be onto another, entitled “‘Atheistic fundamentalism’ fears”.

In the article, the Archbishop of Wales, Dr Barry Morgan said that the greatest problem facing the world was the rise of “fundamentalism”, which is a fair enough point, but he didn’t focus on the obvious Muslim fundamentalism, or the Christian fundamentalism that has gripped the USA. No, he focused on what he calls “atheistic fundamentalism”, which is a completely nonsensical phrase. The idea of a fundamentalist is someone who has “strong adherence to any set of beliefs in the face of criticism or unpopularity”. That surely gets Atheism out of the picture straight away? How can an atheist have a strong adherence to not believing in something? Christian fundamentalists will say “believe in God or burn in Hell!”…Atheist fundamentalists would say “don’t believe in God…or…well, nothing much will happen either way…just don’t do it!”. You see? It’s utterly ridiculous!

The Archbishop doesn’t come across as a “nice” Christian by any sense anyway. In one quote from the article he talks like a radical anti-secular person…hardly one to make judgement on non-believers:

As well as leading to Christmas being called “Winterval,” the archbishop said “virulent, almost irrational” attacks on Christianity led to hospitals removing all Christian symbols from their chapels, and schools refusing to allow children to send Christmas cards with a Christian message.

Well, as far as hospitals and schools go, they are government run facilities that allow members of any faith to access their services. A Christian would hardly like it to walk into a hospital chapel and find it decorated with images from Islam, or receive a Jewish Hanukkah greeting in a card from their child’s school now would they? Some people really don’t think things through. The separation of the church and state is a good thing. It keeps everyone happy (apart from non-secularists of course). So until the world is united under one religion (and I really hope it never is), we’ll stick with plain hospital chapels and normal holiday greetings in cards.

As for his comment about “Winterval”, he really didn’t do any research about this at all. Birmingham City Council decided to call all activity over the Christmas period “Winterval” to respect people of different beliefs. Christmas was still called Christmas, Hanukkah was still called Hanukkah, but the entire period in which they both happen was referred to as Winterval. It didn’t openly offend anyone, which was what the council was aiming for. However the Bishop completely forgot about other religions and views again, and decided it was an open attack on Christianity.

The reason I decided to talk about this issue was because I stumbled on a blog post by someone called Alex Parsons, an atheist like me, who was dumbfounded by the Bishop’s comments, and the hypocrisy of his statements.

The bottom line is, there is no such thing as Atheistic Fundamentalism. As Alex Parsons says:

Whilst many atheists might not say it so bluntly out of politeness, atheism is the belief in an absence of gods; by definition we see most of religion as untrue and useless superstition. That’s not being an extremist or militant atheist, that’s just being a normal one.

The Bishop should stick to correcting fundamentalism in his own church, and stop blaming innocent people whose only “fault” is that they have looked at the Bible, Koran, Torah, or whatever religious text you have, and seen no logical reason to believe a word of it.

Popularity: 2% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Microsoft Ubuntu

Internet, Linux, Ubuntu 1 Comment »

So one of my acquaintances, Matt has “launched” a new parody website of Microsoft and Ubuntu, called msubuntu.com. It’s pretty poorly designed at this stage, and contains a numerous amount of spelling errors (”Sponcers” for example), but apparently he’s going to get a nice template for it.

The idea is to get it like the hugely popular MSFirefox.com, slap a load of adverts on it, and then get paid by all the traffic visiting it. Of course he forgot completely about checking the illegality of the whole thing!

Microsoft’s annoyance at being paired with a Linux product aside, it seems that Ubuntu itself probably won’t take the site likely. From their policy:

Commentary and parody. The Ubuntu trademarks are designed to cover use of a mark to imply origin or endorsement by the project. When a user downloads something called Ubuntu, they should know it comes from the Ubuntu project. This helps Ubuntu build a reputation that will not be damaged by confusion around what is, and isn’t, Ubuntu. Using the trademarks in your discussion, commentary, criticism or parody, in ways that unequivocally do not imply endorsement, is permissible. Anyone is free to write articles, create websites, blog about, or talk about Ubuntu — as long as it’s clear to everyone — including people completely unfamiliar with Ubuntu — that they are simply referring to Ubuntu and in no way speaking for Canonical, or the Ubuntu project.

So, I’m assuming that mentioning a collaboration between Ubuntu and Microsoft isn’t going to do their reputation much good. The site doesn’t just “reference” Ubuntu either, it implies that there was an actual bond between the Ubuntu project and Microsoft. Good luck getting both companies to ignore that…

Popularity: 3% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

We’re going dedicated!

Computers, DrPoodle.com, Internet No Comments »

As some of you may well know, MiNT and I rent a VPS (Virtual Private Server) together, so that we can host a bunch of websites together, and have faster access to them etc. It’s not exactly cheap, but when compared to buying normal hosting for each website individually, it’s a very good deal.

Those who were members of DrPoodle.com about a year ago will remember that we had a brief spell with the host Web-Frenzy. It was a great host, and the CEO (Chris) actually became a member of the forums for a while. However, he began to have server issues, and we decided to find another host. I’ve stayed more or less in contact with him through MSN though, and a few weeks back, he was talking to be about his merge with another hosting company, which would allow him loads of access to a datacentre. It meant that he could now deal with dedicated servers, as well as VPS and normal hosting.

Chris made MiNT and I a very good deal on a dedicated server, which provides much more space and bandwidth than our current VPS, and at only a small increase in cost. Last night we all agreed on the deal, and our new server is being set up today! This means that hopefully within the week we will be hosted on a dedicated.

It also means that we are looking for small websites to host for a small fee per month. We’re not setting up a hosting company, so it won’t be official or anything, but if you are a friend of either MiNT or I, and need cheap hosting, we can make you a deal. Use the contact form on this site if you are interested.

Popularity: 2% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

End of Term

Programming, Student, University No Comments »

I told you I’d keep this blog updated didn’t I? :D

So yes, yesterday was the official end of term for most Computer Science students at Royal Holloway, due to the fact that I had my last lecture of the year. The last week was pretty empty on an academic scale. All my lecturers started canceling their lectures because we’d completed the module, so I ended up averaging 1 lecture a day instead of 3. My last tutorial was also canceled because my tutor was off sick.

Anyway, my coursework is all complete for the year, and I got 100% in all my programming assignments, and an “A” in my last Database Technology assignment, which I am very happy about. I also got to show off my SQL Simulator to my database class because it impressed our lecturer so much.

I’ve now got 3 days until I go “home” for the Christmas break, and I have all the free time in the world during them. I’m going on a shopping trip with one of my flatmates today to Staines, which should be fun, and on Friday we are all going out to the Student Union for the “Christmas Blowout” party, which means I’ll get very drunk and be up until 5 ordering some kind of food from Dominoes.

All in all, it’s been a great first term, and I’m really sad to be leaving all my friends here, but we’ll see each other for New Year. I can’t wait until the second term starts and we get new modules (since Web Technology is one of them).

Popularity: 3% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl
WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login