Freesteel Blog » 2013 » January

Friday, January 25th, 2013 at 2:34 pm - - Cave

Last Saturday we were mud mining again on Leck Fell, and got a slight draft from the dig above the wall of mud. While we were there the direction of the draft changed. Very mysterious.

Probably going there again this Sunday.

Overdone the programming this week, hacking up a variant of ScraperWiki, but instead it uses CAD libraries instead of scraping libraries. Maybe it’s called ShaperWiki.

Also have been attempting to watch the SolidWorksWorld videos Day 1 and Day 2 all the way through. I was there in San Diego this time last year, at the start of my big adventure and a whole lot of fun. Unfortunately the keynote addresses seemed somewhat pointless from this distance.

Betrand Sicot: That’s a full crowd ere, look atthat. Fantastik. Eu amaz urs. Eu kontinoo to amaz urs. Eu ar outstanding. Eu ar so kreativ that in fact if eu zink about it eu ar shanging ze wurld wilivin. [5:04] In December 2012 wi reeshed too mi-yon uzers in the solidwurks community. Let me give eu sum perspektiv. So if you stack on top of eech ozer too mi-yon DVD pack ejes it wel be sree times ze hiet of ze Mont Edverest.

Now, why would anyone want to do that? The answer is 8848*3/20000000 = 1.3cm per pack-ej. A more interesting figure would be how much does this add up to as raw revenue for SolidWorks, and what percentage of this actually went into software development (ie into the actual product). Where does the money go? Why don’t customers ever get it together enough to demand to be told. We finally started getting to this data with charities, because if people are donating to Computer Lessons for Stray Cats, there is no legitimate reason to hide the fact that 90% of the funds are actually going towards the director-general’s summer house. But customers don’t demand it. “We put 80% of your dollar straight into the development of the product which you are purchasing,” does not appear to be a winning sales pitch. It should be. Maybe it’s too abstract. At least when you are buying pop music you expect the guy doing the singing to get enough money to fund an expensive drug habit. You would be disappointed if they weren’t. The story about the money going to the pop singer is the official justification for the outrageous copyright system we now have. What happens when the pop singer is dead, as many of them are? Then it goes to their children, supposedly. What blind bit of good does that do? They’re not doing anything anyway and probably aren’t even talented. And even that disbursement is a tiny fraction of what you paid because the lion’s share is taken out on the way by administrative costs, like in those sham charities. Your eyes are on the pumpkin seeds while the whole pumpkin is carted away and eaten by someone else. It all goes wrong once you have a disconnect between doing the work, and selling the work. That’s why lawyers have it made — their work is sold one-for-one, on the hour. And then they cunningly ignore this category distinction.

Thursday, January 17th, 2013 at 9:19 am - - Kayak Dive

Went out with Liverpool Canoe Club on Sunday 13 January in mill pond conditions from south of the West Kirby marine lake to Wales by going due south with the incoming tide. (North with the outgoing on the way back.)

No photos of the journey (just the start and the end), because we were paddling all the time.

View Larger Map

We both much prefer the scorpio to the capella which is too wide and feels like some yoga stress position for your knees if you put them in the proper place. It is more stable, though I appear to have dented its hull by parking it upright on the garage floor with the other canoe on top of it instead of on its side for a couple of months. Tits.

The most common perambulation in West Kirby is around the edge of the marine lake where it looks like people are walking on water. It started to sleet as we packed up. Went to a cafe, then went shopping in Morrison’s, then went home to warm up by the fire.

In Cambridge now. The sister’s missing cat has been found after having been locked in a shed about a block away for the last 10 days until it screamed loud enough to be heard from her back garden. We can celebrate with the Long Strong Black Pudding song.

Monday, January 14th, 2013 at 6:56 pm - - Machining

Carl Bass (CEO of Autodesk) sent a global email across the company announcing that he had made it easy for employees to install and use any Autodesk product on their computer.

Really? I thought. It’s a little late for a tech company to wake up to the Eat your own dog food principle. Better late than never. One’s got to participate and not leave everything to the boss.

Quote from an interview with in 2010:

By using the software himself, [Bass] is also trying to anticipate customers’ complaints.

“You install it, and say, ‘Why did it take me 40 minutes to do that? Why did it ask me 72 questions?'” Bass said.

…Bass is trying to enhance the software, which costs thousands of dollars, to give it a slicker look and more intuitive feel.

“It always seemed a shame to me that we might sell a $5,000 piece of software that doesn’t look as good as a $49 video game,” Bass said.

So I installed said £5000 piece of software called Autodesk Revit Architecture 2013, and decided that a good project would be to make an architectual model of my sandstone house in Liverpool.

But how am I going to learn to use this software? I don’t know architecture so I don’t know any of those unwritten conventions that are part of the process. I kept getting these crappy pop-up dialog boxes telling me there was an error when I clicked [ok]. There are slicker ways to signal it. Though I expect if you were an architect who had just paid £5k for this software, you wouldn’t be making these sorts of mistakes. There’s no such thing as a beginners instruction manual for operating an electron microscope, is there?

I thought: Wouldn’t it be nice if I could find a dozen or so other employees across the company also taking part in this dogfooding program with the same idea, and we could all be motivated to press on with modelling our own houses and showing our progress, like a bunch of folks in a novel writing group?

There seemed to be no means of communication to solicit for such participants, so I tried a reply to sender on the email.

And got an email back from Mr Bass within minutes.

This is a slightly better response rate than I have had so far to my questions on the internal Ask CEO Staff website. These tend to languish for many weeks before a wholly inadequate reply that for reasons best known to themselves the CEO Staff are too chicken to allow to be posted. I mean, what kinds of questions do they expect people to ask?

Anyways, having bothered the boss, I might as well try to carry this idea on.

After playing with the software a bit, it was clear I needed a footprint profile of the house.

I got Becka outside with her DistoX technology (electronic compass, clino and laser measuring device) that we use to survey caves, and did a circuit of the building.

Here is the data from the unit (interpreted by TunnelX):

*begin household


*date 2013.01.05

*data normal from to tape compass clino ignoreall

;from    to    tape(m) compass  clino
1-0	1-1	1.295	159.5	-2.8
1-1	1-2	2.159	70.4	0.4
1-2	1-3	3.094	161.5	1.3
1-3	1-4	5.497	56.3	10.8
1-4	1-5	3.382	338.7	-23.4
1-5	1-6	2.210	70.4	8.7
1-6	1-7	3.923	340.8	-0.1
1-7	1-8	2.293	268.7	7.2
1-8	1-9	2.452	321.8  -7.1
1-9	1-10	5.397	257.9	-0.1 
1-10	1-11	3.109	158.1	0.1
1-11	1-12	2.179	234.2	-0.1
1-12	1-13	2.642	152.6	-0.3 

*end household

We did it at about shoulder height, except in the southeast corner where we needed to get the laser point over the fence, hence the extra 1m in height.

Not very accurate, is it?

That’s because there are too many large metal structures associated with the building that were buggering up the compass readings. Clearly, this survey technology is only appropriate in a cave where there is no metal. On a building site, they probably use GPS and/or triangulation.

To salvage this survey, I forced all the compass readings to be the closest to one of 70, 160, 250 or 340 degrees.

This is what it came out like:

1-0	1-1	1.295	160	-2.8
1-1	1-2	2.159	70	0.4
1-2	1-3	3.094	160	1.3
1-3	1-4	5.497	70	10.8
1-4	1-5	3.382	340	-23.4
1-5	1-6	2.210	70	8.7
1-6	1-7	3.923	340	-0.1

; put break here because non orthogonal leg
;1-7	1-8	2.293	268.7	7.2
1-7	1-8a	2.293	268.7	7.2

1-8	1-9	2.452	340	-7.1 
1-9	1-10	5.397	250	-0.1 
1-10	1-11	3.109	160	0.1
1-11	1-12	2.179	250	-0.1
1-12	1-13	2.642	160	-0.3 

*equate 1-13 1-0  ; loop close

Almost perfect. The northeast internal corner that isn’t square was where we were avoiding a downpipe and water butt.

Architecture software seems to rely on the stuff being at right angles, so a rotation of 20 degrees is required to get it ready. But that’s it.

This does suggest we could make it work by using the compass to determin only the cardinal direction, so it only needs to be good to the nearest 40 degrees. Then we could blip blip blip around all the interior walls of the house — including ceilings and floors because the clino is still dead good — and produce an effective plan pretty quickly!

Then I could plug everything I know into their ecotect analysis something-something software to find out what I need to do, and actually participate in their technology trend #1 from their labs blog:

Reality capture (laser scanning, photogrammetry)

They are pleased with their two minute video of a talking head. “This is two and a half minutes well spent,” adds the CTO. All very well, but how about some examples?

At the moment, all I’m doing is hammering holes in the kitchen floor to find out what’s underneath.

Answer: It’s not at all what I expected.

Sand and rocks go down as deep as I can reach beneath parallel steel bars supporting the floor. Maybe there is a whole basement down there. You never know with these ancient houses.

Going to Cambridge tomorrow. Maybe there are some folks in the office there who are up for this and can teach me how to Revit.

Thursday, January 10th, 2013 at 6:30 pm - - Adaptive

Have just checked in 400 lines of the function CheckPathSegmentCollisionSweepArc() to go with the 150 lines I had done in CheckPathSegmentCollisionSweepLinesegment(). The line counts are a bit unfair because there are several sets of duplicated code for the clockwise and anticlockwise, in and out configurations.

This is to do with the new feature of toolpath re-ordering in the Adaptive Clearing algorithm, the culmination of the ideas I worked out with Martin on the train back from Copenhagen in October.

One of the fundamental routines requires considering a length of cutting toolpath P and comparing it with a length of cutting toolpath Q and its adjacent linking toolpaths from later on in the total toolpath, and deciding whether it is safe to do Q before P instead of after it.

Basically, it’s safe to reorder so long as the circular profile of the tool as it sweeps along the Q path does not hit any of the material removed by P.

Our first approximation of the function simply returned True when the bounding boxes of Q and P were separated by more than the sum of the two tool radii, and was good enough to demonstrate that the rest of the re-ordering feature was going to work. (I’ll outline that deceptively simple algorithm at a later date.)

But the results would be tighter the better we approximate of the material removed by the path P.

Our first attempt used the measured engagement value set at every node of the path P as a byproduct of the Adaptive Clearing algorithm.

The plots of it were beautiful, with the sequence of engagement arcs looking exactly like the scores on the metal, but I failed to take a screenshot of them. The problem was determining how frequently one should sample along the toolpath. I don’t like fudging matters by just plucking a small number out of the air that would probably work, but which would leave an unnecessary upper bound for performance. And I couldn’t guarantee that the engagement width along the toolpath between its nodes was never spike up to just below the maximum engagement angle, and then back down to a small value before the next node.

So I decided to assume the value was always the maximum engagement angle along the toolpath — which is already sampled at the widest rate possible specifically to not exceed this engagement angle. That makes it easy. It is an over-estimate, but it is controlled. Most of the time the engagement angle is close to the optimum. And when you want to favour speed of calculation over accuracy you leave a wider margin between the maximum and the optimum. And so it is reasonable for the approximation of the material removal area to degrade correspondingly (though always erring on the side of caution). When you tighten things up, everything should tighten. When they loosen, all parts should loosen.

The geometry is explained in the picture above. We are looking for the point along path Q where the tool profile collides with the material removed by path P. When Q is a cutting path, we just need to know Yes or No. When it’s No we cannot reorder Q before P. When Q is a linking path, we need to trim it back so that we can use the safe part of it to guide the toolpath away from the stock and calculate a new linking move that avoids all previously uncut stock.

Obviously we break Q down into line segments and arcs, and P down into arc and two line components called fsengagementsegsweep which is composed of the red arc (with its two end points) and the two parallel orange lines whose end points are embedded within the arcs and so do not need to be tested. There are 5 different ways for the circle profile to be in contact with an fsengagementsegsweep.

The function CheckPathSegmentCollisionSweepLinesegment() dealt with the line segment linear motion of one of those purple disks along Q to the soonest a point where it makes contact in one of the five ways with the fsengagementsegsweep‘s generated by path P.

But then what to do with the arcs on the path Q (usually quite big ones when they involve linking motions)?

The first version is just to approximate the arcs to short line segments and call CheckPathSegmentCollisionSweepLinesegment() for each one of them. But that’s horrible. What tolerance do you use? There’s no right answer, so what you choose will forever be obstructed from optimality.

Given that it is a soluble problem — circles on circular trajectories making contact with other circles — I’ve done it properly and given the analytic answer. But it’s been two days of deeply tedious work where I could be distracted by anything.

Here are some of my trial experiments. The yellow line is the cutting path P with its red and orange material removal areas. The black lines are repeated instances of the path Q — specifically an arc segment — that I am testing the function against. I have tried them both in the clockwise and anti-clockwise directions and plotted in green the point and disk of contact with the material.

It’s Thursday evening, and now it’s done at last. I’ve got all of Friday to play with other things, annoy other people in the company with emails, and track information down in EU documents.

That reminds me: I haven’t got an answer back from technical support after they forced me to change my password after my first 90 days with the company. I asked if they had any idea what proportion of employees have to write their passwords down because of this policy — even though they are instructed not to. In other words, are they wilfully ignorant of the anti-security consequences of their supposedly pro-security policies?

Tuesday, January 8th, 2013 at 1:49 pm - - Vero 6 Comments »

The press release says Vero Software Acquires Sescoi International, but that ain’t the truth. It would be more accurate to say that BV Acquisitions S.à.r.l. (a Luxembourg shell company that probably exists for tax reasons) acquired the company that makes WorkNC, because then people won’t be mislead as to the actual forces behind it. I don’t have any experience in tracking down company data in France, but there are some details of the business here.

I’ve got a lot of historical interest in WorkNC, because in many ways it was the software which started me off. It was sometime in about 1994 where two of us programmers in NCGraphics were driven over to Depo, a factory making these new tungsten carbide insert tools in an industrial estate in northern Germany, and sat in front of a copy of WorkNC and told to make something at least as good as that, but which was designed for running their toroidal depo tools. We travelled to Germany a few more times to closely inspect the software on the strategies it was outperforming ours on (according to the Depo engineers), as well as to learn more about machining strategies. And that’s how we got Machining Strategist off the ground.

Battery Ventures have updated their website to explain their strategy:

From years steeped in Software, the Battery team knew that mature and fragmented markets offered great opportunities for consolidation, and Europe was no exception.

Working from a successful playbook of midmarket software buyouts in the US and Canada, the team set its sites on key European markets, looking for the right situation in which to build a platform

After 9 months of intense research, team focused on the $1B CAM Software market and the universe of companies in that sector, until the one with the right fundamentals was in sight: Vero Software – a market-leading CAD/CAM company with great products, a recurring revenue base and happy customers.

The team recruited Richard Smith as an Executive in Residence, believing his 20 years of experience in the European software markets would help them to successfully diligence the opportunity and ultimately create a powerful platform to consolidate the fragmented market. Richard worked alongside the Battery team to evaluate the company and market opportunity, and build the right strategic plan for a dominant CAD/CAM vendor.

After 15 months of hard work, Battery finalized the take-private of Vero Software and appointed Richard as CEO of the newly private company.

Vero subsequently acquired Planit Software, another UK-based CAM software vendor, roughly tripling the size of the business with very little product overlap [really? –JT], creating the largest independent vendor in the market.

Executive in Residence, eh? Is that like an Artist in residence? What the heck is that all about?

Who knows what it’s like in there day-to-day. The point is to take advantage of the opportunities that flow from a set of businesses that are now under a single management where the workers are allowed to cooperate, and no longer have to interact inefficiently on the open market.

As far as I can tell, there are three strands of consolidation:

A) Consolidation of customers. By reducing competition the customers can no longer shop around and drive better prices and services.

B) Consolidation of financial engineering. While a company like Starbucks has the skills and resources to afford the costs of arranging to pay no tax while obtaining corporate welfare, most smaller companies don’t have this knowhow (they are too busy running their business). It is without doubt that Battery Ventures, whose core competency is finance, has the skills to avoid taxes that the rest of us pay to maintain the quality of civilization their associates have come to depend on. Freeloaders.

C) Consolidation of software technology. This is by identifying the best technologies across all the products and porting them from one to another so that all of the products are improved with very little cost. If Intel took over AMD in 1994 then they would explain how we would get better floating point units burnt into the CPU silicon of the Pentiums.

Clearly, only consolidation of type (C) is beneficial to the customers. So why don’t they demand it? We don’t even get much lip service in that area. In another world where people actually knew what the best software was in the same way that they know what the best whisky is, the press release would go like this:

For many years, Machining Strategist has been seen as having the best offset area clearing algorithms in the world. However its rest area detection scores six points below the quality of WorkNC’s routine on the bug index. We propose to move these functions across to the relevant products for a release to customers by Easter and have put our chief programmer Mr Gnu in charge of the operation. He will be supported by a team of temporary consultants Software Merge Services who are proven experts in the field of algorithm salvage and code quality assessments, with their focus on test driven re-development.

SMS was founded by Hewlett Packard in 2013 with the specific task of finding the one line of source code developed by Autonomy that had any positive end-user value. Here it is:


Instead, we get this computer generated abstract waffle:

“We are extremely pleased to be joining the Vero Group. Since originally founding the company in 1987, Sescoi has become one of the world’s key CAD/CAM providers with WorkNC. However, with Vero’s global distribution, additional development resources and proven technology sharing concept, I am certain the products will advance at an even faster pace and continue to provide innovative solutions that boost productivity, bolster competitiveness, reduce costs and improve quality.”

This is just not good enough!

Sunday, January 6th, 2013 at 10:44 am - - Cave

We went to Bull Pot Farm on the same day as we got home, unpacked the car, and filled it with caving gear which steadily got filthy as the days went on.

It was probably the quietest New Year in Bull Pot Farm for a century. About a dozen people there. Went to bed early, only three people were up to play “Silent Night” in all the rooms on the pots and pans at 3am, and there was no crockery cricket in the kitchen at 6am.

I had little to drink due to recent prevalence of hang-overs from unreasonably small amounts of alcohol, and because Becka needed someone to go caving with on 1 January 2013 — not for any symbolic reason, it’s just she won’t take a day off and had run out of other people.

The object is to finish the surveying of these caves enough to print them out and put on the wall. That way people won’t need to crowd around our computer to find out how far they got down the Cupcake entrance in Notts II (left picture). Picture on right is on Leck Fell after said trip down Boxhead entrance surveying some of the going digs which had streams flowing out of them.

I find that it’s always best to do your cave surveying down water logged passages in the winter after two weeks of continuous rain instead of waiting for a more sensible time. After all, if we’re going to get into the habit of skiving off work and going diving/gliding or something or other when the weather is excellent, then we really should be staying inside in the warm and doing work when the weather is horrible.

I don’t know why this flawless reasoning was not accepted.

Here are the barely legible notes as documentary evidence of the date. The typed up notes are here.