Never say "yes"

You have seen the news story I am sure, on Telegraph (don't they check their sources?).

Police warning over scam callers who ask 'Can you hear me?'

Well, "I can hear you..."... But, which police force or authorities sent this warning?

What is odd is this is promoted on twitter by someone selling call blocking services. @CPRCallBlocker. They were on BBC Radio 5, and oddly their spokesman actually said "yes" during the interview, so allowing millions of people to record him saying "yes" to frame him in a contract! Or, so he would have you believe.

My own lawyer actually made a "call recording" (here) to prove the point, and I should hold him to it as I would love the @RevK twitter handle. That recording is entirely constructed from (many) call recordings of calls with him in the past. Nice job editing it...

The point here is that contracts are formed when parties agree to form a contract, and occasionally, when there is a dispute, there may need to be evidence of the contract and the terms. That evidence can be in testimony, evidence in call recording, in signed documents - even in scanned signed documents so no actual paper. Many ways. Evidence in the way the parties behaved and acted even.

It is simple to get the signature of a director of almost any company from companies house, but paste that in to a document and try and sue for breach of contract and you will need more evidence than that. Analysis of documents and call recordings can find the fakes, and even simple things like I have, on file, all of the calls from which that was made and could find them as a counter to any claim to show the recording was "constructed". At the end of the day a judge would decide.

What makes this even harder is scaling the scam - if you scam one person and do it well you may win - the judge may decide you have the "evidence" on your side, but it gets more and more suspicious as more people say "I never agreed to that", "that call never happened", and the scam falls down.

It also falls down on scale with one scam - make a call recording agreeing £1,000,000 for that twitter handle and that will be suspect and justify a lot of scrutiny and forensic analysis of the "recording".

At the end of the day a scam like this simply does not pan out, and the whole story pretty much has to be a hoax - maybe to sell call blocking services, who knows?

Please, Telegraph, fact check your stories. After all, you do not want to fall in to selling "fake news".

P.S. Neil has confirmed my side of that "recording" was all from a single call recording I posted on my blog some time ago, so anyone could have constructed that just the same. Well done Neil.

File sharing crime

As you will see reported, and a good ORG article (here), the Digital Economy Bill is introducing a 10 year jail sentence for the most minor of copyright breaches - things which have so far been a simple matter of a civil wrong for which compensation can be due. Until now, copying for yourself has been civil, much like trespassing is civil, and you could have to pay damages.

However, the wording is bad, and make anything that could cause "risk of loss" to the copyright holder a crime with up to 10 years in jail.

This is bad, but I have to say the full horror will not be with us until this is law.

At present, there are many things which are illegal. If you break the law you break the law, and could, if convicted, face penalties or jail time. However, there are very few things where the fact of the matter - whether you have broken the law or not, is at the whim of someone else.

Yes, if you break the law, and someone else knows, they could agree not to tell what they know in exchange for some money. That is a sort of blackmail. But at the end of the day you broke the law.

However, as far as I can see, there is no reason for someone not to sell a "licence" which allows activities which would not have been legal without one, retrospectively.

I.e. you "file share", but then the copyright holder (or their "agent", aka "troll") can say that they can have to sent to jail for 10 years for a crime, or, for a (not so) small fee, they will sell a licence that covers what you did, making it now "legal". Literally selling a "get out of jail" card!

What is 10 years in jail worth? Well, that is the issue, they can make the fee anything. They are no longer asking for compensation for a loss in a civil case, they are selling "not going to jail for 10 years". That is worth a lot more than the cost of a DVD plus legal expenses.

I pay for my films, but I know people who I am pretty sure do not always do so. It is somewhat scary that they could be on the end of such threats. I wonder if these trolls will also team up with loan companies to lend you the money to pay for the licence over 10 years?!


Engineering precision?

Printing more slowly, especially the first layer, can allow some improvements in quality. I printed this part for someone at the office, and you can see how it is made in more detail. Perhaps interesting for this that have not looked closely at 3D printing before.

The holes are 1.5mm diameter.

Some high resolution images...

[printed using ColorFabb nGen on a Lulzbot TAZ 6 with 0.5mm hot end at 200µm layers]


3D printing liability

We do 3D printing at A&A, and we have been really careful in the terms and conditions on this. We sell a service that is renting the use of the 3D printing kit, with staff to run it, and selling the materials. We don't sell the finished item, and we make it clear that the customer is the party that manufactured the item using our services. We even require the customer to indemnify us against any claims.

This may seem somewhat over the top, and I would agree, but the laws on manufacturing are scary!

We, if we were manufacturers, could be liable for all sorts of shit, not least of which revolves around copyright and patent and registered design issues, but also things like CE marking, and toy safety and food product safety. It is mental. No way we want to be involved in any of that. We are not "manufacturers" if we can help it!

We have done a few 3D jobs, and mostly fun things, and even some robot heads for a university project. Nothing that gets close to any liability. Long may it be so... A&A are pretty good at this if you want any 3D printing done.

But today I had an unusual job request, and it was one that made me think of all the possible liability issues, for me and A&A. What was unusual is it was a request from my grandson, age 8, and so not someone A&A could, or would, engage in any contract. This makes it personal!

This was the design brief...

To clarify - that is drawn on some cardboard and cut out. It is a "knife" or "sword" that he wants. Something related to a game or TV show. I know he is in to Assassin's Creed, but this may be related to some show called" Forged in Fire".

So I made a blade and a handle...

The blade is printed in 20% Carbon Fibre PLA, and actually very strong. The handle in wood filled PLA. The end result is quite nice. But to be clear, this is a plastic toy knife!

The problem is that the result is pretty solid and strong. I really do not know if it could cause injury or not. It is a "toy" for him. I "made" it as a toy, or did I let him instruct me such that he "made" it? If, legally, I was responsible in some way, it would be easy to have have him drive the computer and make him the actual manufacturer. Let's assume we did that, for now.

It raises a lot of questions - can a 3D printed "knife" be an effective offensive weapon? Who made it? What next?

Well, he knows to "be careful" with it. I think I have designed it to be "pretty blunt" at the tip to try and ensure it is not actually dangerous. As I say, it is a plastic toy knife.

But what if someone made something that really was dangerous? What then? This is not a simple issue.

Odd use of QR code

I was rather puzzled by an item in the post today (for someone else in the house) that had this on it...

It has a Royal Mail 4 state barcode for the postcode and delivery point suffix (the bit below the QR code). However, it is a lot smaller than the required size from the RM spec (as I recall) so is probably not actually doing any good.

But as it also had a QR code I was curious what that said - are RM using QR codes for postcodes now I wondered... That would not be a daft idea, to be honest.

Well, for start, the QR code is "bad". It does not have the required 3 units white border (quiet zone), though a lot of people seem to ignore that and it would usually read without. It also seems to have been truncated at the bottom by almost one unit, which is messy and could make it hard to read. That say, QR codes have a lot of built in error correction, so a good chance it reads on most readers.

What seems particularly special is the content of the QR code. It is the word "Scanned". That is it!

Seriously, WTF is the point of that?


Finishing touches

Software is hard - it is a never ending task, and if the specification is open ended, as is so often the case, it is really hard.

I have some (paid for) 3D printing software. Simplify3D. It is good, and works well with the TAZ 6. It shows one of the issues with software quite well.

Largely due to the fact I have been ill for two months I got a new 3D printer to pass the time and avoid real work a bit. It really has been educational.

The Simplify3D software is quite good, and not a bad price, but I have already had to make a few suggestions. It will be very interesting if they take them on. Here are the main ones...

  • The first layer of a 3D print is crucial - heated bed or not you need to ensure it sticks. The TAZ 6 is lovely, but even that needs help. I found there were loads of things I could adjust - make the print extrude wider or higher, do first layer in 0.4mm. All these seemed an annoying compromise as they changed what I was printing. What I wanted was the first layer to simply lay down more plastic. Well, they are flexible enough you can - by making two print processes, one for 0-0.2mm, and one for 0.2mm onwards, and the first can do say 1.5 times normal extrude. What I would like is one process and a "first layer extrude multiplier" option, please. They did not seem to want to change this, shame.
  • The "top" layer when it does not meet the edges can mean that it is printed in thin air over the spares infill (see picture). This is something Makerbot slicer gets right (mostly). They did not understand, but I have sent them pictures which may help. I hope they fix this, even if a config option.
  • Bridging (spanning a gap over thin air) needs to have something on which to rest, and they currently only cope with it going to the edge of infill and not over even the inner perimeter layer  - so you can find the top of a thin walled object has bridging that falls through. They seem to understand that one and are considering a change.
So, one of these three I would work around, but there was more.

I would have really liked some carefully tested settings for the TAZ 6. They have a TAZ 6 Single extruder profile, but it has ABS and PLA, and that is pretty much it. They do not have things like ColorFabb PLA/PHA, or Monsterfill PLA, or ColorFabb nGen, ColorFabb XT, ColorFabb XT CF20, or so on. I have had to spend hours making all of these profiles and testing them.

Do they have a forum for people to discuss and share these profiles, maybe that is the answer?

Now, this is  double edged sword. The fact I can in fact make the profiles is really good - I can fine tune the software massively, and this is great, but on the other side - why was this not done for me already (a paying customer)?

Then there are some real sillies... Like when the job finishes the print moves back (out of reach) while the bed cools, and then forward. Cura does the same. This is sensible, as taking off the bed before cool is, well "not cool", and (a) hot to touch the bed and (b) can result in warping the base of the print really badly. When cooled, it moves the bed forward to present the print to you. Excellent.

Except, during this time the hot end is cooling, and some plastic oozes, and then that hits the print as it moves forwarded, either impacting it in some way or sticking to it, messy. Simply moving up a bit at the end of the print is so simple a fix for this, so why not in there?

Thankfully (why is this not already the case?) if you can work out gcode, you can change it, as I have. Now the head goes up 10mm in the process. It also pulls back 1mm on filament before cooling to try to avoid the ooze.

Similarly at the start, there is a point after bed levelling where it waits for nozzle and bed temperature, and oozes, you then print, and this can leave a lump of plastic dragged around. I found on ColorFabb nGen, which can be quite sticky, this ends up in a mess on base of the print. A simple fix is 50mm of slow straight line extruding on the edge of the print bed at the start (like a Makerbot does, actually) to ensure we are extruding cleanly and any ooze is caught up and out of the way. Again, a bit of gcode to fix.

Once again, why do I have to mess with the gcode when it is obvious, but once again, heck I can mess with the gcode and fix this myself without raising a ticked and waiting... Yay!

I really do see how this equates to a lot of software, and putting "fixes" in the hands of the users works both ways. This is a great way to make the users responsible for the fine tuning, but it is important to also try to get the defaults and starting points as good as you can... A lesson for all of us in software.


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.

Update (23Feb)

I have now tried a range of ColorFabb materials, and in summary...

  • PLA/PHA Easy to print, slightly softer / flexible, can warp printing large items
  • XT Harder to print, indeed I had issues on bed levelling. Very hard and shiny surface, high temperature, food grade, may be useful, but I struggled to get a nice clean print.
  • PLA+metal prints just like PLA, but is heavier and so somewhat more expensive than it looks (sold by weight) - needs finishing (some good videos on youtube for that) but interesting results. Surprisingly good at overhang.
  • PLA+wood prints just like PLA, but result is very much like carved MDF with fine texture and looks like wood. Not tried cork yet.
  • XT CF20 Actually not that bad to print, hotter as is XT, sticks well to hot bed, very black matt finish, and result is surprisingly flexible as well as strong. I did have issues with printing fine detail. I was surprised how flexible to be honest, but still very string - could make a good mobile phone case I expect.
  • nGen prints quite nicely once you have settings right (bridging was fun). Very "clean" print. It can be "sticky" while printing and so initial print shirt/brim needed tweaking as can end up dragging a bit of sticky filament at start. End result feels really solid/strong, maybe a bit brittle but hard. Sticks very well to hot bed whilst printing.
I actually think the nGen will be the winner over PLA/PHA or XT to be honest, but need to do a bit more testing. Obviously metal/wood work well where you want that aesthetic effect. The carbon fibre would fit some specific applications I expect, when you need something strong and flexible.

Next step is probably to try a print of a couple of classic things that are tricky, and see how each copes. Then I can blog in more details. My key tests for are a DALEK and a Twisting Valentine's Heart. It will be a while before I find time to try each material with these, so watch this space.

Update: And here is more in a video...


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.


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!


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...


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.


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.


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

ISO8601 is wasted

Why did we even bother? Why create ISO8601? A new API, new this year, as an industry standard, has JSON fields like this "nextAccessTim...