The source code that got Apollo 11 to the moon

Blast off! Oh that’s cheesy. If you’re into your code and you’re into your space you may be interested in hearing that the source code for the Apollo 11 guidance computer has been put up on GitHub: Apollo 11 Guidance Computer source code.

Of course the internet is having its way with it right now, filing issues such as adding a pull request that provides an extension pack for picking up Matt Damon. There have also been some important typo fixes that were missed originally that the internet of course has now fixed.

Other issues include a request to modernise the code by adding a Dockerfile. Finally there’s also a request to tidy up the repository, as having all of the source code in the top level is disturbing.

In all seriousness, it is quite an interesting one to have a look around even if you don’t understand it. Just to see how much (rather, how little?) code it took to get man to the moon. This is a part of our history here nerds. Browse it, read it, love it!

My screen keeps going black whenever a video plays and its really annoying

Like most of the posts on this site something’s been bugging me for almost years at this point (ok, a year.. probably less) and it’s finally pushed me over the edge to try to fix it. – My screen keeps going black, seemingly randomly whenever it decides it wants a breather. Let me preface I’ve got an NVIDIA GPU of some sort for the gaming and whatnot. It uses the NVIDIA GeForce control panel to sort its inner workings. If you’ve not got that you might be able to play along here but also you might be out of luck. Let me know in the comments if this helps either way.

Continue reading →

Jetpack thinks I'm lucky. xml_rpc -32700 Try connecting again.

Well here’s one to get into straight away! Recently tried activating Jetpack but had this pop up instead?

Your Jetpack has a glitch. Something went wrong that’s never supposed to happen. Guess you’re just lucky: xml_rpc -32700
Try connecting again.

Error Details: The Jetpack server could not communicate with your site’s XML-RPC URL. Please check to make sure is working properly. It should show ‘XML‑RPC server accepts POST requests only.’ on a line by itself when viewed in a browser and should not have any blank links or extra output anywhere.

I’m betting either you have indeed blocked the xmlrpc file (and if you have why would you be here, you know what’s wrong!) or you are using CloudFlare?

Basically the problem is that CloudFlare is blocking access to the URL


Screenshot from 2015-03-31 14:44:56

Unfortunately the only quick solution would be to disable CloudFlare, enable Jetpack and re-enable Cloudflare. I’m uncertain if Jetpack ever really tries to reconnect via this endpoint however, so i might be the case later that your Jetpack plugin stops working again if you do this.

If you absolutely need CloudFlare enabled, I’d say contact their support and see if there’s anything they can do to help you. Otherwise it might be worth either dropping either Jetpack or Cloudflare as unfortunate as that may be.

I’ll check on this in a month or so to see if there’s anything else out there on this issue! Let me know if you have found any other workarounds! Oddly enough it just worked on one of my sites while testing for this article, but not another site. Very odd behaviour. Just to note I’ve currently tried adding a page rule in to bypass caching/security on this specific URL however that did not resolve the issue. I’ll keep trying! 🙂

Are your Steam downloads slow? Fixit fixit fixit!

Well colour my face egg-white. I was complaining a bunch about Steam downloading slowly and it turns out there’s an easy fix if it’s on  Steam’s end and not your own.

Now I’m guessing everyone and their dog knows how to solve this but in case you don’t know I thought I’d chuck up a little thing here. It’s quite a simple fix.

Click up top of the Steam program “Steam” menu option and then Settings and then go to Downloads. Just change the server to another one that’s near by. For me the server it auto-selected was UK – London, which I’m guessing is overloaded as the piles of nerds such as myself download games and updates on a Friday night.

Switched it to UK – Manchester and restarted Steam, my 7 hour download is now going to be done in 15 minutes.

So yeah.. Steam downloads slow? Have a fondle around with the settings, it’s a lot easier than complaining! 🙂


Return of the Zurker – Scam status confirmed(?)

Hello there folks. This may be a bit of an odd one to have on our fine and fair gaming site but I’d like to address a topic that was migrated here from our previous project, ICNerd.


Zurker was said to be the social network made by and for the users. A user would get “vShares” if they either got people to sign up through a referral system or bought these vShares with real and actual money. vShares are fake shares in the company, with the idea that they’d be turned into real shares if the site ever got big enough to get an IPO (Initial Public Offering, basically the shares become available to trade on stock markets)

A whole bunch of people signed up and referred all over the place, including myself (Although my account appears to have been mysteriously deleted last time I tried to log in a few weeks back!)

A large amount of these people actually gave Zurker money to buy these vShares, most likely in the hopes that eventually they’d become rich. Recently there was a huge backlash for a day or so when Zurker went offline. The people who had bought the most turned on it almost immediately, worried that their hard earned stake in the company was gone for good. They flipped face once again when the site came back online. It was all a very popcorn and watch situation!

In a previous post, migrated here from ICNerdZurker is pretty angry at me. On that note, is Zurker a scam? Currently 8th result if you search “Zurker” and number one for “Zurker Scam” I went into a little bit of detail on Zurker’s potentially shady practices of threatening people that they’d lose their investment if they didn’t actually use the site. It got a bit of backlash from the extremely cult-like Zurker users, to say the least! It’s hard to even describe what they are like, check out the comments on that article for a sample! One guy even insulted the site because it didn’t have a good Alexa ranking, like that matters to anyone ya silly bugger!

Is Zurker a scam?

I’m not sure about scam just yet – I mean it definitely looks like it right now, but it definitely feels like a cult if nothing else. Even moreso than when I wrote the initial article back in July last year! The really hard core members are practically foaming at the mouth if they see anything negative said about their beloved social site!

Zurker now?

Now, the site appears to be suspended

Zurker is suspended until a serious legal problem is resolved. The problem is an investigation by the US Securities and Exchange Commission. I do not know how long it will take to get this issue resolved but I ask for your understanding and patience. It may be necessary to shut Zurker down and reboot Zurker with an emphasis on regulatory compliance, or to reboot Zurker in a different and more welcoming jurisdiction.

Well that doesn’t look too good does it? Investigated by a federal agency in the US? I hate to say it guys but I told you so! (I love to say it.)


Excerpts from the subpeona








This isn’t the sort of thing that happens to legit companies all too often! At least not those this small!

Did I just get scammed? What about saying it’s legit?!

Hate to say it but.. probably! The guy that started the site, Nick Oba has previously been in hot water for Qassia back in 2008, which lost a lot of people a lot of money apparently. Already that’s a red flag right there but fair enough lets just assume it was a bad venture that turned sour too fast to save it.

The site is run by one of Zurker’s admins. I emailed the owner of the site (Through their whois record details, using an alias) and got a reply back from Shavkat Karimov, at the time the only other “custodian” (admin) of Zurker

Screenshot from 2014-03-27 13:28:36


I was tempted to register to point this one out!

Can I do anything about this?

Hate to say it friend but the answer’s most likely a big “Nope”. If you bought vShares or Zen very recently (The Zen site is also down) you can probably issue chargebacks through Paypal and your bank in the case of cards. I’d highly recommend doing so before it becomes impossible to do so.

The only other thing you can do really is share the word. Chuck a link to this article to your Zurker friends and loved ones encouraging them to share what they know in the comment section below. Aside from that, if you gave Zurker your cash you’re out of pocket right now.

Any final thoughts?

In closing I’d like to address some of the wording of the now shut down site (Screenshot at the end, in case it changes)

 As far as I know, we are fully compliant with all crowdfunding law.

Fraid not mate, you’re not allowed to crowd fund investments in the USA. Equity based crowdfunding is currently illegal in the US as far as I am aware if you’re not a licensed broker-dealer or via a Funding Portal registered with the SEC, which is why you don’t get such rewards with sites like Kickstarter.

At this point I offered to suspend Zurker’s operations but Cineman said he is confident Zurker will be vindicated and the project must go on. He has always been an individual of high moral character and courage.

So why are all of the sites relating to Zurker offline if you only offered sillybuns?

Numerous members have said that instead of calling for elections, I should have appointed one or more members to run Zurker, and so many others agreed with them. For me, this has been devastating. As far as I am concerned, Zurker has failed as a concept: if the majority of its active members do not consider it democratic or do not believe in democracy, there is no point in keeping this project operational.

If it ever was, his heart’s no longer in it anyway. Get out while you still can, if you can. The site’s peaked and it’s coming back down

I am very sorry but I have young children and I am not willing to sacrifice my personal liberty or put those dear to me at risk for a project that is maligned by the majority of its own active members.

To those who believe in democracy and who believe that Zurker was a noble and democratic intiative, I offer my sincere apologies. Your voices were drowned out by others vociferous in their derision for Zurker as a democracy and/or for democracy itself.

This settles it. This is clearly saying that Zurker is dead. It’s gone. All of the cult-like followers are out of pocket (Chalk up 2 to Nick Oba on losing people their hard earned). Say goodbye to your money, the site is dead. Please re-read that as many times as you need to let it sink in. It’s clearly worded as a “Welp, we failed”. There’s false hope in the next paragraph but this thing is dead.

To sum up

  • Oba has a history of losing people money
  • My own account was deleted when I called Zurker on its pyramid scheme looking tactics
  • Zurker is being investigated, highly likely due to equity-based crowd funding being illegal in the USA
  • All of Zurkers sites are currently suspended
  • You’re out of pocket
  • If you can, chargebacks are all you have if your payments were recent
  • You probably got scammed.


Notice - Zurker

Windows 8.1 is here! Hopefully it'll fix some issues.

While I’ve not been able to get it just yet, reports are that Windows 8.1 is being rolled out as I type this. If you’re already on Windows 8 have a peek in the Windows Store and it should be there as an update.
Fingers are very crossed that this fixes the issues we’ve seen in A fix for my Windows 8 laptop dropping wifi connection. Most notably of course the wifi dropping out for no apparent reason.

Other things that have changed are that the Start bar is back! As I say I’ve not seen 8.1 yet but I’ll be sure to uninstall ClassicShell and give it a whirl, probably attach a video or something too. Obviously if you’ve tried it and have any sort of opinion on it (Good or bad!) please do feel free to mention in the comments below!

If you’re more of a cautious sort of person and would prefer someone else jump in first please let me know any specifics you’d like looking at and I’ll make sure to have a poke around in that area.

Changes in 8.1

  • Start button
  • Booting to desktop
  • Organizing the home screen
  • Hot Corners
  • Default/Favourite apps
  • Wallpapers and slideshows
  • App updates

Good lord I hope it doesn’t suck as much as the transition from real Windows to mid-life crisis Windows 8 did.


Installed OpenVPN in CentOS 6 – Can't find easy-rsa directory anywhere!

Just a quick one I came across today – I’ve installed OpenVPN but I wasn’t able to find the easy-rsa directory that simplifies the process of creating a server hugely.

If you’re here for the same reason, it’s because it’s not delivered with the install anymore. Good times!

As pointed out by a user in the comments.. it’s in yum just in a separate package. Can’t believe I missed that trick! *facepalm*yum install easy-rsa

I’ll leave the rest of the post here in case it’s ever needed by anybody, but yeah your standard install is in the EPEL yum repo..

Grab it here:

I’m not sure why it was removed to be honest, and even more honestly I’ve not looked any further into it! Personally I did a git clone on it and then copied out the 2.0 dir cp -r /path/to/easy-rsa/easy-rsa/2.0 /etc/openvpn/easy-rsa

From there it’s the standard usage, edit your ./vars file to suit your environment if needed. Only clean all if this is a fresh install. This all assumes it’s fresh so make sure you CYA!
Personally I also make a link to the keys dir for easy configging ln -s /etc/openvpn/easy-rsa/keys /etc/openvpn/keys

cd easy-rsa
source ./vars
# Go make a cup of coffee, drink it, make another.
# This one takes a moment or two and spams up your terminal with dots and plusses.
# All good stuff really
./build-key-server servername

From here you should probably generate a CSR on the guest nodes and sign the csr using ./sign-req but as my VPN is a simple closed network with keys copied over SSH it’s just quicker to

./build-key guestname
scp ./keys/guestname.{crt,key} ./keys/ca.crt root@guestserver:/etc/openvpn/

Copy (using scp of course. Don’t go using FTP or email on me) guestname.crt, guestname.key, ca.key

You’ll reference these files in your server.conf and client.conf configuration files. Let me know if you’d like an OpenVPN client-server config walkthrough/video – I’d have fleshed this one out but there’s thousands of them on them interwebs!

Hope this helps! If you do know why it was removed from the yum package please feel free to teach the wealth in the comment section below, muchly appreciated as always!

Dynamic backend servers with Varnish 3.0

Note:  This only works in Varnish 3 – Varnish 4 removed the DNS director and we’ll have to wait on a VMOD or make one ourselves to get this working in version 4!

Let’s say you’re wanting to host multiple websites on multiple backend servers and you want a single caching reverse proxy in front of all of them to make them super speedy.

For example each of my sites lives in its own OpenVZ container for security purposes as well as super easy backups and restores if needed. Of course I could set up varnish in each container along with httpd and MySQL, however for a bunch of smaller sites this is less efficient than just having one beefy caching proxy in front of all of them as you can then have a relatively full cache server rather than multiple mostly-empty caches.

Please do bear in mind the following guide assumes Varnish is on its own server. If it’s not, be sure to either change the listen port or have your web server listen on an alternate port.

Before getting started you’ll need

  • Backend web servers/sites
  • A working DNS zone to contain internal IPs (e.g.,, etc)
  • Varnish cache 3.0

Firstly if you’ve not done so already, install Varnish 3.0.



rpm --nosignature -i


rpm --nosignature -i

Then do a

yum install varnish

Debian / Ubuntu

curl | apt-key add -
echo "deb wheezy varnish-3.0" >> /etc/apt/sources.list
apt-get update
apt-get install varnish

We’ll then set up our varnish server how we like it. In CentOS you’ll want /etc/sysconfig/varnish, Debian keeps it in /etc/default/varnish I believe. It’s probably wise to grab a spare copy of the file before we modify it – Just in case.

Replace the contents with the following, changing the settings to fit your environment. This’ll mainly be the options VARNISH_LISTEN_ADDRESS and VARNISH_STORAGE_SIZE


# Maximum number of open files (for ulimit -n)
# Locked shared memory (for ulimit -l)
# Default log size is 82MB + header
# Maximum number of threads (for ulimit -u)
# Maximum size of corefile (for ulimit -c). Default in Fedora is 0


# # Should probably change this

# # Not setting VARNISH_LISTEN_ADDRESS makes Varnish listen on all IPs on this box
# # (Both IPv4 and IPv6 if available). Set manually to override this.

# # Telnet admin interface listen address and port

# # Shared secret file for admin interface

# # The minimum number of worker threads to start

# # The Maximum number of worker threads to start

# # Idle timeout for worker threads

# Best option is malloc if you can. malloc will make use of swap space smartly if
# you have it and need it.

# # Cache file size: in bytes, optionally using k / M / G / T suffix,
# # or in percentage of available disk space using the % suffix.


# # Default TTL used when the backend does not specify one

# # DAEMON_OPTS is used by the init script.  If you add or remove options, make
# # sure you update this section, too.
             -f ${VARNISH_VCL_CONF}
             -t ${VARNISH_TTL}
             -u ${VARNISH_RUN_USER} -g ${VARNISH_RUN_GROUP}
             -S ${VARNISH_SECRET_FILE}
             -s ${VARNISH_STORAGE}"

Now that we’ve got our config sorted we need to edit the config file that tells Varnish what to do with various requests and whatnot. In the example above it’ll be /etc/varnish/default.vcl – but will be whatever you set VARNISH_VCL_CONF to be.

Again it is worth grabbing a copy of your current config (or the sample) in case you need it later.

In here we want the following config. Be sure to modify as required.

In the director’s .list you’ll need to change the range that Varnish allows as backends. Please don’t set this to a /8 or anything too big (/24s at most work nicely I’ve found) else it’ll take forever for Varnish to start up. A /8 means Varnish will attempt to make 16 million or so backends.. Yeah.

It does need to allow for all possible backend IPs however. If the IP you set later in DNS doesn’t exist here Varnish wont try to connect to it and will output an error. You can specify each IP as a /32 if you like, but in my case I know all of my web servers will have a 10.5.0. IP so “”/24 works nicely.

Also change the .suffix option from to the internal DNS zone you’re using, e.g.

/* Does a DNS lookup on
 * if result is one of the listed IPs, use that IP as backend

director default dns {
    .list = {
        .port = "80";
        .connect_timeout = 5s;
        .first_byte_timeout = 600s;
        .between_bytes_timeout = 600s;
        .max_connections = 10000;
    .ttl = 1m;
    .suffix = "";

acl purge {

sub vcl_recv {
    set req.grace = 10s;

    if (req.request == "PURGE") {
        if (!client.ip ~ purge) {
            error 405 "Not allowed.";
        return (lookup);

    if (req.request != "GET" &&
        req.request != "HEAD" &&
        req.request != "PUT" &&
        req.request != "POST" &&
        req.request != "TRACE" &&
        req.request != "OPTIONS" &&
        req.request != "DELETE") {
           /* Non-RFC2616 or CONNECT which is weird. */
           error 405 "Not allowed.";

    if (req.request != "GET" && req.request != "HEAD") {
         /* We only want to cache GET and HEAD */
         return (pass);
    if (req.http.Authorization || req.http.Cookie) {
         * Not cacheable by default. Usually means its an authenticated request,
         * which we don't want to accidentally server to another user
        return (pass);

    /* Otherwise we're good. Send it to the cache logic */
     return (lookup);

sub vcl_pipe {
     return (pipe);

sub vcl_pass {
     return (pass);

sub vcl_hash {
     if ( {
          /* Add the requested domain/virtual host to the hash */
     } else {
          /* Server IP if it's not specified */
     return (hash);

sub vcl_hit {
if (req.request == "PURGE") {
error 200 "Purged.";
return (deliver);

sub vcl_miss {
    if (req.request == "PURGE") {
         error 200 "Purged.";
    return (fetch);

sub vcl_fetch {
    /* How old should we allow the cache to be if the backend server doesn't respond? */
    set beresp.grace = 10m;
    set beresp.http.Vary = "Accept-Encoding";

    if (beresp.ttl <= 0s ||
        beresp.http.Set-Cookie ||
        beresp.http.Vary == "*") {
             * Mark as "Hit-For-Pass" for the next 2 minutes
             set beresp.ttl = 120 s;
             return (hit_for_pass);
    return (deliver);

sub vcl_deliver {
    /* It's a bit paranoid, but lets not show all of our cards to the other players */
    remove resp.http.X-Varnish;
    remove resp.http.Via;
    remove resp.http.X-Powered-By;
    remove resp.http.X-Secure;
    set resp.http.Server = "Apache";
    return (deliver);

sub vcl_error {
    set obj.http.Content-Type = "text/html; charset=utf-8";
    set obj.http.Retry-After = "60";
    synthetic {"<!DOCTYPE html>
<html lang='en'>
<meta charset='utf-8'>
<title>503 Service Unavailable</title>
::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}html{padding:30px 10px;font-size:20px;line-height:1.4;color:#000;background:#f0f0f0;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,input{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}body{max-width:1024px;_width:1024px;padding:30px 20px 50px;border:1px solid #b3b3b3;border-radius:4px;margin:0 auto;box-shadow:0 1px 10px #a7a7a7,inset 0 1px 0 #fff;background:#fcfcfc}h1{margin:0 10px;font-size:50px;text-align:center}h1 span{color:#bbb}h3{margin:1.5em 0 .5em}p{margin:1em 0}ul{padding:0 0 0 40px;margin:1em 0}.container{max-width:960px;_width:960px;margin:0 auto}
<div class='container'>
<h1>503 Service Unavailable</h1>
<p>Apologies, it appears the server handling this request is unavailable, overloaded or just completely broken..</p>
<p>Please try again later</p>
    return (deliver);

sub vcl_init {
    return (ok);
sub vcl_fini {
    return (ok);

Now you’re free to start Varnish up!

service varnish start

To finish it off and make it all work add a web server by adding an A-record to the internal zone. For example if was served by a machine on you’d configure an A record with the IP of and as low a TTL as you can possibly set.
If your nameservers support it you can also set a wildcard record * too, or just and any other domains you’d use to access this site.

When you request through the Varnish server we set up above, it’ll now connect to on port 80 as its backend, caching anything it can. Awesome.

To have Varnish do a new lookup on a backend server (e.g. the backend’s IP has changed) issue a service varnish reload to have it re-lookup the domain without losing its cache.

From here the world is your oyster, because Drew, that’s all the world really is. Maybe you could have a script automatically provision web servers and add them to DNS, issuing a reload to Varnish when done. Good stuff.

Hope this helps!

Zurker is pretty angry at me. On that note, is Zurker a scam?

I received this delight of an email today out of nowhere from Zurker. I had actually forgotten all about it to be fair, but now I feel like I’ve accidentally become part of a cult.

A newer article on this subject has been posted Return of the Zurker – Scam status confirmed(?)

Update: Post updated. Please see the bottom of the article

Hi Cohan,

The premise behind Zurker has always been that it is a social network
owned by the members who use it.

Emphasis on “use it.”

If you do not use Zurker, you are not entitled to co-own Zurker.

You last came to Zurker 287 days ago. This is unacceptable. If you
continue to refuse to support the project, your vShares will be

It’s been 18+ months since Zurker was launched. During this time, a
huge amount of development has taken place, and the world has shifted
in our favor. The world is as ready for a member-owned, ethically run,
privacy-oriented social network as it will ever be. We must now come
together and support the project with activity and traffic so that we
can make an impact on the media, and claim our rightful destiny as the
world’s next dominant social network.

A large number of members have started zurking regularly and our traffic
profile has improved dramatically, by no less than 130,000 Alexa points
in just a fortnight – but many more continue to be absent. For Zurker to
become successful, we need everyone to show up and support the project.

This includes you, Cohan.

All you need to do is zurk one post a day. This takes less than 1 minute.
I am sure you can spare 1 minute a day to support a project you co-own,
but if this is not possible, you might as well close your account now.

I am confident that enough Zurkers will come together and propel us to
success. But if not, I will not be held liable for the closure of this
project. This is a community-owned, community-driven project. Irrespective
of what I do, the community must come together for this project to go
anywhere. You are an important part of the community, and I am counting on
you to do your part.

Stay blessed.

Nick Oba
Custodian and co-founder of Zurker

Maybe if you quit saying Zurk so often I’ll be able to use the site without being reminded of The Smurfs constantly!

A thought immediately occurs; had I actually *bought* vShares would they also be rescinded? Chill out Zurker, we’re all friends here.

I’ve gone into my account there to see if it’s any better than it was and to avoid the wrath of Nick Oba. The interface is still a bit bland and buggy, half of the links clicked opens in a lightbox-esque modal window which occasionally just doesn’t load anything at all. Then whether it does or not it doesn’t support the standard click outside or Esc key to close… I’ll give you a bit more time, Zurkalots. I’m just not ready for whatever it is you’re selling, unfortunately it doesn’t feel like you’re in a position to provide it yet either. As it stands I don’t feel like I’m missing out on anything by not being there, which for a social network makes or breaks it really.

On a bit of a more real note though, I never did find out what the deal was with Zurker. Any of you folk know at all? It looks somewhat like a Pyramid scheme disguised as a social network for some reason and the site doesn’t feel legit either, maybe someone should start a

Simply put: Is Zurker a scam? I can’t say for sure I’ll ever be convinced that it’s not. At the very least not until they get a Wikipedia page that doesn’t get instantly deleted for being spam anyway.

On a final note, man these guys hate Facebook!


Having seen some of the response to this posting I thought I should update to clarify some things.

There were other emails sent before this one you didn’t mention

This turns out to be correct, the reason they were not mentioned is because I hadn’t read them — or even seen them!


First thing to get out of the way, posts with red to the left of them aren’t in any way inviting enough to be opened. As I have said before I’m very uncertain on Zurker, why would I be interested if they’re launching things or getting krazy?

(1) One home alert – Someone I don’t know wanting to connect with me

(2) – Finally get something back? Awesome!

Here we had somebody sweating – literally – on behalf of Zurker but
not getting more than a handful of referral credits out of it.

And that’s why I’m proud and excited to announce the Authorized Agent

Finally, more than a year after our beta release, it is possible for
those who bring Zurker funding to earn real money. You can use your
website traffic, your established marketing network, or your own two
feet to spead the word about supporting Zurker with funding. If you do
so, you can get a LOT out of it, because Zurker’s terms are extremely

That is edging even closer to being a pyramid scheme, at very least it’s a distant cousin of the classic pyramid scheme.

(3) – Here’s a free Zen coin. I had no idea what a Zen coin is at the time, and by the time I had read the email it was too late to claim it anyway.

(4) – This was actually me promoting my Zurker referral link a year ago on Facebook. Good times.

(5) – Now this one appears to be the one people are talking about when they say the one referenced at the start of this post was harsh because I didn’t read this one. I had to rescue this one from my spam box. I couldn’t see the second email people and the rescued email were referencing. I can only assume that one got spammed too.

(6) – This is the oddest one, it was someone saying welcome back to Zurker. All I had done at this time was logged in. How did the guy know? I thought Zurker was all over privacy?

Webserver down: "Invalid command 'php_value'"

Well this one took me by surprise I’ll say. It’s never fun when Zabbix lights up saying half of your websites have dropped out!

Starting httpd: Syntax error on line 31 of /etc/httpd/conf.d/php.conf:
Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration [FAILED]

Firstly DO NOT comment out the bottom two lines as some sites have recommended. The reason being this will allow your webserver to start up however PHP will not be processed, dumping all of your site’s code into the browser as plain text for anyone to see!

To summarise what happened I had done a yum update which bumped up php – apparently the Atomicorp (Atomic Rocket Turtle RPM Repository) repo I use had a bit of trouble with their packages, meaning the php.conf that ends up in /etc/httpd/conf.d/php.conf was a tad broken.

If you’re just in a bit of a panic rush like I was and would just like the quick fix, I had to add the following back to the very top of the file above everything else and then restarted httpd ( service httpd restart )

# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
<IfModule prefork.c>
LoadModule php5_module modules/
<IfModule worker.c>
LoadModule php5_module modules/

Hoping this helps you quicker than it took me to find the fix! I’m not sure if the issue has been fixed at atomic, only a couple of my web servers were affected by this while they’re all at the same version of php. Luckily it was just dev server for ICNerd that was affected by this issue.

A couple of other sites did flail off the internet into a broken php abyss though 🙁

Update: All of the sites using this repo were affected, they just hadn’t tried restarting or reloading httpd configs yet… that was fun


Side note. The featured image in this post is from openclipart: nuclear explosion by tzunghaor