Friday, 17 November 2017

Waking Up With My Dog

Someone was cold, this is where they perched...


Ain't he the cutest....

Wednesday, 15 November 2017

Time Expectations in WoW Classic?

With the news today of EA reducing by 75% the time it will take in Star Wars Battlefront 2 to unlock a hero character, can we expect to see modern gamers head into WoW Classic and start complaining?

(c)2017 Electonic Arts

Lets just recap though, World of Warcraft, vanilla, people played a character to level 60 in about 4 days played, that's about 96 hours played.

EA's plight, and collapse into pandering, happened with a played time of around 40, that's less than half... Reducing it by 75% that now makes a hero in SW:BF2 in 10 hours.

10 hours for Vanilla WoW was not enough, and this is where my first concerns with WoW Classic come about, firstly, will Blizzard be forced to pander down to newer gamers whom most certainly want action & reaction, risk and reward.  They certainly don't deal in patience nor RNG.

My second concern comes that this is a big issue, and perhaps Blizzard will side step it, by simple nerfing the amount of time to level, or perhaps increasing the rate of XP gain, as arguably since Burning Crusade or Wrath of the Litch King, the business model for WOW has been to push players to level cap as fast as possible and explore repetitive tasks in that area.

The way of thinking Blizzard have entertained (no pun intended) since I stopped playing was daily's, and find a group, find a raid, tokens, faster reward for input, but with exponential damage, health and other stats making that power-wonder factor... Fast rewards, I said during my appearance on "Shut Up We're Talking" that this was where things would be going.

Rinse and repeat.  That is all I've seen delivered, it's certainly all I've heard explained.  Should I name drop "Garrisons"?

All this said however, we must remember, that there will be a huge influx of tourists to WoW Classic, toe dabblers, so what could the population of regulars; the hardcore; who settle there expect?  These are the things we don't know and as you can tell by this post, we can only speculate about.

Monday, 13 November 2017

Virgin media - Poor Speed Proof in Statistics

From my prior post, I have now appended the first ResultSet1.csv file - used to generate the chart in my previous post....

However, since than I have been doing some processing, and between 20:00 and 21:59 there are 191 entries in my little chart.  Remember this is what virgin refer to as "Peak time", and they state an average of 50mbits in 24 hours.  I'll be fair here, they never state what the actual speed they throttle down to or limit one as, but the chart here clearly shows 50mbits...


So, what average did I receive for 24 hours?

22.124 mbits/sec

Less than half the speed promised.

My speed during the peak time slot?  Averaged out as?

6.310 mbits/sec

Utterly pathetic...

You can download the results csv yourself, plug this into a spreadsheet and enjoy the proof positive of this dreadful situation.

To make matters that little bit worse, I have tried to call Virgin, and spent tens of minutes of my break and lunch in the queue to speak to someone, and their live chat simply performs this horrid loop:


Clearly the average upload speed of my test matches their predictions, its not particularly impressive, but is the speed as advertised.

Since I am having issues talking to Virgin, their Twitter minions keep passing me from pillar to post, asking the same dead-end and above all unrelated questions, and their actual customer services team are harder to talk to than they should be.... I think I'll be forwarding this one now to the communications ombudsman.

Sunday, 12 November 2017

Virgin Media - Poor Internet Speed Measured

Phase one of my plan is now complete, I have monitored the speed of my internet ALLLL day, from just after I got home in the morning, through until just now.

No-other unit or device was being used through from around 4pm until just now - the wife and I went to watch the new Thor film at the cinema - so, how can Virgin Media explain that clear throttling down mid-afternoon...

It is awful and far below anything listed on their website, utter and total garbage speed.  Yet we see a general level of 25+ for most of the day

You will need to click this chart to see the image close up.

My data points were taken with my script - see the previous post - every 10 seconds, it has generally used resolved to the Server in Leeds.

The time markers (green) were added by myself, artificially, by eye.  But they give you the gist of the time, and I will also upload the raw CSV somewhere...

I am now going to hit twitter.



Edit - This is fabulous, I've just gone to the link I was provided to send info to Virgin, and this is what happens....

That was the page I wanted.... And the same message appears if one tries to see the local service status!

This really is getting criminal, no-one would be able to run a business on this kind of service, no-one could perform research or educational activities, and I can't work in my technology areas of interest at all... And complaining has resulted in nothing but indifference and stagnation.

Friday, 10 November 2017

Virgin Media : Poor Internet Speed Misery

You know that moment in Misery where Annie (played by the excellent Kathy Bates) raises the lump hammer to Paul (James Caan's) ankles?  That hopeless moment, where you know what's coming, and she's determined this is the best, and he's helpless to change things....


Yeah, his feeling at that moment is the same feeling I get whenever I try to solve my service problems with Virgin Media.  I've tried in the phone centre, they either won't talk to me, or deny I'm an account holder - the account being in my wifes name, but I'm a registered up user of the account etc etc.... Or they simply deny there's an issue....

"I can ping you now sir"....

Really, a few ICMP packets get through and you think it's a-okay do you?

Or I get told, reboot your superhub...

Or variously asked "are you on wifi or wired"... It makes no difference when the speed recorded by either is less than 2mbits!!!

And I've just been told in a reply on twitter "If you have been told about an Area Issue were you given an estimate as to when the issue will be resolved"... I've not been told anything about any area issues, nothing, nada, zip.

Therefore I'm still not best pleased, remember I went down from paying through the nose for Vivid200, as I never ever got anywhere near 200mbits/sec ever.  I did record regular speeds of around 34 to 50 mbits, therefore the safer, more cost effective option was to pay for Vivid50.  Simple, see, simple logical option, if they can't meet the expectations of their own service, play the system at it's own game.

However, it seems that in reality, Vivid200 should be labelled Vivid50, and Vivid50 itself should be called Vivid1... Because breaking the 1mbit/sec barrier seems to be too much for it.

I have therefore decided to create something anyone can interpret, a chart... Managers love charts... People can interpret charts....

This chart is going to record the internet speed (recorded from my linux server, on my wired Cat5e directly to my 1gigabit router, which is directly wired to the Virgin Media Superhub 2 set into Modem Mode).  No wifi, no confusion, no bull, and my router has pfSense, so I can see there's no shenanigans, just the pure speed through put.

I'm going to record the speed with "speedtest-cli", which you can see yourself how to install here.

I will collect my results by running a python script, which runs the speed test and outputs the time, the upload and finally the download speed into a CSV file.

Find the source on my github... 

import subprocess
import time
from time import gmtime, strftime

# Open a simple text file for writing the result
resultFile = open("speedtest.txt", "a+")

while True:
# Header text & placeholders for our result
print ("Starting Test...")
timeStr = strftime("%Y-%m-%d %H:%M:%S", gmtime())
downloadSpeed = ""
uploadSpeed = ""

# Action the process to test our speed
# capturing it's output
result = subprocess.run(['speedtest-cli'], stdout=subprocess.PIPE)

# Process the output into text & split the text
# at each new line character
btext = result.stdout
text = btext.decode('ascii')
lines = text.split("\n")

# For each line, check whether it is upload
# or download
for line in lines:
# For Download, take a split against space
# and the middle value is the speed
if line.startswith('Download: '):
speedParts = line.split(" ")
if len(speedParts) == 3:
downloadSpeed = speedParts[1]
# Likewise for upload, the middle  value is
# the tested speed
elif line.startswith('Upload: '):
speedParts = line.split(" ")
if len(speedParts) == 3:
uploadSpeed = speedParts[1]

# Print our output result as a CSV
print (timeStr + "," + downloadSpeed + "," + uploadSpeed)

# Write the result to a file also
resultFile.write (timeStr + "," + downloadSpeed + "," + uploadSpeed + "\r\n")
resultFile.flush()

# Count down until the next test time
count = 10
while count > 0:
# The line is repeated, so we use the end=""
# and a return carriage to print over and over
print ("\rTime until next test " + str(count) + " seconds", end="")
time.sleep(1)
count = count - 1
# Print a new line to stop the next text appending
# on the time count down line
print()

I will then load this CSV file into a spread sheet and create a chart, here's one I created earlier with 5 test data points.


The blue-line is where I'm most concerned, that is my download speed, as you can see within three minutes I had quite a difference, ranging from a high of 2.24 mbit, to a low of 1.23 mbit.  Upload speed has been more consistent giving a measly 3.5 to 4.0 ish.

I already know where VirginMedia will take the conversation, they will talk about "based on average peak time download performance".  However, I want to immediately counter that their speed information states that speeds are based around "Movie based on 4.1GB file size a single user and wired connection", and this chart is provided.... 

Average download speed at peak time (8pm to 10pm) the time's I have mostly messaged to them on twitter are sub 1mbps... Right now at just before 11am they are still reporting as extremely low.  And yes, this server is the ONLY machine on in the house, the wifi is off, the other wire into this hub removed, there is one wire to one machine and one wire to their Superhub...

And yes, I can get 1gbit disk to disk over NFS on this hub, the wires to and from it to the machines are perfect, and I've also swapped the wire to the superhub.

I'm going to run this for a few days, and see what speeds we get in the dead of night, or early mornings, and see if there is a pattern.  I have known for years Virgin will throttle speeds, however, their table of speeds is labelled "Average", one can only believe we're on the lowest ebb of that bell curve, and I am not a happy customer.

Bon Jour

I had a spike of viewers over the previous week, and they put a certain country on the map of my analytics for the first time.... France!


Wednesday, 8 November 2017

Software Development - All Areas Stagnation

It has been said by far bigger and better minds than myself, that if you sit still, if you don't continue to learn about new things and innovate you will stagnate.  This has been a huge problem looming within the business I work, certain things have worked since the industry sector was conceived and even though more than half a century has passed it has largely passed the internals of this industry by.

That is until very recently, where market competition has sprung up, the market base itself has reduced and so pressure is on... Nowhere is this more apparent in my industry than on the software, the front-line of pushing product to customers.

The trouble however seems to be that many people have stagnated, they've stuck with the safe option, the tools which work off of the shelf, I am of course talking about Windows, the entire tool chain that is used by 99% of the company is all Windows based, I am the man on the spot waving the Linux flag.

But just a few days ago, the Windows world had to come to my desk and see their future, I had to show technically minded folks around the code of the new system, introduce them to my imposed coding standard and update them from Microsoft Specific Visual C++ thinking to thinking about platform independent Standard C++ code... I had my work cut out for me.  I prepared the cleanest desktop environment I could (i3 on Ubuntu).


I didn't want to startle them, so the editor/environment is Visual Code from Microsoft... They started to look at the system, it's structure, how the code related to the design and the diagrams they already had, we started to follow the process flow diagrams.

It was a success, certainly no-one burst into tears, they saw the kin-ship between this code on Linux and the systems they'd worked with for decades on Windows.

But then, the senior software manager leaned down, peering at the screen, and he said some fateful words...

"I've never seen that before".

Is he talking about some piece of C++14 or C++17, the lambda's, the auto's, the shared_ptr... What technical bolt has he not screwed his nut around?


"That's very good, you can see the whole code layout.  I've never seen that before, who did you say wrote this tool?... Really Microsoft, I've never ever seen that before".

This chap uses Sublime, I've seen him using Sublime... Which does exactly the same thing....


What is the lesson to be learned? When we're talking about stagnation in software we are not only talking about the language, but also the tools, and then not only the IDE, the whole environment.

Certainly I was introducing Windows users to Linux, and even then on an unusual minimalist desktop manager, but still the lack of connection between a tool I've seen people already using and what it was capable of demonstrated tools are not being leveraged to their full potential... Certainly learn your new languages, learn your language updates, but keep your tools and environment up to spec too...

Monday, 6 November 2017

World of Warcraft - Classic

Its happened, the announcement with not quite enough information, but it did happen and the WoW orientated internet has slightly melted over it, everyone and their dog on YouTube have posted opinion pieces on whether this "in development" service will fullfil their desires.  I have no opinion in that, instead I'm going to talk about my Warcraft Experience...

I first met the world that is Warcraft with "Warcraft II", which I remember my brother and I bought whilst on a trip into Nottingham, we bought it from GAME on Lister Gate, and talked about it incessantly as our parents made us trudge around Marks & Spencers, rather then rush home to play immediately.

We played this on our Intel 80486-SX2-50Mhz, with 4MB of RAM and a 128K S8 video card - VGA baby!

I don't remember finishing the game, I have to be honest, I don't remember it that much... However, I still have the game, the exact box we bought is proudly on the shelf, and has been visible behind me in most of my YouTube videos.  And in 2000 I returned to play the game in full, as I had played AOE2 to death, was vastly disappointed with C&C3 Tiberium Sun and so wanted to return to Azeroth.

Fast forward to the release of WoW, and a friend (Hi Paul) came to stay for the weekend, and he brought this game with him... And I walked under the trees of Elwynn Forest for the first time, killing pigs with his level 6 Dwarf Paladin... And I loved it.

The moment he went home on that Sunday evening, I went to the Asda superstore in Long Eaton and I bought the game, the original game, with the first edition of the manual... Many years later I threw this away, when I moved house, I still kick myself for that, and remember distinctly looking at it all in the bottom of the empty dustbin...

But at that moment this was brand new, and I set up my account and went to it... I didn't understand my friend would be on a completely different server to me, so I just allowed the game to pick any server it liked.  I wanted to play and adventure in the game, so I picked the what I thought of as the "single player" option... PVE.  I did not understand what an MMORPG was.

Into PVE I stepped, Allience, Human, Warrior... And there I was, I remember I played three evenings around Northshire Abbey alone... Just three evenings, about 2-3 hours, maybe 6 hours played total, just to finish the Northshire Abbey quests and then I was sent by this NPC to "Goldshire"...

There were no loading screens, I thought I had moved from one zone to another when I left Northshire, I saw the section of map discover, and I thought this is huge - whilst only looking at Elwynn on the map.... And then I right clicked..... And the map stepped out... These slabs of undiscovered map... Darkshire to the south, Westwall to the West, Lakeshire... OMG this is a continent.

And then I right clicked again.... Two continents, two whole continents... I was a very small cog in a very large world.

The the server crashed, this was a three-four days after release.

When everything came back up, I set about questing, and I overwhelmingly remember it taking so long, like a week into my experience I was wearing all white gear from quests, and was eyeing up an Axe - purchased from an NPC - for 10 silver.  Which was a hell of a lot of money.

I remember playing with a friend who had rolled a Paladin, when he sat down to drink, I sat down to drink, I didn't understand what drinking did, I didn't read the tool tips, I was so naive.

A week further on, and my hours sunk into the game expanded and expanded, I was sleeping less and playing more, I used to drive home from work at 12noon, play 30 minutes, not eat, then drive back to work... Where I would leave the second it ticked past time, to get home and play again.

I soon had more friends in the game with me, and I helped form a guild... "Arx"... Named for the Latin word for fortification or castle.  I designed the natty guild tabbard in dark royal blue, a white tower on the chest and suitably lush borders... And we started to level.

I hit 40, and thanks to my side-line of mining - selling stacks of copper bars for 10 silver in general or by mail - as I didn't know where the auction house was - I'd not been to Ironforge (the only place there was an Auction house at launch!), but I hit 40 dirty poor...

I set about that evening going further afield, I travelled to Stormwind and then through to Ironforge, and I found more and more quests, I found the auction house, and saw I could sell the copper stacks I had for 35 silver each, 50 silver as bars... So I did, and made money for my mount so much more quickly.  Back to Eastvale I went to train and buy, a brown mare whom I always referred to as "Nelly".

And I travelled the world, meeting new people... It happened in the swamps outside Theramore, I met a night-elf.  The first I'd ever seen, she was a hunter, level 32 ish, and running... I was mounted, I didn't know any different, this was a female character... I spoke to her, and she spoke to me, we quested together... She joined my guild... THANK GOD she actually was a women... (Hi Sue).

I fancied the pants off of this woman, and rightly so, I saw a picture a while later (grrr baby, grr), I made the mistake of that same assumption before... Not so much fancying, but wondering... "Is that actually a dude?".... (Hi Nick, aka Eve - lol - yes we wondered for a long time mate, before you joined vent!).

The trouble then started really, you see I was a warrior, and the guild main tank, and I was struggling and pushing myself to level and gear up... The first little niggle was my co-guild leader (Hi Chaplain) was also a warrior, so there was a little trouble there that what I had, he had, what he needed, I needed.  This was solved later as he rerolled to a rogue, but we're talking very early vanilla, and having two warriors was a pain.

We also vastly lacked casters, we had a lovely priest (Hi NW), but he would never come into vent, or certainly never spoke, making it hard to dungeon - however, he was a world class top notch priest.  We had the lovely Sue as her Hunter, a Paladin (aka Nick), Chaplain in his Warrior or Rogue.  And then a rotation of different team members, we had a Druid (Hi Hlaalu), we had a warlock (whos name I forget) and that was about it... For a long time.

A friend from work rolled a Dwarf paladin I think, and he got very very drunk and that caused a fraction between WoW in my down time and my work life, so he left the server to play elsewhere.  We then had a few other paladins come and go, and then another female warrior - but she often wondered off to play Horde... True Blue represent, we ain't dealing with no half-Hordies here.

Mage and Warlock were always missing from our group, and it showed.

But we did get Strat and Scholo on farm, meager progress, but we had it on farm, we could go there over and over.  The next chapter of drama was about to burst all over me, a few of the folks in the team were not really grasping the idea of progress, about gearing up, some folks would go spend two or three hours skinning or picking herbs then go sell them, or skill up, and wonder why they were still taking a load of damage - inspect, because you're still wearing level 40 gear, you're level 58.

Another person took an aeon to get from level 57 to 60, and when they finally did break the level cap, they were too busy farming gold for an epic tiger mount... To be frank it all got slightly derailed, but I had pretty nice gear, and kept increasing it by going PVP Battleground farming... Knight Captain, thank you very much, gave me boots and leggings and some other bits to augment my gear, sadly though I lost the plot here, I fell out with Sue... I fell out with a bunch of other folks, and basically kicked them out of the guild.

Chaplain and I re-rolled new characters, I think Nick did too, and we later swapped to a PVP server.

I never enjoyed another Warrior like that first one ever again, I never met as good a healer as I had in NW the priest again, and PVP started to take over.... I rolled my own Hunter, and outdid Sue's progress - basically as she'd moaned she couldn't gear up, I got a full tier 1 (as it was then) including the cap and bow of bones form dark-master gandling, and the chest piece form General Drakkish, I had the full set... Just to point out - spend your time and you get what you want... And I did this before she'd progressed further.

I'll be honest, it was petty, but I fancied her, it was all I had to brag about - look at my gear - eyebrows waggle - I look back on that boy and laugh now, but that doesn't mean I don't miss that kind of playing, and as you can see from this text, I still know so much about the game at that time.

I miss being the sort of thotbott for the guild, literally, anything vanilla and Alliance, and I could pretty much answer on the spot.  I had learned the game.

As BC dawned I ventured as my hunter into the new lands, and I enjoyed them, but I also started my favourite of all my characters, a female human mage... Yeah rocking the female toon now... and I went full fire, never frost, I levelled for 1 to 70 in about four weeks full fire, in every dungeon I could get to, and I got into the level 70 PVP world, especially in AV and WSG.

I also re-rolled a new Hunter, a female one, which I also levelled quickly to 70, and I played DPS classes, no more tanking from me, though I did have a level 70 warrior for the good-old times.

I was mid-way through the vast and complex attunements in BC when Wrath was announced, yes I was not a progress attainer in BC, I just enjoyed it, thoroughly.

I never high-end raid in BC, I tried sun-well a little before Wrath came out, but I said to myself I would try to Raid in Wrath.

It never happened, I took my mage, blasted through the PVE to get to 80 and went dungeons and collecting my marks, and just went full on PVP.  I had a lovely full set of Gladiator gear, when it was very hard to get that.

However, I hated arena, I hated the starting of the crossing of realms, I hated that everything felt the same.  I loved the game, and still progressed my hunter to 80, and then started a druid - who strangely got a full set of tier gear raiding Black-temple as a level 70, but I never level capped everything.

I did Gruuls lair with a guild I had joined, fell out of love with the game, and stopped playing long before Wrath's era was over.

Since then, I have played on Nostalrius, but I missed my team, I missed the feel of my original server.

I fear that many of us have rosy tinted glasses when it comes to Vanilla, what I miss is the server, the knowing everyone, the need to know everything and travel, the RPG aspects.  And I can't help but think today players want instant gratification, they are not going to await for travelling to get somewhere, they are NOT going to want to plan their hearthstone and flight routes for optimum action in a quest hub, they want to point, click and win.

Will Classic servers work?  Perhaps, will they be Vanilla servers?  No.  That time has passed into legend.

Sunday, 5 November 2017

Virgin Media : Poor Internet Speed

I'm continuing to have my issues with Virgin Media, let me explain.  Last month I came to them asking to remove the superfluous junk offering items, as I was simply paying more for items I didn't use, want nor need.

They could not help, in fact they flat refused to, so I cancelled 66% of my services off completely, TV, Phone all gone and never ever to return - well done them...

The next item was the 200mbit broadband I was paying for, below is a historic speed test I carried out a lot, as you can see I never, ever, got near 200Mbit, but I always got over 50Mbit...


Being quite a logical person therefore, and based on this evidence, this proof I had for myself, I downgraded the internet from the Vivid200 to Vivid50, i.e. 50mbit... Yeah, save money, it can do 50 mbit easy, right... Right... RIGHT?.....

WRONG.

This is tonight's speed test...


Last night it was slower than that, I had a download speed of 1.22mbit, and upload of 620K.

Yeah, rocking the 1990's internet speed.

And I'm utterly sick of it, I'm sick of paying for a service I never ever get.  It may have been optimistic, maybe even naive to think having seen 50mbit when paying for 200, I would get 50 when paying for 50, but clearly something has gone astray here.

Clearly, Virgin Media are up to some shenanigans, be that throttling, load balancing, whatever term they want to give it, or even what ever they want to say in denial, but I'm observing this poor speed, I'm enduring this poor service, and I'm utterly and totally frustrated with the script (I would say expert system, but it's clearly a script) the people in the call centers follow.

This is NOT my equipment, this is not my network, this is their external speed, this is from their superhub 2 and outwards, NOT the internal side of that connection.

That is a test through the newer version of Ookla (the site at the top) as you can see the speed is even worse twenty minutes on - BTW, note to Virgin Media, your own engineers use this site to do a test upon installation.


And here's the speed an hour after my original post... this is now 21:32 on a Sunday evening...

Thursday, 2 November 2017

C++ : Ignored qualifiers (-Wignored-qualifiers)

What is an ignored qualifier?  Well, in a class, lets have a student class:

#include <string>

class Student
{
    public:
        const std::string Name;

    private:
        bool m_Present;

    public:

        Student(const std::string& p_Name)
            :
            Name(p_Name),
            m_Present
        {
        }        

        void SetPresent() { m_Present = true; }

        void SetAbsent() { m_Present = false; }
};

Now, we may want to access the present flag, therefore provide a function to do so:

    bool Present() const { return m_Present }

This function is telling the user of our class quite a bit, it tells them that the return type is boolean and that the calling of this function makes no changes to the class  contents (const trailing the parameter list).

However, for me, this isn't quite right, I believe that we want to inform any user that the boolean returned is also constant, it does not change unless you alter the internal value with the "Set" functions, therefore I prefer and like to see code stating:

    const bool Present() const { return m_Present; }

This is perhaps overkill and most of the time completely acceptable code to present, however, some might prefer not to see it, specifically anyone defining "-Wignored-qualifiers" as with the "const bool" the const here is technically superfluous, the return type is boolean and a new instance of it, it is not a reference to the internal value, if it were the function may look something more like this:

    const bool& Present() const { return m_Present; }

Now we are intrinsically returning a reference to the internal boolean, or even:

    const bool* const Present() const { return &m_Present; }

For speed of operation we may directly drive the reference back as a constant boolean constant pointer.

I find this much more informative to the user, they know our intent, the code though more verbose communicates its meaning much more clearly.

As ever, yes I have seen questions asked of interfaces where "bool X()", or "bool X() const" is provided but then programmers have asked "How do I change X", with the const return, ignored qualifier or not, the know not to ask this function to change X and can look up elsewhere in your API.

Thursday, 19 October 2017

Gaming, AMD & HP

Over the next few weeks I'm going to be musing about the connections between the humble concept of the PC, where it started for myself, which processors and upgrade options I've taken, which dead-ends I've been down and where that took my gaming experience.

And where I hope to take my gaming experience in the future.

Today of course I'm running a quite nice Intel i7 processor and an EVGA GeForce 1080 GTX graphics card, however, that rig is nearing end of life for me, only the graphics card is a recent edition, and so as a high-performance low budget kind of chap I will be looking at my options, including the latest offerings from both Intel and AMD and the modern differences in nVidia versus AMD graphics offerings.

The secondary thread from this will be a little retro-grade gaming, this is not going to be full on retro - though I am in the mood for some Carrier Command on my Atari ST - we're going to be looking at retro post 2000 stuff.... Watch this space.

So why does this post have "HP" in its title, well... the community out reach team over at HP have sent me a missive, and though they have a zero budget want to share my posts with you guys in the world.

If you came here from a HP/AMD re-tweet, post in the comments below!

Monday, 9 October 2017

The State of Today (Sex Ed)

Lets take a moment to read this:


And realise that this is 2017... 

I'm not saying this to say, "OMG they're not teaching boys about this", but in 1989/1990... When I were at secondary school, we were taught about sex, and periods, and masturbation...

Yes, we were.  I admit there was an awkward moment with Mr Simpson (the Physics teacher - who used to yell - and smell) but he showed us a video and gave us the basics.

Then, in the lower school, there was a personal health conversation with Mrs Salisbury, where she talked to everyone, and explained how periods happen, they're natural, how much menstrual blood (on average etc) ladies deal with and all-sorts of things like that.

I was eleven, I remember it...

So why in 2017 are kids not being taught?... If I had to endure these jaw clenching moments, wondering my eyes around trying to not admit I was hearing this stuff, then damn it kids today should be similarly scarred....

Whilst I'm on the topic, no kids should be able to get access porn online... They need to go get a shot of boobies where I got it, from discarded copied of "The Sun" which have spent a couple of days blowing around the street.

Friday, 6 October 2017

Virgin Media's: Terrible Security

So, in a prior post I made you aware of the situation with myself and Virgin for my services, well... Whilst talking to them they wanted me to give them the "First and Fifth" letter of my security password...

I apparently got this wrong....

"Give me the fourth and the eight"....

I apparently got this wrong....

"Just give me the password...."

No.

This is terrible security, and I said this to them, I asked if they can see my password "yes".  So their system stores my password, in plain text.

I said to the chap "This should be stored as the salted hash of the password, not the actual password, and you should not use it as part of my accessing the account over the phone".  This is the password to access your account, your VirginMedia e-mail, basically everything.

Now, I don't know if this guy was fishing for my whole password bit by bit, or whether he was genuinely looking at the whole thing and just asking for letters, of if he just had some mask of it being shown to him which he asked me the solution to...

But the underlying system clearly stores the plain password, and that's just such a massive security flaw.

Wednesday, 4 October 2017

Virgin Media's : I'm Sick and Tired of You

I've had my broadband with only two companies in twenty years, NTL and then Virgin whom bought NTL.  I've had them at three addresses and never had cause to really complain, sure for a while I had a junction box which would fill with water whenever it rained, so cutting me off, but they sorted that quickly enough.

However, for the last year I've paid for 200mbit speed, super speed, being who I am I immediately started to monitor the speed, and initially I did get around 198mbit download speeds with a constant 12mbit up.

Unfortunately over the last four months that speed has dropped off and off, so much so that my automated server started to report 4mbit.  I tweeted VM about this, of course I received the standard line that this was my equipment.  I called them about it and was told that "over wifi you get much less download speed than you pay for", except I'm using Cat 6 over a gigabit LAN... "Cat what?" the operator asked, as I was simply no longer on their lookup script of replies.

In the end things came to a head when I also noticed that the TV package I was paying for went from a stately total of £50 a month to just over £80.  That's quite a hike, and I looked realistically at what we watched and found it not to be worth it.

The absolute soul cracker was my week away disconnected in Wales, where we had a freeview connected TV, and there was so much choice, right there, free to air.

We were both also sick of the recycled land-line number constantly rining with whoever only knows looking for past holders of the line for debts or catalogues or PPI, so much so I took up a distinct accent whenever answering my own phone to put people off calling.

So, no TV needed, no Telephone we just need basic broadband.

And the persuit began, I knew the name of the exact product I needed, I needed to go from Vivid200 Broadband to Vivid50 - why pay for something you're not getting - and that was it basically, the rest could go, but I thought I'd challenge them...

Now have you ever watched Morgan Spurlocks "Supersize Me!" and it's effect on the fast-food industry?  Well, this same effect is underway within Virgin Media, they upsell, they upscale, they ask if you want to supersize, and they simply can not ever stop doing it, you say "no", you say "stop" you say "less"... And they do not understand.

You're stuck calling a gaggle of people who are not native English speakers, sometimes to lesser or greater effect, and they do not understand you want less.... Three point manefesto in this conversation was simply... "Drop the telephone line, reduce the broadband speed and I'll listen about the TV for ease".

The lines which came back to me beggared belief... "We can not give you a lower rate on your TV without your having the weekend calls"... "Having the calls makes the package cheaper".

The saving through the package £6, the additional cost in the package of a phone line £10.99... So how was I saving anything?  That's right I wasn't, but on their screen the two HAD to go hand in hand, they could not, were unable to, untrained and not savvie enough to realise I had no need for and some concerns with the recycled number of the line we had, but they just could not figure this out.  Extremely poor customer service ensued.

"Your bill is so high because you had the McGregor fight" yes we did have that ordered, yes... "This proves my point, I'm paying for this TV package and still having to pay more to watch the items I want to watch, so where is the incentive for me to pay for the package?"

Silence.

There was simply no answer to this, the chap then passed me without asking, to a "supervisor", with whom I had to go through this whole rigmorale again.

I'd had 15 minutes of this online, 20 minutes with the first chap, and over a year of issues with the broadband speed and phone line, so I simply snapped... "Cancel it"

"Cancel the TV, Cancel the Telephone, and drop the broadband to VIVID 50 whilst I look for an alternative supplier"

The guy didn't even argue, he just did this, they are so blasé about their customers, we are such sheep, decades of supply are but nothing, they're not interested in you.

Ten minutes later I had started to investigate freeview or freesat to my fancy Sony TV... It has both.

Half an hour later I have over 600 channels on Freesat, with one wire now at the back of my TV, and no additional power usage from their slow TiVo.

The only thing the wife and I are missing is pausing live TV, however, I think the TV will do this with the addition of a USB Harddrive... And I know I have several of them lying around!

In conclusion, fuck you Virgin Media, sick and tired of you.

Friday, 22 September 2017

Thinking C++, rather than C

I'm going to be controvertial... Nothing new about that, but here is comes... Are you ready?

If you are a C++ programmer, and you are using sprintf, you are not writing C++.

There, I've said it, I can't take it back.  Obviously now, I need to qualify this statement, so lets begin.  Obviously, I am over simplifying, and C++ programs can contain calls to sprintf and still be put through the C++ compiler to receive working object code, so I'm not discounting the use of sprintf in C++ programs.

What I'm trying to tell you is that, if you are writing C++, designing C++, and sprintf is your goto method of truncating and outputting various raw data formats together as a string, then you are NOT thinking C++.

You are infact thinking C... Lets hear why this might be a bad idea...


Its about how you are thinking, you are not thinking in the skill-set you think you are.  And though I make a point about sprintf, I am talking about anything within C, if you happen to elect to use a part of the C standard which is not supported in the C++ standard you suddenly have a problem, and potentially derail your project.

And you don't need to worry about this, you don't need to get around it, program around it or turn hoops to achieve that perfect laminar flow in your code and project, instead you simply need to understand where you are crossing the boundary.

Thats easy when we talk about integrating a C++ program with Java or Python, becuase we have to bring in a whole other runtime element or library and we know we are interlinking, however, this cross-bleeding of C into C++ with no formal unification of the two is, in my opinion, more insidious.  Again Bjarne explains why, far more succincly than I can in the above video.

So, up date your way of thinking to lift your thinking into only C++ if you are writing C++, understand when you include CStdLib or CStdIO excetera you are pulling in a different language.

Therefore, even against many other programmers wishes, I will not use sprintf in C++ I will use streams to concatenate across lines of code:

#include <sstream>
#include <string>
const unsigned int c_Age(147);
const std::string c_Name("Xelous");
std::ostringstream l_oss;
l_oss << "Hello World, I am " << c_name << " and I am " << c_Age << " years old";

Rather than sprintf with "%s %i" formatting, because my solution is "more" C++, stronger C++ if you will.

Both sprintf and ostringstream usage achieve the same notional operations here, streams may even be slower, but I remove the over head of worrying about pre-allocating a buffer for the call, I remove the need to worry about deprecated calls or using "sprintf_s" for security, I drop the three decades of evolution in C and jump straight to the current C++ standard in 2017.


P.S. Some of you have asked where I've been for so long without any posts, well I've been in the deep dark depths of Wales, firstly with work, and then ironically I returned with the wife and dogs on a holiday, which was totally disconnected, no mobile, no internet, I read a few books, watched a lot of DVD's and TV, and I recharged my cognitive batteries after eighteen months of strife, but I'm back!