Select Page

Blog Posts:

Latest News and Blog Posts from Wayne “Pendragon” Owens.

Mail Filter Madness – Part 1

I have to admit I am a bit unorganised in the email department! In fact,  that’s a bit of an understatement!

I am extremely unorganised in the email department!

Due to different projects, and historical reasons I have several domain names, with different email addresses associated to them.  These emails all go to different popbox’s, most are picked up by my windows box at home (all to individual accounts) And in theory I then check my mail every so often. In truth, due to the number of accounts I do not check them as often as I should and I now have a dozen accounts all with several thousand unread emails in them.

Right!” says I, “This needs to be sorted!“. But what to do?, I could merge them all into one account, so everything gets delivered to the same folders, then write a load of email filters to organise the mail into appropriate folders, so its easier to manage. “Right, I’ll do that!“. Wait a second. What if my windows machine doesn’t have it email client open? the filters wont run and the mail will be scattered, what if I’m on a different machine, with a different email client, No…. There must be a better way to run email filters.

What if I run them at the server level?”

Now that’s an interesting thought. Actually add a section in the exim configuration to check a database of rules and deliver accordingly. Then have a simple control panel where users can add rules based on sender, local_part, domain, recipient, subject and have the email delivered into the corresponding sub folder.  This would mean your email was sorted as soon as it was delivered, regardless of what email clients you have open and where.

Well I was after a new project to play with for a bit, and it looks like this may just be the one.  I have exim, mysql, courier all installed and running on my home gentoo server, so time to forward a few of my domains at that IP and start playing.

Watch this space…….

The cake is a lie?

Cake or death?
Uh, cake please.
All right… You, cake or death?
Cake please!
Here. Next! You, cake or death?
Death please. No, cake!
You said death first!
I know, but I meant cake!
Oh, all right. You’re lucky we’re Church of England… You, cake or death?
Cake please.
Too bad! We’re out of cake. We only had three bits.

Eddie Izzard: Dress to Kill – 1998

I had been seeing the quote “The cake is a lie” all over the Internet recently, almost to the same level of saturation as the old “all your base are belong to me“. So I decided to look into why the cake is a lie, if indeed a lie it is. And I do like cake! So a quick  prayer to the god of all knowledge Google granted me the Divine knowledge I needed. It was from a game called Portal, which was a current popular game amongst geeks. Not wanting to loose my “Geek Card” I did my best and got hold of a copy of the game and kick it off.

The game  is a first-person action/puzzle video game developed by Valve Corporation (The guys who brought us Left 4 Dead).  The game is set in the science testing labs of the “Aperture Science Computer-Aided Enrichment Center”.  You wake up in a small room and the voice of an AI informs you that you are being tested and you have to work your way through 19 test stages, where after testing has finished you will be rewarded with cake. The challenges get harder and harder the further along you go, while the AI inspires you with promises of cake.  The problems are solved by teleporting yourself, or items from one place to another by means of portals.  The Test chambers are very clean and modern, but the further you go, the more erratic the AI gets, slipping in the odd threat or gibberish. There are also parts where you can see the rooms behind the test centre, these rooms are all derelict and falling apart. With graffiti all over the place with parts of poems, or “HELP” written in what looks like blood, not to mention hand prints everywhere and loads and loads of :-

the cake is a lie…
the cake is a lie…
the cake is a lie…
the cake is a lie…
the cake is a lie…

After completing the final test chamber (this one with the sign for cake on it) the AI places you on a conveyor belt heading into a furnace, where you will be baked and there will be cake. Here you promptly escape, not to the Los Angeles underground, but the maintenance part of the testing complex. That is implying you wish to escape, you could stay and be burnt alive in the hope of getting cake I suppose. Those of you who did not wish to die and escaped now find yourself lost in the bowls of an underground massive complex, which is falling apart, and guarded by robots with machine guns. You now make use of your portal Gun to try and follow the clues left for you by some mysterious person.  All the time with the AI telling you that your going the wrong way, and if you give up now you can have cake. or my favorite one “they have already cut the cake, I told them to wait for you, if you turn yourself in now you may be in time to get the last slice!”  You eventually (if you can complete the puzzles) get to the control centre where you come face to camera with GLaDOS (The AI). Who promptly tries to kill you, with nerve gas and rocket launchers (some computer systems).  If you can defeat GlaDOS in the time you have before the nerve gas kills you, the control room explodes, and you wake up outside and free……

There is then one of the best credit sequences I have ever seen in a computer game, where GLaDOS sings a little called “Still Alive” while the lyrics are typed on a text based screen, with asci images. Its good………And it ends with CAKE!!!!

Ghosts At The Insane Asylum

It seems the Insane Asylum is haunted, or we have the worlds weirdest burglars.

Last night as I made my bid for freedom I left Gawain my trusty work desktop recompiling its kernel, and doing other re-compiles of parts of its OS. I know it was doing this as the screens were scrolling with code as I switched off the monitors by the switches on their front.  I then left the Asylum at the same time as DemonP, which left two inmates left in the building who left not long after us. Now they set the alarm and locked up the building. All was well!

This morning I entered my padded cell, hit the buttons on Gawains monitors to check my social networking sites before work began… NOTHING… I press them again, and they remain blank. “Ok” I thought “My machine crashed over night” So I hit the power button on Gawain… NOTHING… Hummm? Power cut? No, everything else is working. So I investigate more and discover the extension lead that powers my desktop, monitors, switch, VoIP phone had been switched off at the wall.  Now the socket is semi behind my desk, and blocked by the wedged open door, in other words “Impossible to be accidentally switched off” besides it was still on when I left the night before.

ARSE! That’s a tad annoying” says I. Ok the exact words I may have used were not quite that polite. Right, switch the socket back on, power up the machine only for it to sit at the maintenance prompt due to disk errors. Get them fixed, and have to kick off the re-compiles to repair the damage caused by a unscheduled  power off mid compiling. So far I have spent all day trying to get my desktop back up and running.

SO I checked with the two guys who left the Asylum after me last night, both deny switching off the power and say they would never do such a thing as they know the problems it would cause. (I should take a second to explain here that one is a sheep following the new-age hippie flock at the minute and keeps moaning we should switch off all electrical devices at night to save the planet).  So no one turned it off, which leaves us the following options.

1) Ghosts: The Asylum is haunted with an odd poltergeist who’s only presence to date is switching one power switch to the off position.

2) Burglars: Last night some burglars picked the locks on the main building, then picked the secondary locks on the secure part of the Asylum, disabled the alarms and gained entry.  They then did not steal any of the expensive equipment that’s all over the place, but just switched off one power socket before resetting the alarms, re locking the doors, and leaving.

Is it really Winning if you have to Cheat to do it?

It is a straightforward question.

If you need to cheat to win, have you really won? Can you give a whoop of joy and flick you nose at the losers? Can you boast about your skills?  In fact, is anyone impressed?

I’d say NOT!

Now, I can understand how someone playing a computer game, and being stuck at the same bit for a very long time may use a cheat just to get past the point they are stuck at. Maybe they just cant do a complicated jump, or they a bit slow on the old controls so its next to impossible for them to complete the task.  Personally I’d not resort to the easy way out, I’d keep trying until I lost the will to live, Then take a break while playing a different game. But I can understand why some people would.  Playing the whole game on cheat mode I think defeats the purpose of playing the game. I have some nephews who I caught once playing a game from start to finish in “God Mode”, what was the point, they ignored all challenges and just walked through everything.  And as for cheating in a PVP multiplayer game, where you do not gain in points, rank, or anything useful, I can only assume  its to bolster some very flagging ego?

Let me give you an example…

I was amusing myself with some “Verses” Mode on Left 4 Dead the weekend. Now those of you who are unfortunate, old, or live in a draconian anti-technology cult sprung up from the teachings of the Battlestar Galactica series finale may not be aware of Left 4 Dead, so I’ll take a moment to explain. Left 4 Dead is a cooperative first-person shooter video game. Set during the aftermath of an apocalyptic pandemic, the game pits its four protagonists dubbed “the Survivors” against hordes of the infected, zombie-like aggressive mutants. There are four game modes: a single-player mode in which allied characters are controlled by AI; a four-player, co-op campaign mode; an eight-player online versus mode; and a four-player survival mode. In all modes, an artificial intelligence (AI), dubbed the “Director”, controls level pacing and item spawns, in an attempt to create a dynamic experience and increase replay value.  In the Verses mode they players are in two teams of four, and take it in turns to play each level as either the Survivors or the Infected. It adds an extra challenge to the game, Not only do you have to deal with the AI controlled hordes of infected, You now have up to four human controlled Special infected (Who respawn when killed after a short period, while the survivors stay dead).

Right, you all up to speed now? Good then I shall continue.

I was in a verses match, and my team was loosing a bit, We had only managed to get one survivor to the safe room in one of the levels, and the other team had got all four in on every level. So I was feeling a bit frustrated, especially since every time I was one of the infected and hiding somewhere to attack the survivors I’d get shot through a wall or ceiling before moving, it was almost like they knew where everyone was. (But that’s just sour grapes right?).  So I was currently dead having been shot through a chimney pot i was hiding behind on a roof top in an out the way position, a place that is impossible to see from the street level where the guy who shot me was. So there I am, a floating ghost for the next 25 seconds until I can respawn. So I’m floating about following the survivors, wondering why one seems to have several dozen pipe bombs, while another has an equal number of fire bombs  (Especially as each person can only carry, 1 pistol, 1 big gun, 1 bomb and 1 medikit) when one of my team mates becomes the tank. The tank is a special super infected that the person doing the most damage to the survivors gets to be randomly during a level. Think a zombieish version of the HULK, only BIGGER! So the Tank catches the survivors inside an office with limited room to maneuver, and with a few smashes and punches all four of the survivors are on red (almost dead) three are so bad they are lying on the floor and need help to be picked up. The last survivor manages to kill the tank, but he’s on red and limping, it looks like we are going to win this level!

Just as I’m about to respawn as a hunter and rip the last survivor to bits winning the game he uses a medikit to heal himself (That’s ok, without the others to help he can be brought down)  and voila! all four survivors are standing up, green on full health? OK, not 100% impossible, i may have blinked while he picked up one survivor, and that survivor may have picked up the other two, and the three of them may have healed while I was watching the first one.  (Yeah right!) and since they all still have a medikit they just happened to find 4 spares on the floor right where they fell.  So I decided not to respawn after all what’s the use, and I followed the survivors as a ghost to see what they did. And I’m glad i did, as the were running I spotted the person playing bill drop his shotgun on the floor as he ran (you can only drop weapons if you pick up a new one),  he’s now holding a sniper rifle to take out the infected waiting to drop down from the higher floors. Oh there’s a horde running at the infected, the sniper rifle is dropped, and he’s now armed with a fully auto machine gun? No doubts now, this team is cheating. So I drop out of the game to find a game with decent players.

Now why would you cheat, ok, you are guaranteed to win, but is winning in that way even worth it? You could just not play the game and say you won. You couldn’t brag and say “wow, you should have seen how we trashed that other team” since you only won by cheating? The only thing I can think is that they must suck, and be the worst game players of all time, and after loosing every game they ever played must have resorted to cheating just so they could see what happens when you win?

Personally I’d rather suck from my own lack of skill, than try and pretend I’ve got skills with cheating.

NetIM BotNet – Part 2

Update time, for NetIM BotNet – Part 1.

I have now got the project running on version control (subversion), so that I can keep track of changes, revert to working versions in the case of irrevocable coding errors. and ease of installing on multiple servers. This allows me a faster and easier means of updating servers with ease.  And gave me an excuse to play about with setting myself up a subversion server.

I have also changed the base code of the bot to match a simpler format for ease of adding and editing functions. and added help files to keep the users happy.

My plan for a single config file where user/pass are specified based on hostname seems to be working well, after a slight hiccup where i forgot was programing old school in perl and got my ==/=~ mixed up.

Thanks to the speed of roll out using Subversion version control, my single test bot is now a botnet of  6 test bots. “Well if you are going to test something, test it BIG style

And since I was in one of Them moods, I now have the bots giving error messages in Haiku, with a built in BOFH excuse generator.

I have also been nice and added some more help files, and improved logging (for debugging) and some stability to the code.

Now I just need the users to suggest some more useful commands they would like.

OK… While that’s on hold/in testing, What’s my next project!

A Sisyphean task

Now a lot of people think that governments, or legal types thrive in pointless red tape, and the rest of us mere mortals are driven insane with the pointlessness of their tasks.  The truth is somewhat different, Busby* could teach these lovers of the red tape a thing or two about Sisyphean tasks.

Allow me to give you an example,  So grab yourself a coffee, make yourself comfortable, “you Are?” Right, we’ll begin…

You may recall I was developing some software to integrate into the Busby Directory enquirers system, allowing My company to place entries in UK phone books. Well this system is now fully up and running and we are sending hundreds of details at them in an very intricate string of text.  I’ll give an example, this would be one line from a file containing several hundred entries per go :-

1Y 00049732100730039420556031 NY M20090216 Jo Blogs company LL27 3Y 08000830031 FAX S1 1 M EBF B [But with about 50 random spaces between the words]

Now I upload this file directly into the Busby Server, which then checks the data to make sure its all correct. Then as far as we can tell, Busby then prints out the datat on individual pages (One per number) and gives them to actual Humans to type into a form on a computer screen. (So from digital data, to printed data, to digital data).

Occasional the person at Busby typing in the data makes a mistake, mostly on the ID number which is a long string of gibberish, and they miss off a character, or hit another one by mistake. So we have a Busby employee staring at their computer screen looking at a bit of data that they have typed in wrong, so what do they do?

They don’t just correct their mistake and get it all working right away. Nope, what they do is this. They fill in another form which contains all the information we sent them, and then a section at the bottom informing us what they typed in wrong, and where they typed it in wrong. They send this form to us, so we can change our system to match their system, so we can then re-put the correct data into our system, flag it as an update to existing data, and resend it to Busby where its printed out and given to the human drones who will then correct the mistake on their system.

Wasting paper, many hours of peoples times, costing money for paper, postage, stamps, wages, and the outcome probably is the person who typo’d the data correcting it.

WOW! A good update, Let the Zombie Massacre begin.

So yesterday I was gearing up for a session of Zombie killing with my usual l4d wingman SuperSpiro, Booted up the ole Xbox, connected to XBox-Live and BANG.

“Updates are available for this program… Downloading Updates”

Now the last time my xbox insisted i had an update it took almost a hour to download, so I made myself useful ad headed for the fridge for a cold drink (I never made it to the fridge damn that download was fast!.) So back to the game, Start it up and blink at the menu…. Something is different…….

Not only have they opened up more of the levels for you to play verses on, they have added a whole new game style. SURVIVOR!

Now survivor sees your team of four trying to defend one small area from hordes and hordes of Zombies that just keep coming in waves, Not to mention all the hunters, smokers, boomers, and Tanks! (Yes multiple Tanks). Luckily there is a large collection of firearms, explodable items, and medikits (If you can survive long enough to actually use one). Basically you are looking at a very fast, heart racing few minutes as the horde come at you from all directions.

I’m not saying its hard to stay alive, Lets just point out you get a medal if you make it to four minutes.

Thank you Valve!

Violence has its place.

Today I was reminded why I make it a policy to be unarmed in the office.  The extra time needed to find a suitable weapon gives my temper time to loose its edge. And on days like today every second gained helps keep people alive…

Now I’ve been busy all week, my current work load is stacked miles high, so I’m not in the happiest of places to begin with.  So imagine my annoyance when a support phone call comes through to my desk (I am way down the hunt group list, so a lot of people who’s job it is to answer the phones must have ignored their phones for it to come to me.) So I get disturbed from my work to take the call, to find the person on the other end chasing up one of our engineers who was supposed to be doing a job that morning, only has forgotten.

So I try and put the call through to the director in charge of support, who asks me to take the guys name & number, create a support ticket, give it to him and he will phone the guy back. “Now am I the only one thinking, WTF? they guy is on the phone, we don’t need to get his number so we can phone him at cost to us, he’s on the line!” but ok, the guys a director so. I take the details, make the ticket, and go tell the guy its there…

Then after the cut off time to phone the customer back the director asks “have you got his email addy?” err nope, wasnt asked for that, not need an email address to PHONE a guy back. then the director tells me i should have collected more info, and not just made a ticket, but also emailed him so he knew the ticket was there. (I thought walking into his office to tell him it was there should have been enough)

I’m sorry, but when did i become a Fraking Secretary?

It’s not “What you Know” or “Who you Know” But “Who you ARE!”

King of the Lab!

As those of you who have to deal with the world of emails know BT, Yahoo have recently upped their fight against Spam in a rather Draconian Manner. and SysAdmins around the world have learnt to dread the influx of the following in their logs :-

2009-04-23 07:34:28 1LwsVq-00055A-NE SMTP error from remote mail server
after initial connection: host xxx.xxxl.yahoo.com
[195.50.106.135]: 421 4.7.0 [TS01] Messages from xxx.xxx.xxx.xxx temporarily
deferred due to user complaints – 4.16.55.1; see
http://postmaster.yahoo.com/421-ts01.html

For those of you Un-Email Tech Savvy I’ll explain in simple terms their new greylistsing email policy, I will explain in the form of a conversation between Bill a poor yahoo sysad” and Ben “a Manager aka a suit” .

Ben: “We have a problem with our servers, I keep having emails trying to sell me Viagra, and telling me A great uncle is dead and left me some money!

Bill: “Yes, everyone gets them, its called SPAM!… Err you didn’t give out your bank account details again did you?

Ben: “Yes, but its Ok this time Mr. Yakamatza has heard of me, and trusts me to look after his 50million Yen while he’s audited, He said I could keep all the interest I make, and he’ll pay me 1 million

Bill: *sigh*

Ben: “Anyway I’ve come up with a way to stop it! What we do is refuse to accept any emails, we’ll send it back saying its blocked due to user complaints

Bill: “But no one will get their emails then?

Ben: “No, here’s the clever bit, we’ll refuse the first half dozen times they send the email, then let the 7th attempt in. Spammers will get bored and give up before sending the same email 7 times?

Bill: “Great, that’s not going to annoy most the world. Where the Computer Weekly with the job adverts!

I’m sure it went something like that. And because of that we at the Insane Asylum have been fighting rising mail queues and upset customers for the last few months.  Our team tried everything to relieve the bottleneck, different IP’s, Domain Keys, filling in the webforms, the works…Nothing……

So at the start of this week I got annoyed that the inmates here were getting hassle again over customers not being able to evil people with BT email addresses. So I filled in the online help form (which so far had resulted in nothing).  I filled it in using the style of a very annoyed person, used my name with all its letters at the end to impress whoever read it. And by the next day there was an email from them asking for more details.  Send off giving them all the emails they asked for and viola! a nice email back saying our servers have been added into their database and that should sort out the problems.  And it has, no bounce backs or failed emails today.

NetIM BotNet – Part 1

As my Dear Readers you may be aware (If you recall back to the Jibber Jabber posts). We at the Insane Asylum have switched to a uniform IM chat system that we now all use for inter communication between padded cells. Which is much simpler that the days when some were on MSN, some Skype, and the old skool ones still on ICQ.

Now one of the reasons we switched was because the Asylums Governor liked the throw away joke suggestion of putting all our servers onto IM, so we could talk to them, and they could let us know when they experienced problems. And our Support droids could access basic Linux commands while using their preferred Micro$oft OS’s. That will teach me to watch what I say in jest. (It probably won’t).

So, I now have to make this happen. Well it beats working on Phone systems for a change. And I feel I need a challenge every now and again, or my Mind starts wandering into dangerous areas. Since I have this blog, I figured where better to log my progress, so I can read where I am up to when I get distracted with another project.

Phase 1:
I have a basic IM bot running on one of our servers to use for testing. It has rudimentary commands so far, basically traceroute, host, nslookup, and several ones that result in it insulting the person talking to it ;0)

Phase 2:
I want to get some basic help commands on there, so people can work out how to use it better, Its one thing adding fancy commands to its list if people can not work the simple ones out. So help commands, and a simple config file I can use so I only have one small thing to change depending on what server its running on. (humm. Get it to load file based on hostname then one file will do all).

Right. Off to work.