Amateur Protagonist Blog

  1. L33t Hackers Take Over YouTube As Reported By The BBC

    Hackers left, right and centre, we should be careful of all the hackers the news keeps on reporting. Let's not beat around the bush about this one, all the hackers the BBC are incorrectly reporting. This is plain old fashioned scare mongering. Hacker, it sounds a lot more intimating than thief or website defacer.

    Today a story came to my attention thanks to my American friend, hackers uploaded several pornographic videos. Let me break this story down to what it is. Someone gained access to Sesame Street's YouTube channel and uploaded pornographic videos. First this is a real dick move to do that to a children's channel, secondly this is not hacking.

    Whoever done this GAINED ACCESS, they guessed/knew the password and logged into their account. Please tell me where the hacking is in that, otherwise I am "Hacking" whenever I log into a customer's account.

    This sums up what hacking is very nicely thanks to Wikipedia.

    A hacker is someone who breaks into computers and computer networks.

    Note the keywords breaks and into computers and computer networks, the point I am making is getting access to a single user is not hacking. Getting access to all users in a database or mass changes to a service would be a better time to use the word hacker but even then that is not completely true.

    The term hacker has changed over the years. A hacker at its very core is someone who changes a system or computer for a challenge. I regard people who create jail breaking software or mods for your favourite games "Hackers".

    When I was younger I was sucked into this subculture of "Hackers", however the true hackers the ones who honestly understand the flow of data and how to manipulate information are rarely found there. The people you are most likely to meet are infatuated with SQL Injection, which is just data theft in the end of the day. You simply exploit a security hole. So what is it called when you get access past security systems? That is Cracking. That is because you literally crack open the security, this could be getting into someone's PC to getting information from a salted password.

    The point I am making is hacking is a term that is becoming too generalised. The problem with this scare mongering is what is the level difference between two hackers? One could have guessed a YouTube password whereas the other redirected the banks EDI system to change the account numbers and sort codes during the transfer of data and logged out security systems. The media would call both of them Hackers, yet one is clearly hacking whereas the other is just some lucky bored teenagers.

    This is normally something that does not really annoy me but the fact guessing someone's password makes you a hacker simply discredits the whole term. How would you like it if everyone with an online blog is now a "reporter"? It makes sense to use that term but if you know anything about the world of media then you would find the thought repulsive.

    Maybe the media should stop scare mongering every single person that they can when it comes to technology and focus on helping people understand what is happening. For example with this YouTube issue why not explain that it was just their account that was compromised, and then get an expert to explain why good passwords are so very important.

    People need to start thinking about the after effects and stop trying to spin a story.

  2. Google Product Search Merchant Center Destroying Businesses

    On the 22nd of September 2011 Google changed its policies for the Google Product Search. The Google Product Search is where you type what you want into Google and you go to shopping or sometimes it shows up in between the organic listings.

    Venders who list their products on the Google shopping for free will know this as Google Merchant Center (Froggle or Base depending on your country.) For many years venders have been selling their products on the Google Shopping pages without much of an issue. There are rules and policies to follow but generally speaking no one really ran into any problems.

    Any issue a merchant ever ran into could be quickly fixed, maybe a misunderstanding of your website or a problem with the technical side of how you upload your products. All of this changed on the 22nd of September. The new policies were to be enforced and the technical aspects of the feed were also changed. This does not pose a major issue. Ask any developer and they will tell you that such changes are normally welcomed and easy to pre-empt.

    However Google made some mistakes, some major mistakes. Let's skip ahead to the current date, the 5th of October, the Google forums are a mess with companies going out of business, merchants unable to get answers and everyone being left in the dark by Google.

    When the new spec for the feed was released there was no full solid way to test any of it, no one really knew how it would act. Failure on Google's behalf for not providing updated tools or services to assist with the new policies (at the time of writing the Merchant Center is unchanged and thus just as unhelpful.) No one really knew how this would affect them, Google kept on saying they would enforce the new policies with some aggression and frankly based on the lax in the past I don't think anyone believed them.

    Now coming up to the big change you would think there would be a planned staggered system (e.g. USA first then after a month trial, the UK etc.) There was no staggered release. Google Shopping for the first time demanded a global change of everyone. Whatever the Google Shopping Team wanted to change, it was big. Still one email was sent out a month before the 22nd of September as a reminder.

    I would at this part like to point out that if your business runs on Google Apps the majority of emails from Google by default go to your spam. That is right, you read that last sentence correctly. Emails from Google when you are using Gmail will go to your spam.

    Now with the poor pre-planning and massive global change you can assume what happened did not go smoothly. You would be correct in assuming this. In the end of the day this was an extremely flawed plan from the start due to pressure on the Google Shopping Team to produce changes. Now I have never spoken to anyone from the Google Shopping Team, I have only ever read their blog. Google Shopping like many sub division teams (they are, when you think about it, only a department inside of Google Search) very unknown and basically impossible to communicate with.

    What happened was the Google Merchant Center had a code behind change. I have no idea who on the development team got on top of their chair and said, "I have a great idea" but I can only assume he also takes his toaster to bed with him. The idea was that anyone with a policy violation or problem with their feed would be disapproved. The theory here is solid. Old sellers who do not keep up with standards will be lost, only the best of the best would be left. By removing all the filth you end up with a good as new shiny product. All the merchants that were violating the rules and policies will be punished, one massive sweep to show that messing them around yields no reward.

    Now I don't know what Google Shopping or Merchant Center really looks like in the code behind, I do not work for Google, what I do know is I work for a Merchant who is at the mercy of Google, as the lead developer this can be awkward to explain. Not many people keep their job after walking in and saying "We are no longer on one of our top revenue streams and I don't know why."

    The reason I did not know why was because no emails where sent. When you list products on Google Merchant Center and you are in a policy violation or whatever problem, your products are not listed and you are emailed, Google never sent the emails.

    Let's have a little role play to demonstrate the extremes here. You run an online business selling shoes; you employ four people, one salesman, one developer, one accountant and one picker packer. You have a website that the developer maintains, a salesman to handle calls and raise purchase orders, the accountant keeps the books in order and keeps an eye on cash flow and the picker packer will unload the lorry and pack the goods to be sent same day. This is a completely sustainable and realistic image of a small starter online business.

    Keeping with the role play you ask your developer where traffic and revenue come from, the majority of small starting businesses will have the same figures. You will get the most traffic from organic listings, you will buy traffic from AdWords to supplement sales with an aim to make bigger profits on repeat business and finally your best converting traffic is Google Shopping. Google Shopping traffic is made up of people who know what they want and have compared prices who now want to buy.

    What would you do if you lost that overnight despite every effect you and your developer done? Now if anyone reading this is a CEO or director you might have just opened up your cash flow in sheer panic and now have some tough questions for your developer. A shock like that can very easily end a business. It is that simple, losing Google Shopping for a starting internet business can mean the end.

    So when your business is on its last legs and no email has come through saying what went wrong you will start to freak out. You will be pointed in the direction of the forums. On the Google Merchant Forums you will find thousands, literality thousands of business owners just like you who have no fucking clue what is going on. One person will post in your thread (Celebird, who I am convinced has some connection to Google) telling you the only way to contact Google is to fill out two different forms.

    After filling out these forums you will get an automated email in two working days saying they have received it, then nothing. This is where you will get desperate, your business is now in the hand of someone who you have never met and will never speak to. They do not care how many generations you have been making shoes for or how much money and time you poured into this. They are the faceless anonymous of the Google Merchant Center Support.

    The worst part of this is, you need to use one of the forms just to find out what the problem with your feed is! So because Google messed up and never sent the email, you have to wait an unlimited amount of time just to know what is wrong. Keep in mind this has nothing to do with re-approving your feed, only just to find out what to fix.

    Now you will search the forums for every shard of information you can find, this is where Google becomes the Double Edged Sword. You will now change everything and devote everything to getting your Google Shopping Feed back online, any change to your website will take minutes not weeks. Do you know why before it would take weeks? Because you would have been thinking about the impact a change makes.

    Suddenly changes you promised never to make are happening all over the site, before you know it; you will be going against all your knowledge of the internet just to get your business and revenue back. Keep in mind Google Shopping and Google Search are not one of the same. If you do something stupid you could find yourself removed from Google Search (organic listings, the one your developer said the most traffic comes through.)

    It is at this point you should know that Google Merchant Center was free and always will be free. Thus they do not need to give you a telephone number, an email or even own you anything. They are the untouchable Google and if you have been banned by the biggest search engine out there, you can only sit and wait.

    I use Google products in all aspects of my life, my browser is Google Chrome, I make use of all the developer tools and Google API's, I use Google Apps, my phone is an Android Google Nexus One and even to the point of the maps application I use, it is Google Maps. This is by far a worse flop, an unforgivable flop, than Google Wave (which I might add I enjoyed a lot.)

    The problem here is they wanted to do a massive global release and remove a lot of accounts, at which point no one figured they would be a massive influx of people wanting to have their feeds checked. To have your feed checked or to find out what the problem is, is a manual job. That is right, one of the biggest companies in the world and a massive provider of services still requires a manual help desk from time to time. So with that in mind you would think to staff it better coming up to the change.

    Poor planning and poor implementation, Google will all its experience should know better than to green light what was set out to be a massive product re-vamping, without the proper infrastructure in place.

    I for one am disappointed in the lack of communication from Google and more so by the lack of sympathy for the companies that are filing for bankruptcy. So much for don't be evil.

  3. Minecraft Server 1.8.1 No Mods No Whitelist

    Like always when a new big update comes out in the world of Minecraft it is quickly followed by another. Normally bug fixes and little patches which apparently only come to light after 24 hours. Even though a pre release was made...

    Still don't let the man keep you down! Our new Minecraft 1.8.1 Server is up and running like a fat guy to cake. Or a Miner to Gold. Whatever one sounds better to you fatty.

    So our Minecraft Server now has 1.8.1 running with no issues. To enjoy the new release we are opening up our whitelist by turning it off! So anyone can join at any time!

    Also as we run a vanilla server we are always first on the list to go live and get updates. The only time we are behind is when one of the admins is asleep!

    Run by passionate developer MeinKraft is not only the sexiest 1.8.1 Minecraft Server it is also the most awesome. We allow PVP, we even allow griefing. All we ask is people do not use mods on our servers. SIMPLES!

    So join our amazing PVP Minecraft 1.8.1 Server and enjoy the sweet relaxing tunes of jazz, the soft sound of endermen attacking your wife and more importantly the joy of an Admin hunting you down for no other reason than they had a bad day.

    We have already uncovered a load of towns for you to explore as well as some massive mine systems. Our server has it all and keeps on giving. So don't wait around for night fall and keep killed by a creeper, join us now!

    Join the awesome glow at: 46.20.119.7:30265

    Also remember if it's not attacking you it sure as hell will!

    So see you on our Minecraft Server and enjoy Minecraft Version 1.8.1, plus when you get the chance join our server and ask to be whitelisted. That way when the whitelist kicks back in the fun does not need to end.

  4. Minecraft Server 1.8 No Mods Adventure Mode Live And Open

    That time again as a new Minecraft Server Update Has hit the internet with the very same floods of bugs that Minecraft is known for. However this time it is different. This time it is

    Minecraft Adventure Update 1.8 for Clients and Servers.

    That is the right We are now running a 1.8 Minecraft Server the adventure mode. Adventure Minecraft Server are basically like the single player 1.8 Minecraft Clients. There are pre made buildings, abandoned structures, massive caves and rivers. The new blocks are changing the way we design and the new mob has already started to claim it's first victims.

    Minecraft 1.8 Server - MeinKraft is up and running like a whore on her period. We currently run multiple worlds from one Server which you can hope between so we are able to create multiple worlds on the fly so we can have old versions of the world, while still enjoying Minecraft 1.8 Adventure Update for SMP.

    So what can you do on our 1.8 Minecraft Server running Adventure mode? Well you can eat, live, play and get your arse kicked in so many ways it is medically amazing. We support the total destruction of some worlds and even hold random events to get players together. This ranges from enderman survival to capture the block.

    Wait there is more, like the candy man who touches children but no one arrests because he hands out candy, Minecraft Servers have all been given this patch however a few are online, why? Because we can run our server in vanilla mode meaning no mods at all so we can hope on and play the latest 1.8 Minecraft Server Adventure Update before anyone else.

    How butt fucking awesome is that? So thinking of join our 1.8 Minecraft Server? Well sign up to our forums and tell us why you should be allowed to join in our adventuring fun? Tell us a story that will make us say "hey now, this guy is fucking insane, we need him."

    So come join our 1.8 Minecraft Server and enjoy the latest Minecraft Adventure Update.

    EXPLORER REPORTING.

    Server Banner
    Limited time only - No White List / No Mods

    So get your 1.8 Minecraft arses online now and start punching some endermen!

  5. How To Create An Auto Bot In Twitter With PHP And The API

    Creating an auto bot on twitter is a lot simpler than you would first believe. When Twitter first started with their API it was a simple method of using your username and password which would allow you to do whatever you wanted.

    The problem was this opened accounts up for heaps of abuse so this method was scarped for a more secure method. This put a lot of people off re-creating their new application from scratch again, me being one of them.

    I was surprised by how easy it is to post to twitter via a website. In fact it is amazingly easy. So what I am going to do is show you the basics first then show you how to create your easy to use auto twitter bot just like mine. If you want to see the end result just follow @Tangent_Mind on twitter and see my random quotes.

    First we need to get setup on twitter. So sign yourself up for a twitter account if you already have one which you want to use then we are all good and one step ahead. I am not going to take you through creating a twitter account because that would be fucking stupid.

    Now we need to head over to the developer twitter and sign up for an account. This is very straight forward and you just use your normal twitter credentials. You will now need to agree to the twitter terms of service thingy. Do not worry this agreement is a pretty standard API agreement that was dont be a total fuck nut in legal terms (because apparently fuck nut is not allowed on legal documents.) You will now need to set up a new app. You will need to name and provide some other details about the app but frankly it doesnt matter what you put in there, however make sure you mark it as level 2 access that is read and write. You should not require full totally open access as we only want to post tweets.

    What we are interested in is the special keys you get given from your application. You will need CONSUMER_KEY and CONSUMER_SECRET to access the twitter API. Basically every action you do with twitter will require these. This helps twitter track API usage and all other types of sexy stats. Now we are interested in using our own twitter account. This is lucky as it saves tons of time. There is a button under your keys that will automatically link your twitter account with the API you are creating. Basically if you wanted access to an users account you need to get an OAUTH_TOKEN and an OAUTH_SECRET. Normally you would have to get the user to accept you want access and then store the details somewhere etc. This is so you dont need to store passwords and shit. However with the twitter API it lets you link the two and gives you the keys there and then, which is perfect!

    Now the twitter dev app API page has all the key, token and secret stuff for now so lets get on with some code. You will require three PHP files in total, OAuth.php, twitterOAuth.php and index.php. OAuth.php is a standard PHP class that handles OAuth. The twitterOAuth file is to deal with twitters REST API. You can download the whole pack from here, Abraham Twitter OAuth library, keep in mind you only need the OAuth.php file and twitterOAuth.php you do not require anything else. I suggest you create a new folder, call it twitter to be original, and paste them two files. Now create a blank index.php file to go in there too. Now we have that set up lets jump into our index.php and start working. First lets open up our PHP tags and add in our include.

    // OAuth To Twitter
    require_once 'twitteroauth.php';
    

    As you see my code believes you are all in the same folder thus why I asked to start with. We do not need to reference OAuth as the twitterOAuth does that for us. OAuth is the real code and twitterOAuth is a wrapper for that.

    Now we need to add our tokens and keys. Normally you would need to get these from a user etc. however as this is just for us we can hard code them in there no problems.

    // Do NOT Share
    define("CONSUMER_KEY", "YOUR_APP_KEY");
    define("CONSUMER_SECRET", "YOUR_APP_SECRET");
    define("OAUTH_TOKEN", "YOUR_ACCOUNT_OAUTH_TOKEN");
    define("OAUTH_SECRET", "YOUR_ACCOUNT_OAUTH_SECRET");
    

    So we check all the credentials are all gold, I then pull the stuff back into a variable called content. You can do an if statement on this if the credentials did not match up etc. however we know they always will this is just to send the data to twitter so we are up to date and singing from the same hymn sheet. You can leave that line out your code if you so wish.

    // Post To Twitter
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET);
    $content = $connection->get('account/verify_credentials');
    $connection->post('statuses/update', array('status' => 'Just testing my new twitter bot thanks to http://www.amateurprotagonist.com'));
    

    Now we can add a new tweet to this account. The code is straight forward and sets the standard for all code in the twitter API. So you are sending a post and the first section defines what you are trying to do. The second part is an array showing I only want to send a new status.

    So in short this code is saying I want to do something to do with statuses or updates and I want to insert a new status with this content.

    Here is the full code.

    // OAuth To Twitter
    require_once 'twitteroauth.php';
    // Do NOT Share
    define("CONSUMER_KEY", "YOUR_APP_KEY");
    define("CONSUMER_SECRET", "YOUR_APP_SECRET");
    define("OAUTH_TOKEN", "YOUR_ACCOUNT_OAUTH_TOKEN");
    define("OAUTH_SECRET", "YOUR_ACCOUNT_OAUTH_SECRET");
    // Post To Twitter
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET);
    $content = $connection->get('account/verify_credentials');
    $connection->post('statuses/update', array('status' => 'Just testing my new twitter bot thanks to http://www.amateurprotagonist.com'));
    // All Done Here
    

    Now that was basic, simple, pointless. You get the idea. On its own this is not much to be impressed by. So now we will add in a random quote selector. We are going to update our code to select a random quote from as many as we want and then post it to twitter.

    So add some spaces between your opening tag and the include once. We will use an array to hold all of our random quotes. You can very easily swap out hard coding the codes into a database call as when you return values from the database you often use an array so its perfect. As you see we have added a few.

    // Quotes
    $quotes[] = 'http://www.amateurprotagonist.com is the greatest site ever.';
    $quotes[] = 'I am so automated it hurts my CPU.';
    $quotes[] = 'Follow @Tangent_Mind for his larger than average man parts.';
    

    Now some magic on how you select a random entry from an array. We will use srand here to predefine the seed for the rand function (just good house keeping guys.)

    // Select Random Quote
    srand ((double) microtime() * 1000000);
    $random_number = rand(0,count($quotes)-1);
    

    We now have a random number that is relative to your array. So we just need to swap out our hardcoded status for a sexier random quote. To do this we simply call the array and call the random number we got earlier.

    $connection->post('statuses/update', array('status' => $quotes[$random_number]));
    

    Now for the full code with some added error checking in case you run into random problems as you grow the code.

    // Credit to Alister Sneddon | Amateur Protagonist.com
    // Looking for errors? I feel bad for you son, 99 logs but an error isn't one
    try {
    	// Quotes
    	$quotes[] = 'http://www.amateurprotagonist.com is the greatest site ever.';
    	$quotes[] = 'I am so automated it hurts my CPU.';
    	$quotes[] = 'Follow @Tangent_Mind for his larger than average man parts.';
    	// Select Random Quote
    	srand ((double) microtime() * 1000000);
    	$random_number = rand(0,count($quotes)-1);
    	// OAuth To Twitter
    	require_once 'twitteroauth.php';
    	// Do NOT Share
    	define("CONSUMER_KEY", "YOUR_APP_KEY");
    	define("CONSUMER_SECRET", "YOUR_APP_SECRET");
    	define("OAUTH_TOKEN", "YOUR_ACCOUNT_OAUTH_TOKEN");
    	define("OAUTH_SECRET", "YOUR_ACCOUNT_OAUTH_SECRET");
    	// Post To Twitter
    	$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET);
    	$content = $connection->get('account/verify_credentials');
    	$connection->post('statuses/update', array('status' => $quotes[$random_number]));
    	// All Done Here
    } catch (Exception $e) {
    	echo 'Caught exception: ' .  $e->getMessage() . "\n";
    }
    

    Adding more quotes is easy just add more to the array at the top!

    There you go a fully functioning and ready to go auto twitter bot. I have my code accessed by a cron job every hour so everyone can get a salty taste of my randomness.

    Any improvements or suggestions please comment below!

    If you would like me to talk about some code for you or maybe review a script please use the contact button to get the ball rolling!

  6. Arrays Have A Time And A Place - Learn It

    This post comes after I was creating a store locator in PHP without a database. I needed structured data that I could call and query so I put the lng/lat as well as store info in a XML file.

    Now in an ideal world I would use a database however we have to pay extra for a database so that was not possible at the time.

    So I do the calculation on how far away they are and can return the correct results from the XML files. I put the results inside an Array. This is a simple Array with simply the ID and the distance. I would then order the Array and very easily query the XML to using the ID.

    This was all well and good until I hit a major problem. My ID's where labelled as 1 onwards and an Array starts at 0. As I was using the ID as the ID of the Array and was trying to avoid multiarrays you can see the problem. However this was solved by using a loop and just do a minus one to get the correct array.

    I then tried to sort the Array based on the distance and that is when everything went to shit. My ID's were changed and I could no longer find my place.

    I am sure if I spent some more time on it I could of gotten it to work with no problems. A multi array could of solved the problem however the script was so lengthy it was pointless.

    In the end of the day it is important to know when to use and not use an array. Honestly I struggle to find good uses for arrays and when I do use them it is normally because the program forces that list upon you as it is the default best. Maybe I am looking to use arrays too often or am too eager to use them.

    I find databases too be far too effective even for simple data, maybe I over use databases and my lack of any other type of storage has lacked because of it. Another prime example was a program that checked for failed transactions it stored the last ID checked. It orginally done this in a text file as it needed to be stored over program shut downs etc. Thinking about it, it may of been easier to load the last one every time and work from internal memory, hold the ID's in a variable. Once again I used a litedatabase to store the information which added to the program size greatly.

    I believe I have a lot more to learn about arrays after that run in and would be interested to go back and create a store locator using only XML files removing the need for a database. It would be so helpful for anyone without DB access.

  7. Online Dating How To Find The Perfect Man

    As a male pot of bubbling testosterone, I am often asked by passing women how they could one day achieve finding the perfect man (me) so I believe writing a post to be a far more effective method than flexing and doing squat thrusts.

    First go set your online dating profile up. So here is my how to guide on finding the perfect man via online dating. My methods are simple and easy. Trust me I am a doctor in arse kicking I know my stuff.

    Lets start with your profile picture. Lets be honest between me and you, you have a better chance at applying for the next horror film than find a man with that mug. So lets do some simple steps on what picture to use.

    Never use a picture of someone else because that is just plain lying. So lets go through your old photos and by old photos we are talking 10 to 20 years ago. Now pick a photo that has you in a sexy outfit with no kids so he doesn't know you have five boys and three girls. Also important to note you are the centre focus of the picture none of this group shit ladies.

    Now you have chosen your photo is it important to make it look a bit better, I suggest downloading photoshop for a free trail and using the expand and shrink tool. You know what bits I am talking about. Get to it. Now you may worry that you don't know what you are doing but that is ok. If you can believe the photo then it's working. Half of the game is tricking yourself.

    You should now have a photo that looks like a young what you hoped you looked like self. This is perfect. If you can find any clip art of flowers (roses if you can) to add in on the bottom to cover up them nasty legs of yours go for it.

    Now for the likes and dislikes. I want you to go out and talk to some friends you know the ones I am talking about. The ones that don't have kids and earn loads of money having a great time. Use their likes and dislikes. I suggest avoiding pets, don't say you like them you crazy 20 cat lady and don't say you hate them. Keep your self open. Believe you are the canvas for a man to paint on, not the moany controlling bitch you really are.

    I suggest likes such as going to the pub, threeways with women, porn, football, pushing cows over etc. For dislikes I suggest along the lines of leaving the kitchen. Now none of this will be true but this is all part of the plan don't worry it will all work out.

    Now your profile. Here is a quick tip, copy a popular girl. You want to make yourself seem fun. Lets not talk about the 72 hours you spend cleaning your empty house to keep the cats and countless children happy. Try not to talk about all the failed relationships and abortions. Generally speaking I would class that shit as turn offs.

    Now your profile should be full set up. Any extras you don't want to do however it is clear how desperate you are. Now just post the same message to as many guys as possible. Just say hey I want to met up. Maybe add a smily face to show you are kinky bitch who is into anything and everything and not the stale stubborn unlike-able bitch you really are. You want to go for sexy bitch not Liberian bitch.

    Now you will be beating men off with a broom handle or whip. Just remember to never met up with any of them because they will see that is was all a bit lie to drag them in. So I guess this guide didn't really work. Maybe you will met a guy who lied just as much as you and you will live happily ever after with your fugly children.

  8. Sexual Minecraft Server Hardcore Girls Only Server

    That's right, 100% women, 100% 16 bit tits, 100% Minecraft block sex and above all hardcore girls only Minecraft server. The most sexual server of them all.

    Two of my top keywords into this website are "Minecraft Girl Server" and "Minecraft Sexual Server". So clearly there is a big demand.

    Well put your fears to rest for I am here for all your 16 bits sexual fantasies. So sit back and let her rub your pick down while you punch her tits. (careful they might fall off and you could end up with a hard very to explain block when your mum walks into the room.)

    So you want this server what do you have to do? Send me large amounts of money and then we can get started! Don't worry about how much you send I will totally cyber with you all in our sexual Minecraft world, it totally will not be an automated bot, really I swear.

    So why the demand for 16 bit whores? Well why does any game need whores? I mean look at Deus Ex, hookers made up 80% of that game. I am pretty sure that is the correct statistic as well.

    What happens in a sexual Minecraft Server? Same thing that happens in a strip club. Punching trees, picking up water in buckets and mining for iron. Wait maybe that is what happens in Minecraft...

    Still the point stands, send me stupid amounts of money in return I may get around to opening up my super sexual hardcore girls only Minecraft server. Of did I mention all the women on the server are lesbians and totally into each other as well as you? Yeah they are.

  9. PHP Contact Form With ReCaptcha Built In

    ReCaptcha is the amazing captcha service from Google (they brought the original guys out) which by solving capcha's you are also helping computers read books.

    How does that work? Well simply put you have two words and you need to get one of them right, the other the computer is attempting to figure out what it says. So it may know the world is Programming but it will see the responses of everyone who solved that captcha and see what everyone else thinks it is.

    So why do you want it inside your PHP contact forms? Well ReCaptcha is the best out there, not only does it provide a speech function to read out the words but it is pretty much a standard that people expect to see and know how to use.

    The problem with Google's example of ReCaptcha in PHP is it requires two pages. Lots of people will trip over when they need one page. I have written a guide on how I use ReCaptcha in one page.

    First you will need three PHP files also you need the ReCaptcha files too. The three files you need are as follows. Header.php, this file is all the header info so the opening of html and all your style and stuff. Footer.php, this fill is the footer stiff and closing off all the html and styles. Lastly you need contact.php, this is the meat of the page and will be the main content and controller. Basically we load up contact and then call header and footer.

    So how will we be doing our code? Basically we will assume they are accessing this code on a post back and are attempting to send an email.

    require_once('recaptchalib.php');
    
    if (isset($_POST['email'])) {
    $privatekey = "YOUR KEY";
    $resp = recaptcha_check_answer ($privatekey,
                                    $_SERVER["REMOTE_ADDR"],
                                    $_POST["recaptcha_challenge_field"],
                                    $_POST["recaptcha_response_field"]);
    if (!$resp->is_valid) {
    include("Header.php");

    So what are we doing here? Well this should be the first thing inside contact.php (inside <?php). First it calls the ReCaptcha PHP files for us. Then it checks if they have submitted an email address, if they have then lets check if they did not complete the captcha correctly

    After this code you would close your PHP tags and do the html for them failing. Now we do an else for if they complete the ReCaptcha correctly and send an email.

    } else {
    $email = $HTTP_POST_VARS[email];
    $mailto = "YOUR EMAIL";
    $mailsubj = "Contact Form";
    $mailhead = "From: $email\n";
    reset ($HTTP_POST_VARS);
    $mailbody = "Values submitted from web site form:\n";
    while (list ($key, $val) = each ($HTTP_POST_VARS)) { $mailbody .= "$key : $val\n"; }
    if (!eregi("\n",$HTTP_POST_VARS[email])) { mail($mailto, $mailsubj, $mailbody, $mailhead); }
    include("Header.php");
    

    This page simply takes the email and puts it into a basic PHP mail function (comes with PHP normally) so how does it know what fields to show in your email? Well it simply takes every input field in your form and puts them in your email. This is a quick and easy way to ensure you get all fields and all data. After this PHP code again put your html outside for what to tell them it worked. Now that leaves us with one situation. They want to fill the form out.

    }
    }
    else
    {
    include("Header.php");
    

    Now outside this PHP you add your html form as you normally would. Where you want your ReCaptcha challenge to show you add this code.

    $publickey = "YOUR KEY";
    echo recaptcha_get_html($publickey);
    

    Which leaves us to tidy up at the very bottom of the page you need this.

    }
    include("Footer.php");
    

    So lets wrap this up and show you what the whole form should look like for you guys who cannot be arsed to do it themselves.

    <?php 
    require_once('recaptchalib.php');
    if (isset($_POST['email'])) {
    $privatekey = "YOUR KEY";
    $resp = recaptcha_check_answer ($privatekey,
                                    $_SERVER["REMOTE_ADDR"],
                                    $_POST["recaptcha_challenge_field"],
                                    $_POST["recaptcha_response_field"]);
    if (!$resp->is_valid) {
    include("Header.php");
    ?>
    <p>Failed ReCaptcha!</p>
    <?php
      } else {
    $email = $HTTP_POST_VARS[email];
    $mailto = "YOUR EMAIL";
    $mailsubj = "Contact Form";
    $mailhead = "From: $email\n";
    reset ($HTTP_POST_VARS);
    $mailbody = "Values submitted from web site form:\n";
    while (list ($key, $val) = each ($HTTP_POST_VARS)) { $mailbody .= "$key : $val\n"; }
    if (!eregi("\n",$HTTP_POST_VARS[email])) { mail($mailto, $mailsubj, $mailbody, $mailhead); }
    include("Header.php");
    ?>
    <p>GOT IT!</p>
    <?php
    }
    }
    else
    {
    include("Header.php");
    ?>
    <form method="POST">
    <strong>Name:</strong><br /> <input type="TEXT" name="name"><br /><br />
    <strong>Email:</strong><br /> <input type="TEXT" name="email"><br /><br />
    <strong>Body:</strong><br />
    <textarea rows="5" cols="50" name="Body"></textarea>
    <br /><br />
    <?php
    $publickey = "YOUR KEY";
    echo recaptcha_get_html($publickey);
    ?>
    <br />
    <input type="SUBMIT" name="Send" value="Send Email">
    </form>
    <?php
    }
    include("Footer.php");
    ?>
    

    Hope that helps guys! If you have another coding requests use the contact form and I will see what I can do for you!

  10. Who Really Owns The Server You Are Playing On?

    Often people who run servers are told how to do their job, more importantly they are told everything they are doing wrong for other people. I have ran a number of servers in my time and I can tell you no matter what the medium or game you will get the same shit always.

    It would seem a lot of people struggle with the concept that people are putting money, time and effort forward to give back something which they will not see the full benefit of. Very often server owners will not play the game as much and simply settle into a server administrator mode at all times. They start to spend more time monitoring CPU usage than playing the game or using the service.

    My problem is when people disagree or call server rules unfair. A prime example of this is when Team Fortress Two went free to play. Many servers installed a mod which auto banned free to play users. A lot of new players were put off by this fact, when really it is completely in their right as server owners to do what they want, regardless its effect on the game. Yes that move did drive players away but it also increase the quality and bond with its current user base to that server.

    In the end of the day if I ban someone for not talking English I can, if I change the server so that only players with a set IP can ever play well I can. In the end of the day server owners will never completely see eye to eye with developers. This is the reason lots of online games provide their own servers so there will always be the free open developer managed servers available to players. If you choose to go onto a server ran and hosting by someone outside of the development group you are stepping into their game.

    What amazes me if the amount of people who fair to understand it is my server thus my rules. Very often I have joined games in the past where I have been banned for next to no reason. In the end of the day it is their game and they can do what they wish with it. They put their money on the table and brought themselves some server space it is up to them to maintain that however they see fit. If they see that banning everyone with the letter e in their name they can.

    I believe it is time that more players became educated in how their games work, the true setup and costs of a server. Many players are unsure about what it takes to run a server and few Admins will ever tell you, in the end of the day you need servers but everyone having a server will be very unfun. I feel with Minecraft there needs to me attention given to not only what is going on in the games development but also what is required of the Admins. This comes down to sabotaging servers and generally causing server spikes. With these things always happening it is very clear to me why most servers are overly strict and impose heavy bans for the simplest of offences, it is because they are sick and tired of you being the third person that day to ask/break the rules.

Older PostsRSS Feed Newer Posts
sanguinary
sanguinary
sanguinary