while (1) $head->brickwall(“BANG”);

This morning was quiet at the Insane Asylum, We were informed that due to work being done on trees growing through power lines, we would loose our power supply for a short while.  To prevent damage to servers/systems/coffee pots we shut down all electrical equipment at 9am (The time we were told the outage was due for).  at approximately 10:45am we were informed the power work had been done, and that we would not be affected after all. So everything was re-powered back up.

When FireFox starts up on my desktop and re-opens the session I had before the shutdown I notice something. A development site I have been working on is now displaying some errors. “ARRRGGGHHH! what did I do? was I in the code when my machine switched off?” So I quickly check the Live site, and that has the same errors on it. “errr OK. we work on the dev site, test any changes and only if they shown to work do they get copied over to the live site

Quick check of the file system shows files in both the live & dev areas with modification dates/times of 9:30 today. So they were played with during the Asylum was off-line, which means only one possible person with access. The freelance Phone developer who for his own protection we shall call PhoneBoy (PB). The following is a breakdown of the IM conversation that then occurred.

CN: “Hi, What you do to the site? Both Live & Dev are showing errors”

PB: “Nothing, not touched it, and not seeing errors here!”

CN: “You sure? try refreshing browser, I’m seeing the errors here on multiple machines”

PB: “No errors, and I checked IE and Firefox”

*Repeat the last few entries continually for about fifteen minutes*

CN: “Seriously every machine here is showing the errors, here look!” *iPhone photo & email*

PB: “No. still cant see any errors and I even checked with Linux. and I did not do anything, all I did was comment out some code to make the pages load faster”

CN: “You commented out code? what code.?”

PB: “See i removed what I did and the page loads slow now”

CN: “Yes but the errors gone. Please leave it alone. I’ll make the page load faster, you leave it be!”

I would not mind so much, only this happened every time he does anything. You have to fight for about half an hour to get him to admit he actually did anything. then another hour to find out exactly what he did, then ten minutes to actually fix the problem.

So as the post title says.

while (1)

$head->brickwall(“BANG”);

When Development Goes MAD

It started off as just another day in the Asylum.

Well not just any old day, but a Friday. The countdown to the weekend had been started. The coffee brewed. and all was well!

Then IT happened.

And not a cool interesting intergalactic space spider who likes to disguise herself as a friendly clown called Pennywise. No not a good IT at all.

He thrusts his fists against the posts and still insists he sees the ghosts.

No this IT was getting called into a phone meeting, something that to date has tended to go the same way every time. I go into the meeting, i sit about for an hour listening to the marketing guys discuss what name to give things, then I have a ten minute contribution about the development, then another hour of pointless marketing drivel. (I think I fell asleep at one point in the last meeting I went to)

This was luckily just a 15 minute quick meeting to discuss what is the next area of development to concentrate on. You see the site in question is getting a major overhaul and is currently in a situation where the development site can be made live. There is just some final testing going on.  This testing will be finished today, so the site will be live by Monday.

Yet in the meeting, the Governor decided that we needed a development site for the development site. So that while the development site is being tested to go live, a development version of the development site can be worked on. Now, should any bugs be found in the development site they would have to be fixed there and the fix duplicated to the development, development site. while new work is done there. We now have three versions of a site, all for the sake of waiting a day.

I don’t know if any of you can see the sense in that, I know I can’t.

Ah well on with the multiple dev site creating.

a=b; a=b; a=b; ad infinitum

I did have a different post that I was planning on writing today. I just figured that what I’m seeing on my Desktop Screens deserved sharing.  I’m doing some work on a site, and have copied it to a development area so my work does not affect the live site. Unfortunately the site URL & Document root are hard coded across the site, So before I can start I’m having to fix this.

So I find an include file full of variables. Which is a good way of doing it, since if you make any changes you only need to edit one file. Here’s an example of said file.

$site_name         =     “****************;
$site_email        =    “****@*******”;
$site_url        =    “http://********************/”;
$ip                =     ***.***.***.***;
$site_path        =    “/*****/******/*****”;

******** to protect customers privacy.

OK. Seems fair right? That’s only a small snippet of set variables There are dozens and dozens of them. Now, every other file on the site starts off with including this variable file. They then go on to reset all the variables in it to the same values. e.g. :-

<?php

require(**included file**);

$site_name         =     “****************;
$site_email        =    “****@*******”;
$site_url        =    “http://********************/”;
$ip                =     ***.***.***.***;
$site_path        =    “/*****/******/*****”;

??? WTF ???

Now, I know the original person who built the site did it all at the same time. so that discounts it being an extra file added at a later rebuild, and the variables per file had not yet been removed.

And as for the coding in the rest of the site, Lets just say I have begged to be allowed to rm -Rf * the whole directory and start again from scratch as it will be quicker/better.


Somebody Shoot Busby

I wonder if there is any of the old “Busby” Puppets/Models/Anything still around I could get my hands on, and then film its destruction by the use of Thermite. I think something along those lines defiantly needs doing, as the Fat Yellow BarSteward is currently the bane of my life.  To put it simply “I HATE PHONE SYSTEMS“. I along with the majority of work colleges Past and Present blame the Phone Systems for all the problems the Insane Asylum has had over the last 4 or 5 years.

Let me mention a few of the current reasons that I wish to rain down thermite on a marketing logo, or the telecommunications industry, or the next person to mention phones.

*Directory Enquiries

Now this was a Project I finished, its all written and finalised. There is just one thing, BT’s security demands a user entered none automated file upload. And since the Asylum paid for my access to the BT system, It means I have to do the manual uploads.  This involves changing IP addresses, checking huge thousand line text files for any bad words (it goes up in my name so checks needed) then connecting to their system, uploading a file, then several times over the following weeks doing it all again to download results. Now we currently do it every few months so its not too bad. Only I overheard Governor talking yesterday, he’s pushing it to go for weekly uploads, or better yet daily!.  I’m supposed to be SysAd/SysDev not a fraking Data Input Drone.

*WLR3

Apparently BT are phasing out WLR2 and replacing it with WLR3. WLR2 will no longer exist after March 2011. I know, terrifying isn’t it? “what do you mean you have no idea what WLR2/3 is?” Well to be honest, I have no clue what it is either, Never heard of it, used it, etc. Yet, I have been given the task of developing a software integration from our system to theirs to handle all the WLR3 stuff.  Now, all the info I have so far is a Phone conference call I was on, Where basically they just told us we have to do it soon, and suggested we purchase a pre-made system.  To be fair they laughed when the Governor said we would be developing our own. They pointed out that some other companies have tried, and they may have Great Dev departments, but its too complex, and too many phone things only people in industry know for any team to develop in time frame.  TEAM??  The Governor wants me to do it on my own. And on top of my normal workload, and covering everyone else in the Asylum!!!!

*WebSite Redesign

We have a website for a sister company, trading name kinda thing for our phone products. It was written by a partner company (who since went bust) and is the worst pile of junk you could imagine. Say you need a website, give the programming job to an artist who knows no code. give him a php book, and tell him the more functions and pointless stuff you add, the better the site is. Its shite. it needs deleting and starting from new. Well they decided to re-write it using the existing code, and Guess who gets to rebuild the site? You got it, me, on top of the impossible WLR3 project, and on top of normal workload.  Oh, but lets have a quick dev meeting first to discuss what we having on there. Only that turned out to be a two and a half hour marketing meeting, where they discussed costs, pricing, and what terms the sales person should use when selling things that had nothing to do with the website in question.

At this meeting I learnt Apple lies, there is not an app for everything. I searched their store, and there are no apps that allow you to use an iphone to rip out your own heart.

CN

Updating CV.

Off the Rails

When learning a new programming language, The Internet convention is to make a “Hello World” program.  For those of you none-coders out there, that is as simple as it sounds. A simple program to output the words “Hello World” onto your screen, or a page on a web browser. The idea is to use something very simple, so you can speedily see the output of your code before you start on anything more complex.  In theory there is nothing simpler in code than the Hello world program.

For example:

  • PHP: <?php echo “Hello, world!”; ?>
  • ASP: <% Response.Write(“Hello, world!”) %>
  • ASP.NET: <asp:Label ID=“Label1” runat=“server” Text=“Hello World”></asp:Label>
  • BASH: echo ‘Hello, world!’

You noticing a trend here? Very simple, and not much code involved. Hell if we look at assembly language itself, which is considered a complex and long language.

bdos    equ    0005H
start:  mvi    c,9
        lxi    d,msg$
        call   bdos
        ret             

msg$:   db    'Hello, world!$'
end     start

Now. this week I have had to look at the insanity that is called “Ruby on Rails“. One of our customers is demanding we host/support it as he now has a new “Developer” (And I use that title in the loosest way) And the new guy only does Ruby On Rails (Or RoR from now on).  Now we have the facility to host it pre-setup on our servers.  So all we had to do was throw up a quick test page to double check it was all running OK. What was needed was a RoR “Hello World” test.

So following the examples in a book I set about writing a simple application to display “Hello World” onto the web-page. It took several hours of work, required over 200 different files, and a virtual-Host setup different to normal hosting before the words “Hello World” were there on the screen.

How shit a language (If i can call it a language) is RoR? Instead of the normal ONE line of code it took 207 individual files to do the same thing. Has there ever been a shittier application language invented?  If there is then I have never heard of it.

And to top it all off. the Developer in question seems clueless about the language. For example he did not have a public folder (required by Apache). he removed the default index page (which is correct) only he never re mapped root in the config/routes file. And has been bombarding our support ticketing system with very basic questions.

On a side note. While learning RoR, I got bored so played on the Interwebz. I found this developers, Twitter, Blog, Facebook, Company website. Yes it turns out he is a freelance web applications developer.  And yet his website is the worst I have seen in a long time.

Takes all sorts I suppose.

CN

I Swear They Are Testing Me!

I read a book many, many years ago. It was one of the Foundation series by Isaac Asimov, Either second foundation, or foundation and earth, I forget which. (I did read them all in order straight after each other, so the actual books blurred into one story).  Anyway, In this book the empire wants to find the second foundation people who they suspect of controlling everyone’s choices. So they send out one of their guys in a state of the art spaceship to go find them.  The ship had a thinking brain as its computer, and what the pilot did not know was they suspected him of being one of the advanced second foundation people, and had given him a broken ship so if he was able to fly it, then it proved he was one of the people with advanced minds…

Some days I feel like that pilot. I swear they are testing me! Let me explain. I was given a new project, out the blue, with a deadline of a week. And I mean deadline since the Governor was setting it up at the customers site in exactly one week. (OK. that’s partial hindsight as I was only told the deadline at hometime the day before he was due to install the system!).

So, Whats the project?

Right,  What is needed is to integrate the LDAP address book on grandstream phones with the LDAP address book on a kerio email server. Simple!

Do I have the necessary tools?

Like what?grandstream

Do I have a Grandstream phone with LDAP capability?

Err no, you don’t.  There is a fellow inmate at the other side of the building who has one.  You could do a bit of code work, walk over to his desk, test the phone, walk back to your room and check the code? Oh, I should mention He is one of the phone support guys, so he is on the phone all day long, so you may have to wait until he’s not using the phone before getting a quick test!

Right, Do I have an account on a kerio server so i have an address book i can use for testing?

Don’t be silly, Kerio accounts cost money, so no account to test with!

Do I at least have documention on the phones? details on how it talks to the LDAP server? format it needs responses in.

No documentation at all, No information, The only person with that knowledge is not working on this project so You’ll just have to find it all out yourself. Oh, you do have the web address of a script someone else has written. Did I mention that?

No you did not. So I have an example script that does what I need to do, so I can work from that? That’s not too bad!

Oh. You have a link to a script. I should say it does not work on any account based LDAP server so falls over if you try using it on a Keri server. And even if it did work, it does not do what you need it to do since its a script to make an xml address book to import into older phones, so a)does not work, b)Not what you want.

So. Just to summarise. I have been asked to develop a system where a phone talks directly to a kerio email server and auto populates the address book? and has the search functionability built in? I have no phone to test with or see how it works, No account with an address book, No documentation, And only a broken script that doesn’t even do what I need? Great!!!!

You forgot less than a week to finish it and get it tested!

I’ll just go out back and shoot myself now……………

CN