Tuesday, 21 February 2017

Protect me, not yourself, Barclays...

So sick of banks pretending they are protecting me.

There are ways they can protect me, but in most cases the possible "fraud" for any of my cards involves the bank being defrauded, and not me.

They are the ones that are lied to by a fraudster pretending to be me. It is rare, but could happen, that someone lies to me. It is almost always they (the bank) are that are victims of fraud and that is what they protect.

Stop asking me to spend my time helping you for no consideration - I want paying for every time I suffer this inconvenience and HELP YOU, my bank...

Reminds me of the classic Mitchell & Webb.

3D printing materials

When I were a lad... OK, well, maybe just a few years ago when I started playing with 3D printers, there was PLA and ABS to play with.

Now there is a lot more, and interestingly the "quality" of the various plastics you can buy really does matter.

PLA (Polylactic Acid) is one of the most common, and usefully it is biodegradable and generally made from renewable sources, so all good. It tends to melt at around 150C, but will be soft well below that. So not ideal for all applications.

ABS (Acrylonitrile butadiene styrene) is your more conventional plastic used in all sorts of toys and so on - things like lego bricks are made from ABS.

I have been plating with some plastic :-)

ColorFabb PLA

I have to say that one company stands out in this market as far as I can see, and that is ColorFabb. I have tried several makes of PLA so far, and you really can tell the difference with the ColorFabb plastic. It is just better and more precise. I printed a model I made recently recently all in different colours, and that meant using lots of different samples and reels I had from different suppliers. It is an educational toy for my grandson. The blocks stack up in order and are all printed from PLA. The ColorFabb blocks fit perfectly, the others are stiff, and not as good. Something is different between them.

The ColorFabb is perhaps a tad more expensive, but they even do some bulk/cheap spools as well. And the range of colours they do, as you may guess from the name, are impressive. I don't have the whole set, else this stack would have been a lot easier to make!

But it all starts to get interesting when you go beyond simple coloured PLA.

ColorFabb XT

ColorFabb have some interesting materials including their XT which is a higher temperature and higher strength and apparently food grade. I have been playing with settings and managed to get things printing reasonably well with it, but have found a snag with the TAZ 6 and the ColorFabb XT! The plastic seems to ooze out of the nozzle during bed levelling and seems almost impossible to stop this hence the bed levelling keeps failing. This is crazy, I know, but that is what is happening. Obviously the first thing I printed had some of the previous PLA in the nozzle to push out and was fine, but the second thing I printed was a nightmare. Solvable, but a challenge. Apart from being stronger and higher temperature tolerant I am not that convinced the XT is as good as the PLA.

ColorFabb nGen

They have also come up with a new plastic (also Eastman Amphora) which is apparently very good. I have had some challenges getting the settings right for this, and still working on it. But it does seem quite good. It only costs about 50p a reel more than the straight PLA. Again, and impressive range of colours available. One of the issues with printing is the temperature stability - when things cool they change shape. This could be a really good answer to that.

ColorFabb Metals!

Yes, metal! They do PLA with bronze, copper, steel, and brass mixed in. What struck me, and should have been obvious, is how small the reel is as it is sold by weight, and metal is heavy. It prints like normal PLA, but apparently can wear the nozzle somewhat. You can feel how heavy it is even in the printed model. The trick seems to be to use metal polish on the finished model to bring up the metallic surface and shine. You can make a bronze bust that looks like a bronze bust!

ColorFabb wood

They also do wood filled. Well... wood, bamboo, and cork. I have only used the fine wood so far and the result is like something carved out of MDF. It is quite interesting - more than simply a different colour.

ColorFabb Carbon Fibre

And finally - one I have yet to try - carbon fibre filled PLA. I have a reel here - it is apparently somewhat wearing on the nozzle, but is strong, and very black.


I am currently working on trying out the nGen and PLA ColorFabb stuff, getting the settings right and working out which gives the best results. I suspect the nGen when I have it right - currently a slight issue with "bridging" over a space in the prints. Both are very consistent results, very good results, the best kind of results, bigly, and consistent colours (sorry). I am impressed. I am sorry to say I am not actually so impressed with some of the other PLA suppliers.

Anyway, this gives us a good range of colours and materials for the 3D printing services we sell, and some expertise and experience to back that up.

Saturday, 18 February 2017

Snooper's Charter and LINX

Update: (at the top to be clear)...

As expected...

LINX have confirmed that the governance discussions are totally unrelated to IPA and intercept on the basis that such laws apply regardless, and gagging orders apply. The good news is LINX have been taking legal advice to understand how they would handle such orders, and if they can provide warrant canaries (which they feel they cannot).

Original article:

As reported in the register, and LINX reply, there is concern over some of the changes to the way LINX is governed - a matter to be voted on this week at the LINX96 meeting.

For those of you that do not know, LINX is a major UK peering point - it is a network infrastructure mostly in London (the "L" in LINX) that connects lots of Internet providers together and is used by everyone that accesses the Internet in the UK a lot.

This is a serious matter - what do all of the secret / gagged orders in the Investigatory Powers Act mean for a membership organisation like LINX? Could it mean secret orders that a handful of people know if implemented in order to spy on member's traffic? Every member is a part of LINX!

Well, what I am told is that is not the idea, but I am concerned that the changes could inadvertently allow such orders. We need to be sure of some transparency, at least, before approving them.

However, what it has hi-lighted is that we need some frank and open debate within LINX on the whole issue of the IP Act and the possibility of secret orders to snoop on LINX traffic. The same needs to happen at LONAP too.

So, personally, I am not yet up to speed on the changes proposed, and if they allow "secret" orders or not, but this is my overall view, so far. I expect to blog again once we have had some discussions during the week and the vote is over. It is serious stuff - my own staff are already asking if we should stay LINX members or leave, just based on The Register article, and we are not alone in asking this.

So what needs to be addressed:
  • We need to consider what LINX may be asked to do. This means lawyers and maybe even talking to The Home Office (maybe someone has?!). And we need to debate and agree in advance the way this needs to be handled with members.
  • We need to consider the level of transparency of any such orders, with members, and outside LINX. What if LINX M&A mean the directors have to discuss any orders with members? Is that good or bad? Does it make The Home Office re-think orders? What do they have to consider in asking for intercepts and data retention (collection)?
  • To what extent will LINX management challenge orders. Clause 87(4) tries to stop any retention order forcing a provider to monitor "third party data". But for LINX, anything over and above Ethernet MAC addresses is "third party data", so needs to be challenged via the appeal process and even the courts if necessary. I am sure LINX would get support from ORG and/or EFF on taking any such a matter to CJEU or the ECHR (whilst we still can).
  • What exposure does LINX management and even LINX membership have? Can management share "gagged" orders with membership? They have to be able to share to some extent with the techies making it happen, so there is scope, but how much transparency is allowed, and what are the consequences? Some of it is NOT CRIMINAL in any way in that no "offence" is defined in law - it is simply a "duty" not to disclose, enforced by civil proceedings (telling LINX "stop sharing this information" after it is already been shared). But even if shared with members, are members exposed if they share with customers or the press, and is that exposure for LINX as a whole or just that member?
  • In all of this I am making the huge assumption that LINX members do not want snooping by anyone - very much against the spirit of the Internet. If I am wrong and actually LINX members do want government snooping, we will be leaving LINX and so will many others. But we need the debate to understand if we do all agree on this position in the first place.
But ultimately, do any of us (LINX members) want to be part of an organisation that would secretly snoop on its members? I would not. Let's hope that is not what this is about, and we can move on with M&A changes in one form or another, and then start some serious debate and discussion with members on what will and must happen if the IP Act ever does come to bite us...

If this is all a storm in a teacup, then fine. We will soon see.

Friday, 17 February 2017

Pain killers

I have been quite lucky in my life in that I have not needed pain killers in general. The main reason I have ever had to take such is if I had a headache. There are many possible reasons for a headache (including the occasional hangover) and paracetamol has always been an effective way to tackle a headache, and/or reduce my temperature if I have some infection.

Of course there have been occasions where I have injured myself by way of a cut or a bruise but the pain is not usually a big issue, and I don't really recall having ever taken pain killers for such cases in general.

However, over the last few weeks, things have been somewhat different. I have never had a broken bone before. However, with this cough/cold "virus from hell" that has lasted a couple of months (and is finally diminishing) I did manage to cough hard enough to "do in" my ribs, somehow. I cannot really tell if I just "pulled a muscle" or actually cracked a rib, and I don't have much of a reference to know. All I do know is I was in absolute agony when it happened, could not move, had problems breathing or talking, and (as it was at the office) staff called an ambulance. This was about a month ago.

They put me on gas and air, and said I would feel somewhat "high" or "drunk". Well, it worked to diminish the pain. They gave me ibuprofen as well and that helped. I was prescribed co-codamol (codeine and paracetamol), and so was on pain killers for a while. I also had Valium as a muscle relaxant. A couple of weeks later I managed to do the same on the other side of my chest (no ambulance this time).

So I have been on pain killers for a few weeks now, and had the chance to experiment a bit on how they work. For a start, the codeine does bugger all. I was told I'll be "high as a kite", but to be honest it is no different to just taking the paracetamol, which is what I am now doing, with ibuprofen, every 6 hours.

The pain killers do work - they make the pain in my ribs bearable, now. When this started they helped, but I still could not lie down and so ended up sleeping on the sofa partly sitting up. If I don't take them, then it starts to get very unbearable, so they clearly do work. Overall it is gradually getting less painful, thankfully. Interestingly, the ibuprofen seems to suppress my cough - just taking paracetamol does not. Yes, the scientist in me means I have tried taking one or the other only and even not taking either for a while, just to see how it goes. I am not really that happy being on pain killers, and will be glad when I am back to normal (which is happening slowly).

What struck me today was that this is quite unusual for me - pain killers for such "conventional" pain, as opposed to something like a headache. It seems wrong somehow - the pain is telling me something - not to lie in that particular way, for example. If I don't feel the pain as much, I may be doing myself more harm than necessary and not realising it. This seems wrong. However, I cannot do a lot to avoid a cough, and avoiding the pain from a cough is a good thing! It just seems wrong to avoid pain from "doing something wrong" in terms of my position or movement if that means I "do something wrong", if you see what I mean. Pain is there to tell you that you are "doing something wrong", after all.

There are those that spend much of their lives on pain killers for something, and they have my sympathy. This is a strange state to be in, and one, for me, that is very much temporary.

However, having wondered if things were better enough to stop taking pain killers, and now realised that is definitely not the case, writing this blog has given me time for the pain killers to "kick in" again and I can perhaps get back to sleep.

Good night!

Wednesday, 15 February 2017

More on OpenSCAD

This is a bit more on OpenSCAD, using the Valentine's heart as an example. This time, the "nub" which constrains the movement - you can turn the heart 180 degrees. When in a heart shape the lids are locked together. When in a lozenge shape the lids won't open. That is because of a small nub each side.

We have some variables, nubd1, nubd2, nub which are the diameters and height of a conic shape. The $fn means the surface is quite smooth. I'll explain "w" later.

It looks like this...
We actually stick this on a surface, and it is a good idea to have a base in to the surface, especially if the surface may not be flat, as you'll see. So lets add a base and make it a module.

Now it looks like this...
So lets stick it on the side of the heart, like this...

We'll put one both sides, and have it go in to a "track" on the other side. This means these nubs have to be slightly offset else the simply hit each other. But how do we make the track?

Well, an obvious thing to do is use the rotate_extrude function, but that works on a 2D outline, not a 3D shape as we have, so we can use projection...

Which looks like

Now we can rotate it.

We can cut that in to the side of the heart using difference, but it is exactly the same size as the nub, and that is where "w" comes in - it is an extra width to add to the nub, meaning we can make a slightly wider track.

But we only want the track to be 180 degrees. Sadly rotate_extrude does not have an angle limit until a later version of OpenSCAD, so we can cut it in half using difference and a cube.

The edges end up rather harsh, and actually the nub will not manage a whole 180 degrees like that, so let's add a nub shaped hole at each end as well. The "right" argument is used to tell the module which side we are working on, as each side is slightly different.

If you are watching closely you will see I have used a different function nub() not nubshape()... Well, that is because I want the nub itself to be slightly different - I want it to be wider so it is stronger.

I want to stretch the nub within the track, rotate it a bit - but again, rotate_extrude does not have angle yet, so I have actually just made two hull sections with a few degrees rotation. It comes out like this...

And, of course, as I use nub() for ends of the track/hole as well it makes sure the track is the right length as well.

And that is just one of the small details in the code for the heart box...

Monday, 13 February 2017

TV has changed

TV has changed! I have noticed this, and so have others.

In fact it is the way I watch TV that has changed really. I have a TV in my "man cave" where I spend most of my time, but I have not watched anything like traditional broadcast TV for over a year now, not even Sky. There is one small exception exception of when I was on TV and wanted to record it. Even that, the last few times, was not actually done using my TV - instead someone managed to capture it for me, or the TV station provided a link to youtube, etc. For a lot of people, only watching TV when you are on it is not watching any TV!

I do watch TV, and I have TV in the background, but it is Netflix or iTunes.

For news and current events I catch up on Facebook, Twitter, and so on. I do not watch TV for that.

For background I have some TV series on Netflix with the annoyance of ever few hours clicking that yes I am watching still. I have just finished ignoring Voyager, the whole series...

For more direct entertainment, that I actually sit and watch, I have iTunes and Netflix, and some newer films and TV shows. Some I still watch, but not traditional broadcast TV in any way.

Seriously, if not for my wife and occasional grandchildren watching live TV, or iPlayer, I could ditch the TV licence. She pays for it anyway!

The world has changed, and as an ISP that is important to us - we see more and more streamed video as main IP traffic. The world is changing is many ways, and it is interesting to be a part of it.

Saturday, 11 February 2017

OpenSCAD with some heart, and balls!

There are a lot of tools for making 3D models, and if you have a 3D printer it is useful to have some of these. One of the most useful tools I have found is OpenSCAD. There are many types of tools, some more artistic, some scanning, but OpenSCAD is an engineering drawing programatic tool that lets you create 3D objects using code.

There is a a Secret Heart on Thingiverse which is really excellent and creates a complete object that then twists between a heart and lozenge shape, locking the compartments that only open when in the heart shape. I was always impressed with it and it "just works" on the Makerbot replicator 2. I tried it on my new TAZ 6 and it did not quite work, which is unsurprising. They publish the OpenSCAD file and I tinkered and did not get far, so in the end I decided it would be a really good learning exercise to make one from scratch.

There are a lot of small details in the final model, so I won't bore you with those, just some of the basics.

How to make a heart shape?

Well, let's start with a few basic constants :-

But how to use these to make a heart, well, a start is the basic "lozenge" shape. How about two spheres?
That does not look that good.

OK, let's use a hull function...

Better but not there yet... That is more a sort of medicine capsule!

How about slicing the top and bottom off...

Now, let's cut it in half...

Now things are looking good... Let's try the other half...
That looks like a heart!
But I want a hollow section of a heart, so let's make the module that creates each half have an "offset" and we can subtract if from the solid.
As you can see, making the outside transparent, the inner makes a nice hollow.

But this was not enough. I needed the hollow to have chamfered edges, else the thin wall would mean the slicer had trouble bridging the top, so how to do that?

Well, make it have an offset for horizontal and vertical...
Here I have shown the two versions with offsets overlapped. Not quite chamfered edge yet.
Let's make a hull and subtract that...
As you can see, with outside transparent, the inside has a chamfered corners as intended.

That is just the basic shape of the heart sorted, hollow, chamfered edges on inside. There was a lot more detail to add, to make joints and hinges and so on, but that should give you some idea of how OpenSCAD works for now.

The end result...

And yes, the moral of the story is that a Valentine's heart starts with a pair of balls...

P.S. I am used to coding, and usually with code there is a reasonably clear end point when it all works - apart from finding and fixing bugs. But this is more art than code in many ways, so I have spent a couple of days fine tuning the design and doing test prints - you really do not know when to stop with things like this - there is always some tiny tweak to improve it either technically or aesthetically, and there is always a way to test the limits of the printer.

Tuesday, 7 February 2017

3D print graveyard

As I posted, I have a new 3D printer. The Lulzbot TAZ 6 is much like the Makerbot Replicator 2 but with a lot of refinements. So now I am looking at the software you use with the printer.

With the Makerbot, you use their software. It just works, and does so very well. Some models need "support" material and some do not (you cannot print in thin air, so overhangs need support). But models tend to print well, and there are a lot of models designed and tested to just work on a Makerbot.

The TAZ 6 is usually used with Cura, which is free software and there is a profile for the TAZ 6 (i.e. all of the various settings) to allow printing in PLA, ABS, etc. It offers much the same in simple settings - fast/medium/fine print speeds, with supports or not, etc. Again, for most things, it just works.

However, Cura, unlike the Makerbot software, does allow a lot of advanced options. For a lot of people you do not need to touch these.

One thing I tried to print, what with Valantine's day coming up, is the Secret Heart Box (on thingiverse). This is a very impressive 3D model, which is designed to print on a Makerbot.

It opens, and can fold to a non heart shape. Quite clever, with hinges built in and printed as one.

I tried on Cura and TAZ 6 and it did not "move", the parts were fused. Thankfully they publish the OpenSCAD model, which, after some updating, allowed me to change tolerances, but still it tricky.

So I thought I would experiment with some other software, and have bought a copy of Simplify3D ($149). For a start, it is quicker and easier to use than Cura. The print preview is really impressive and quick.

Simplify3D has way more fine tuning options, and in fact has allowed me to make a much better "profile" for printing on the TAZ 6. What seems odd if the profile for the TAZ 6 as supplied was still somewhat lacking. Here are just a few things I ended up fine tuning...
  • To get the first layer to stick better I am heating the bed more (100C) just for first layer
  • Printing first layer slower (25%)
  • Printing first layer 200% thickness
  • Printing a brim at 0.1mm spacing for small footprint objects
  • Horizontal adjusts of -0.05mm
  • Extrusion multiplier 1 (why was default 0.9, odd)
  • Fewer base layers (2)
I also tried a few other tricks, and reverted them. One trick is printing at a small negative Z offset to force first layer in to the bed, and hence allowing 100% thickness, but that was not as reliable as just printing first layer 200%.

There are still many more features I could adjust, and I can tell it to print using different processes for different layers if I want.

Brims, Skirts, and Rafts

One of the things that 3D printing often needs is additional adhesion to the print bed - the TAZ 6 helps a lot by having a heated bed. In an ideal world you just want to print the model exactly and no extra bits (many models do not need support material).

However, if you are not careful the model comes unstuck during the print.

A raft is the normal solution on the Makerbot (I do not think it supports a brim). This means printing a thick layer on the bed (sticks well) then some thinner layers, then the model.

A raft is important if the bed is not smooth or exactly level. The TAZ 6 is very good with bed levelling and the bed is (so far) very smooth and flat. The Makerbot can easily be slightly off level and can easily be marked or pitted by previous removal of prints.

There are downsides with a raft. It sticks very well to the bed. Well, you want this while printing, but afterwards it is very easy to injure yourself trying to break the raft from the bed (on a Makerbot). Less of an issue on the TAZ 6 as the cooled bed tends to allow things to unstick. Also, separating the raft from the print can be tricky. and has same risk of injury! It can also leave some raft on the model which is almost impossible to remove. Rafts also use time and plastic, and for small models can be more plastic than the model itself! As a rule I dislike rafts!

A brim is a simpler solution. This is an outline, several layers wide and usually one layer thick that touches the model. This simply makes the base layer much larger, and is easy to break off after printing. Indeed, I have set it 0.1mm from model, which creates that slight weak point and makes it ever easier to separate. Brims work well but only really needed on models with small footprints.

If the footprint is big enough you do not need a raft or a brim, but you may need a skirt - this is an outline or some such that simply gets printed first to ensure the extruder is extruding and printing cleanly. The makerbot uses a long line at top of build plate for this, the TAZ 6 typically uses a skirt (outline away from the model).

Building bridges

One issue with all slicers (the software to turn a model to a tool path for printing) is where there is a lid on something, i.e. a print layer between the sides. You have to extrude filament to span over thin air from one side to the other.

The cura code coped with the top of the heart model perfectly, spanning over the thin walls each side.

The Simplify3D was stupid. It plotted the border for the top over the thin walls, and then tried to print the bridge totally over thin air, unsupported.  I had to tweak the model to make thicker walls so the bridge was supported on something. It tool several latest to actually build up a layer on top of a load of spaghetti, and even then it was not complete.

This is a poor design in Simplify 3D which Makerbot and Cura manage with no problem!

Time (and plastic) consuming

Each time you try something you can spend hours waiting for the outcome. It is a good job I have real work to do whilst it is printing another broken model for the grave yard.

Important tip: If you have a heated bed like the TAZ 6, always wait for it to cool before removing the model, else your perfect flat base gets all warped as you remove it, D'Oh.

Some times you can test something with a small test model, that helps a lot. To get the -0.05mm horizontal adjust I printed a small test cube, and measured it carefully.

P.S. I finally ended up with layer one done as a separate "process" for the first layer with 1.75 extrude factor (i.e. more plastic) but same layer thickness. This means not having to skip a layer by making first layer 200% thick.

P.P.S. I redesigned the heart from scratch - which was, in itself, quite fun. Just in time for Valentine's day. http://www.thingiverse.com/thing:2097443

Thursday, 2 February 2017

Investigatory Powers Act on EuroNews


This was the day I coughed so hard an ambulance crew was called - not sure if cracked rib or badly pulled muscle, but this interview was literally as ambulance crew and their "gas & air" left and before I was on the pain killers...

Wednesday, 1 February 2017


It is strange...

I was born in Worcester, and have lived in Birmingham, Chalfont St Peter, Slough, London, Harlow, Newcastle Under Lyme, and Bracknell. I think that is it. I may have missed some. The idea of moving is always a challenge but at no point in my life did I ever consider that there may be some reason I could not simply move. The hassle was renting or buying somewhere, and that was basically it, after getting a job (which usually came first).

For me the idea of moving to say, Glasgow, or Cardiff, or anywhere else in the UK all fell in to the same category. Of course I could. It was obvious.

To be honest, it only occurred to me, maybe 20 years ago, I could move somewhere else, when a friend moved to Finland. The EU has opened things up, and yes, until recently, I would have said that it was obvious I could do the same, or Germany or France or whatever. I assumed the language issues, cultural differences, and availability of Marmite would be my only issues really.

I always assumed moving to US or Canada or some other place would be harder and need a visa and becoming a national - emigrating, basically. I have skills and money so they would be possible, but would be harder, and I always assumed that.

Over the last year I realise some of these assumptions are not as clear cut.

  • Moving to US? Why the fuck would I right now? Why would anyone?
  • Moving to Canada? Interesting idea - but clearly needing some work, visa, money, something.
  • Moving to mainland EU? Well, yes, or maybe no - with brexit that could break once I have moved.
  • Moving to Edinburgh? I always assumed yes, but what if Scottish independence was to happen?

How long before moving to the other side of Bracknell needs a visa?

What is the world coming to?

Lulzbot TAZ 6 - when things go wrong

Too be fair, this has happened at one time or another with every 3D printer we have had, I even did a video for sorting it on a Makerbot Replicator 2.

Well, sadly, it happened on my new TAZ 6, and was basically the same. At the top of the hot end, above the cooling fan, there is a removable brass bush. If you leave a print jammed up, it carries on with the filament stuck. Eventually that causes a plug to form in the bush, and you are screwed. That bush is not meant to get hot enough to melt the plastic, so it won't clear when that happens.

The fix is removing the extruder assembly (one Allen bolt), and disconnecting the hot end assembly (two Allen bolts). This allowed me to access the blocked bush.

I removed the bush (it unscrews). A soldering iron helped as it allowed me to push a 2.5mm Allen key in and use that to unscrew the whole thing and remove the filament down to the hot end. The hot end had to be warm enough to allow it to be removed.

It could then remove the plug (some use of soldering iron, 2.5mm Allen key, and a pen-knife), and re fit. Now filament could feed all the way to the hot end.

I thought I was done, but trying to print still resulted in it jamming up. I stopped the print before another plug formed this time. I was stuck, nothing seemed to work. I adjusted tension on the feed roller, but no joy. It would feed, but too slowly and hence jam up and strip the filament with the feed roller.

The final fix was a very fine "beading" needle which my wife provided, 0.45mm diameter, pushed in to the (hot) hot end nozzle (which is 0.5mm) to clear it. After that printing was fine.

It is worth checking things like the size of the needle, obviously, else you could damage things. I have a nice set of digital callipers for that.

I can only assume some contaminant, perhaps from the 6 year old reel of PLA I was using, had blocked it in the first place. Always worrying when something is not quite plug and play.

I have a partly printed TARDIS!

I have ordered some new plastic, and we'll see how that goes. For now, the ABS I have is working well. A print of a pangolin is going well at 8 hours so far.

Even so, I am still impressed with the TAZ 6 and feel it outstrips the Makerbot Replicator 2 in pretty much every way.

P.S. blaming the 6 year old PLA I was using is not unreasonable. Since this, many hours of printing using ABS and new PLA, and no sign of nozzle clogging up at all. Back to being plug and play...