* Posts by David Dawson

467 publicly visible posts • joined 2 Jul 2008


'VPs shouldn't go publicly rogue'... XML co-author Tim Bray quits AWS after Amazon fires COVID-19 whistleblowers

David Dawson

Re: "XML"

Sorry but I have to disagree here. The syntax of JSON is far simpler than XML or ASN.1, so a coder is more likely to get it right


The point is that it is possible to validate XML data as correct, using the document and its internally referenced DTD/ Schema. This is very different from simply saying that the document is well formed syntactically, which is, as you say, mostly straightforward.

There are solutions for validating JSON, but they are all applied after the fact and so XML does that the advantage of being better in this aspect.

I tend to use JSON for most stuff, and would generally reach for one of the binary formats (eg Avro) when a better type system is needed, but XML is still a good choice for things.

JSON is fine for what it is, but its not great.

There are well documented issues in the spec and how its implemented. For example, its straightforward to write a JSON doc, parse into memory and immediately output and see the resulting document be structurally different to the source. You don't get that with XML, Avro etc.

You could say "well, what doesn't matter", and you'd be right, until it does matter, at which point you're screwed.

Brekkie TV host Lorraine Kelly wins IR35 ruling against HMRC, adds fuel to freelance techies' ire over tax reforms

David Dawson

Re: Really?

This is the hilarity of IR35.

If your legal arrangment is via a company, you invoice, paye corp tax etc.

You then get deemed to be within IR35 (you are a disguised employee), you have to pay all of the employee taxes.

But, no allowance is made for any of the employee benefits. No holidays, no sick pay etc.

So you get penalised well below the benefit level that an employee has, without even addressing the questions around contract termination, pensions ...

You go from "I'll take a bit more risk, for a bit more reward" to "I'll take all the risks, for much less reward".

The system is broken. Last time they dared give out the numbers, it doesn't even bring in more tax (it lost money collecting it), it's ideological.

The mysterious life of Luc Esape, bug fixer extraordinaire. His big secret? He's not human

David Dawson

Re: And for the next trick...



Do not train the bot on windows source code.

Imagine the pull requests it'll create after that!

App-y, app-y, joy, joy: Pain-free software installer Flatpak (kinda) works on Windows Subsystem for Linux

David Dawson

Re: Pulseaudio not present on WSL

I happen to _LIKE_ OSS, thanks. It's the driver model on FreeBSD. Not sure why Linux didn't just adopt it, too. Ah, well...


Linux did use OSS. It was the original sound system. The problem was that the company developing it tried to make it closed source, which caused issues. I vaguely remember the switch being very disruptive for playing games at the time.

One of the motivations behind user space sound servers being made, to handle both OSS and alsa and badly behaved applications taking too aggressive ownership of things.

David Dawson

Re: Pulseaudio not present on WSL

Pulse audio was created around 15 years ago(Polypaudio), I don't know what the developer got but he should of got life in prison.


interesting history lesson, but nothing to do with my question. Pulse audio has nothing to do with the linux kernel version, it was never in the kernel, it isn't in the kernel. Its all userspace.

I've never had any issues with it, was always easy to use and worked well enough.

Also "should *have"

David Dawson

Re: Pulseaudio not present on WSL

TBH I thought pulse audio died a horrible death in the 4.4 kernel so why is this relevant in 2018


Are you talking about pulse audio the sound server, which runs in _userspace_?

Pulse audio runs on top of alsa, which has a kernel bit.

Are you thinking of OSS?

UK taxman told: IR35 still isn't working in the public sector, and you want to take it private?

David Dawson

"They generally don’t pay NI, so taking the Employee and Employer parts that’s roughly 25% rate not paid."

Not really true. The full calculation is this.

Top rate - salary you take (which has all PAYE, NI etc paid out of it) - applicable expenses (ie, the contractor paid them) = gross profit to the contractor.

Next, how to get that profit out of the company into your pocket and how much will that cost? The answer is as a company dividend.

Gross profit - corporation tax (20%) = net profit/ dividend to the contractor as personal income.

Then, you lose 10% of the dividend in the contractors personal accounts as another tax.

So, money extracted via dividend has been taxed at 28% to get into your pocket (20% corp tax, then 10% of the 80% left to you)

Then, in your personal tax affairs, you need to take into account things like tax credits and other fun things to determine what the optimum salary actually is. It used to be just the free tax band and no more, but now its more nuanced and is probably about £30kish.

All told, the only tax that really goes missing is the employer side NI in the second part of the equation. A standalone ltd company contractor will pay about 30 - 35% effective tax to get the money into their pocket (I can't be bothered to go through my own accounts to tell you the precise figure). Really, not much different to an employee, considering you get no holiday pay, sick pay or any other benefits from an employing organisation. You also need to keep at least 6 months money in the company, all the time, or you'll go hungry one day, guaranteed.

Brazil says it has bagged Royal Navy flagship HMS Ocean for £84m

David Dawson

Re: Whats in a name

HMS Pansy served with distinction.

The net's a sprawling data mire – Webhose.io sprays away the gunk

David Dawson

This Editorial Sponsored By...

Er. Right, well, it's obvious.

Chris got paid, drinks are on him!

Wisconsin advances $3bn bribe incentives package for Foxconn

David Dawson


It really depends what the incentives are.

If its a straight cash grant, then all the above comments apply.

If its tax cuts of various kinds then they don't. If the decision on where to locate the factory is influenced by the tax regime then tax breaks makes sense. If they levy full tax then the result is not that they get the full tax load from Foxconn (as implied by "it will cost X to get the money back!"), instead they will get no tax at all, and no jobs from Foxconn either.

Likely its some combination, but seeing tax breaks as "the government paying a company" wilfully misrepresents what tax is and how it works to the point of deception.

'I'm innocent!' says IT contractor on trial after Office 365 bill row spiraled out of control

David Dawson

State monopoly on violence

Writ large.

HPE SAN causes four-day outage at Australian Tax Office

David Dawson

Re: HPE Again?

You do understand what an array is, yes?


A highly available set of hardware that centralises storage onto a single platform.

It may be clustered and HA, but it means you've traded isolation for efficiency all the same.

Each server having its own storage means that you wont get this type of systemic failure. You'll have other problems, sure, but certainly not this.

Google floats prototype Key Transparency to tackle secure swap woes

David Dawson

Re: Yahoo?

That is totally not fair on the yahoo security team.

They're highly paid professional security researchers and have contributed much to the security state of the art.

Bearing in mind that much of that has been in the form of an object lesson...

They can certainly do biscuits as well, surely?

View from a Reg reader: My take on the Basic Income

David Dawson

Universal Credit

that was kind of the idea of UC.

The problem with the benefit system pre-UC was that it was a poverty trap. You recieve multiple benefits, calculated independently. If you earn a £ over the threshold, you get that deducted from _each_. So you are worse off.

UC was designed to solve that by deducting less than £1 for each £ you make. So you are better off for working.

That was the intent, I think it's kind of working, but the IT build out was awful and too ambitious for v1.

Basic income has the positive aspect that it would be easier to manage, you just have to prove you exist, rather than declare any income. So the integrations would be easier on the back end.

From a subject critique point of view, I sympathise with the author of this article, but I see no proof or evidence that the system as a whole should be changed based on it.

If we're going to rework the social contract so totally, then we need to have some form of evidence that the people of the UK _as a whole_ will be better off, according to whatever metric we choose, and not just one portion of the population.

If we are just improving the lot of one portion of the population, and that comes at an overall cost to everyone else, then we need a more refined approach.

So, overall, the article doesn't address the point that basic income is designed to have a general effect, like medical research looks for. Statistical means would be used to prove it, and so we need to address the problem as a statistical one.

Oracle finally targets Java non-payers – six years after plucking Sun

David Dawson

Re: Anything that reduces use of Java, no matter how little

also, much development and deployment now happens on openjdk, not the oracle jdk.

This does not have the problem described here.

Privacy is theft! Dave Eggers' big-screen takedown of Google and Facebook emerges

David Dawson

Sharing is caring!

Care bear stare!

UK PM Theresa May's £2bn in R&D still a drop in the ocean

David Dawson

Re: Confederation of British Hypocrites

Perhaps we need to emulate the australian example (other countries too) where R&D spend gets a 150% tax credit.


Like this https://www.gov.uk/guidance/corporation-tax-research-and-development-rd-relief

Yep, exists here already. Lots of accountants specialise in the area, taking a percentage of the gain.

If you're particularly innovative, you can end up being owed money by hmrc.

Keep up guys.

US reactor breaks fusion record – then runs out of cash and shuts down

David Dawson

Re: Quotation from the article: "the high pressures required for burning plasma"

Its not an oxidisation reaction, however by definition a plasma is, to use a technical term, damn hot.

So, in the common parlance, burning.

'What this video game needs is actual footage of real gruesome deaths'

David Dawson

Re: To do anything else would be dishonest

Congrats on the use of voila BTW. For some reason "viola" irritates me immensely.

Wrong resonance?

What do microservices do to data stores? Netflix is built on them and had no idea!

David Dawson

Re: containers != microservices

of course, but they used EC2 (ie, VM based) infra. They didn't use the amazon container service, and have developed their own container scheduling setup based on .. I want to say mesos, but am too lazy to check. The name titan comes to mind.

David Dawson

containers != microservices

Certainly not what Netflix are describing in any case.

Containerisation is a well understood technology that means a particular thing.

Microservices, far less so. It's mostly used as a synonym for application distribution. You may, or may not, put the distributed components in containers for ease of deploy, management, whatever.

Containers though would put absolutely no load onto cassandra, its the app inside that does.

If you are going to point out immaturity in an area, it's the current commercial understanding of distributed computing, which is fairly awful. This leads to, for example, something I like to call 'inner join over http', a common enough issue in these kind of developments, caused by the incorrect separation of data by entity, rather than by access pattern and something that is quite likely to be the root cause of the issues described.

Also worth pointing out that Netflix only adopted containerisation recently, previously they were on AWS EC2 exclusively.

IPv6 comes to AWS S3

David Dawson

Re: It can't be that hard ..

It'd be possible, even preferred, to have ipv6 to the load balancer, then leave the rest as is?

Ideally all in a little private net of some kind, aws vpc or similar.

GNU Guix emits next beta

David Dawson

The intro bit of the docs seems to answer -> https://www.gnu.org/software/guix/manual/html_node/Introduction.html#Introduction

Guix is a package manager, partly inspired by Nix.

It can be run on any linux distribution and apparently doesn't interfere with the underlying packages, like Nix does/ did.

It is also possible to run a "Guix distribution" of the GNU operating system. This would be the GNU userland tools, like in linuxes, and instead use the Hurd kernel. All with Guix as the package manager.

What's long, hard and full of seamen? The USS Harvey Milk

David Dawson

Re: I am struggling to understand...

Hell, go all in and redefine 'the valley' as SF, bend around the bottom, taking in San Jose, through sacramento and off into death valley. 'silicon death valley'

Oracle says it is 'committed' to Java EE 8 – amid claims it quietly axed future development

David Dawson

Re: Die Java Die

@destroy all monsters

Check out frege - https://github.com/Frege/frege

It's haskell on the JVM and looks pretty solid from what my contacts say, who are normally well informed.

Also, this is a silly conversation 'java must die 'etc. Grow up.

Special delivery: Activists drop 100,000 net neutrality complaints on FCC

David Dawson

Re: What if our minds are more infinite than the Universe?

It isn't.

Thunder struck: Apple kills off display line

David Dawson

Re: Those...

That's actually the point.

Another quote in the same area.

" The tree of liberty must be refreshed from time to time with the blood of patriots and tyrants." - Thomas jefferson.

The thrust of the argument is that liberty is not free, maintaining it is in fact dangerous and expensive. The benefits of liberty though are great, a good enough that the sacrifices called for are worth it.

So yes, absolute safety will be denied you if you want a modicum of liberty.

The question is if you want liberty or not, and are willing to make that trade.

All this Brexit talk derailed UK tech spending, right? That's a big fat NOPE

David Dawson

Re: Out is undefined

tbh, in is undefined too.

The original purpose of the EU's predecessors was to prevent war, by integrating the german and french economies to the degree that they couldn't effectively run a war economy autonomously.

It worked!

Next, spread that around, stabilise the continent and provide an economic twin to the Nato military alliance that was confronting the communist block.

That worked too!

Next, draw in the eastern europeans crashing out of said eastern block and spread stability.

That mostly worked (look at poland and the baltics as the prime examples).

Now, what's next?

This is the problem with the EU as currently formulated. It's had political aims, and they haven't been bad ones. Now though, what is next? There is no grand vision anymore, it's been stuffed down the back of the sofa and lost. Now it's run of the mill dogma.

I'm looking at my kids and wondering what world we'll be able to give them in 20 years time. The UK is a strong economy, socially well put together, free, liberal and good place to live.

That won't change either way.

So for me, the vote comes down to the 20 year question, not the minutiae of current immigration or trade rules.

The EU doesn't have a 20 year plan worth a damn, so I think we may as well go build one for ourselves.

Persistent containers from Portworx's PX-Enterprise package

David Dawson

Also, ClusterHQ - https://clusterhq.com/ with flocker, pretty popular for container volume management, which I assume this product is similar to.

Been around for a couple of years already too.

When DIY is not enough: Web-snack firm Graze has an offline awakening

David Dawson

Re: Grumpy old git laments passing of old world

This is a classic economic efficiency vs flexibility discussion.

Case in point, Talebs Antifragile/ Black Swan books. He was predicting financial system failure for years before 2008, and not because of any one thing (like others were), but by looking at things systemically.

As a system, by 2008, the major economies had become too efficient, and so far too interlinked, such that a failure in one part created a cascading failure everywhere.

Market stalls are a good example of an antifragile system, each stall is fragile and very open to failure, and this is a good thing, as it turns the market as a whole into something very much more able to adapt to changing wants, supplies, customer fads etc. It's a good book (antifragile), although you only really need to read the first third to get a grip on the idea, the rest is more involved examples of it.

One thing coming out of it is that failing companies must be allowed to fail, and shareholders should lose everything. Protecting staff from that is certainly something good, but the company itself must be fragile. This is necessary for a free market economy to work properly, or you end up with this austerity stuff, paying off debts that should've been written off when the company died.

FFS, Twitter. It's not that hard

David Dawson

you had me until "egomaniacal bunch of white nerds"

back down racist.

Feds raid dental flaws dad

David Dawson

Re: That old chestnut

Talking of chestnuts, how come we're using burglary as the simile?



A simile is a figure of speech used to exaggerate a quality of something by comparing it to something else. You can usually link them to 'like' and 'as a' in a sentence.

An analogy is comparison where you use something familiar to enable understanding of something more esoteric, as here.

Both are a form of metaphor.


GitHub pricing change

David Dawson

Re: it's still pretty cheap

I just did a quick calculation for my company. It'll massively inflate our monthly spend.

We have 20 private repos, costing $50 a month. We wer about to upgrade, as we've go some more projects to throw in.

The rub is that we do a lot of collaborative open source work too in the same org, so we've got around 30 members of the org, almost all on the open projects. This doesn't distinguish between members of the open or closed repos though.

So, a simple switch will mean the price going to around $220/ month.

I'll probably start a new org and migrate all of our private repos there, which have far less people accessing them. Need to price that up. Seems workable though.

Apple man found dead at Cupertino HQ, gun discovered nearby

David Dawson

Re: Oh goodness how awful

It's at times like these that I think, my thoughts aren't really with them, or their families.

This is obviously unfeeling, and I accept that, but I counter with the fact that, today, several hundred Syrians died. Were your thoughts with them?

This is not a real criticism of anyone who has a different opinion, I'm just sadly, madly, cynical with someone in Apple HQ dying being given more apparent value than someone dying in street in somewhere with less shiny things to sell.

The world is awful. At times like this my own thoughts become dominated with my family :-(

Pair programming: The most extreme XP practice?

David Dawson

Re: 1+1 = 3

The tornado is a strike aircraft. First designed to perform low level bombing runs over the central european plains, retrofitted with the ability to shoot down other planes.

The Typhoon is designed as a air superiority dogfighter, with a recent addition of an 'austere' strike package.

Very different design ethos and purpose.

No silver bullets here.

David Dawson

The main issue with pair programming as currently employed, by Thoughtworks and elsewhere is that it has become a base part of the cult of the extrovert currently rampaging through the industry.

Somewhere between 40 to 50% of people are naturally introverts. This is not the same as 'poor communication skills', and if that's what you believe, you are deluded about the way peoples minds work.

Introvert vs extrovert is an inate quality of a person, and doesn't change through their lifetime to any measurable degree. They may learn behaviours that change their outward, but internally, nothing changed.

So, pair programming, why is this bad?

Extroverts love pair programming because it enriches them, gives them strength.

Introverts find pair programming draining, it saps their mental energy. Simply because they fundamentally find peace in solace, not in social interaction.

Forcing pair programming all the time in a dev team is abusive towards introverts, and you will end up with a team that is made of extroverts after the introverts leave. In the extreme agile teams, this washing out is seen as a good thing, as the introverts aren't wanted. They are seen as inferior because of something innate, their introversion.

So, I'd say, pair programming as a developer discipline is good, I like it. It should not be enforced.

It is also not proven to give all the benefits that it is sold as giving. Groupthink is far too common in this kind of scenario. It may give you more standardisation and some aspects of quality, but it doesn't often give you the kind of extremely creative results that you get by sitting and thinking by yourself.

Brain storming has the same problems. Fundamentally, it doesn't work.

So, in summary. XP is good, pair programming has it's place, don't adopt anything religiously, go for a walk and think for a bit.

Your life as a developer will be that much richer.

Thanks for the extra memories, folks: Say hi to GridGain

David Dawson


I was going for "advertorial". Got auto corrected.

David Dawson

This article sponsored by GridGain, world leader in In Memory Data Grids.

I didn't think The Register did Editorials? What's happened guys? The joy has been leeched out. Biting the hand that feeds IT? Not for the past couple of months.

To bring a little balance to this.

Check out :-

* SAP Hana/ as mentioned. My review - too expensive, IDE is awful, obsessed with a database

* Gemfire/ Apache Geode. Geode (open source) lags Gemfire slightly due to it recently open sourcing. A very nice product otherwise. Lots of use in finance, it's first niche (eg, fraud detection stuff)

* Hazelcast - Good history, has always been open source and so has overall greater adoption than gemfire. nice integration with jvm collections.

* Coherence - not sure where this is up to now ... It's oracle. I can't bring myself to bite down on their contractuals.

* Terracotta - Was the hot thing 4 years ago in this space. The model didn't seem to catch on. It's more focused on being able to address a theoretically infinitely large JVM heap space. Different to the others in that they give access via a particular API, whereas terracotta appears to be local memory.

So, there we go.

Oracle blurts Google's Android secrets in court: You made $22bn using Java, punk

David Dawson

Re: Wait a minute


Bare = take clothes off.

Bear = assume a load.

Smartphone hard, dudes, like it’s the end of the world!

David Dawson

Re: umm...

Yes, it's all gone a bit sanitised.

And weekend output is pretty much gone now.


IBM kills Hack A Hair Dryer women-in-tech vid after backlash

David Dawson

Why is important for people of different races not to be


This is where the poison of identity politics starts to raise it's ugly head.

Race is a constructed fiction that has no basis in science

What happened to "content of character", to true equality of individuals? To bring race, or gender, or anything else into this is to remove the individual. That was the entire point of the civil rights movement, to ensure that individuals are judged on their own merit, not on a being a part of a perceived group.

So, I'll say again, if there is a blockage to a person achieving something based on their being perceived as part of a group, then that is a blockage to equality of opportunity.

Nothing else matters. Group identity must be irrelevant for equality to be a useful topic to discuss.

David Dawson

What campaign should be run in it's place?


Women into road laying, mining, offshore rig labour ... ?

Men into teaching, nursing, clerical jobs, doctors (check the figures), biology (doesn't this count as stem?)

What is very rarely stated is why it is important for women to achieve parity in particular subjects. The assumption is that parity is a good thing, but is this assumption correct? I'm not sure.

Systemic oppression because of who you are perceived to be as apart of a group isn't nice, but neither is the ugly rise of identity politics that is demanding treatment of an individual based on their self declared identity.

Equality of opportunity does not mean equality of result. If there is inequality of opportunity, then that should be addressed, measuring equality of result is an extremely poor proxy

Infosec bods rate app languages; find Java 'king', put PHP in bin

David Dawson

Re: Android apps

Server vs mobile client.

Sqli is an attack on a server application that uses a database and doesn't properly sanitise inputs given by the user before passing it to the database.

Crypto problems is probably referring to https handling during communication, allowing a cipher downgrade or simply allowing the use of old ciphers. This could affect the server side as well, however most server apps hide behind some sort of front router that does ssl termination. Think nginx or apache. So, this type of flaw will be reported against those products rather than against the language used to implement t app behind them.

Pope instructs followers to put the iPhone away during dinner

David Dawson

Re: Expert

Well, we don't demand personal experience in many other fields. Doctors don't need to have had illness, social workers don't need to have children etc.

There are many things to criticise the Catholic church for but this guy seems to be a good one overall. He'll have seen, talked to and helped enough families that he's experienced enough to be able to comment. The fact he's chosen not to go that route himself is really neither here nor there.

BlackBerry makes Android security patch promises

David Dawson

Re: what's it got to do with OEMs?

Android is distributed as generic source to run on a few pieces of reference hardware.

OEMs take that source and apply patches to it, then build their own binary distribution that is installed onto their hardware.

Google don't distribute binaries apart for the nexus line.

The patches come in various types, device drivers for sure, plus a bunch of mods on the UI and apps, some of which are extremely invasive in the code.

It's not really comparable to a PC, which has highly standardised hardware.

It probably could be, but you'd need to standardise the entire mobile hardware space with stable interfaces, have some defined standard boot mechanism and install process. I personally don't see that happening soon.

RoboVM: Open source? Sorry, it's not working for us

David Dawson

copyright assignment?

It depends who is the copyright.

Many open source projects sponsored by a company require contributors to sign/ agree to a copyright assignment agreement.

The reason they do that is wanted enable license changes like this.

Not sure I this is the case here.

Robots, schmobots. The Rise of the Machines won't leave humanity on the dole

David Dawson

Needs more caps and misspelling, A-

Apple, Google should give FBI every last drop of user information, says ex-HP CEO and wannabe US prez Carly Fiorina

David Dawson

Re: insert Benjamin Franklin quote on freedom

@Irony Deficient

Took me a moment, but well done!

Your name is proven inappropriate.

Contractors who used Employee Beneficiary Trusts are in HMRC's sights

David Dawson

Re: no sympathy

Taxes for contractors aren't actually as generous as many believe.

Corp tax is 20% ish, depending on the year. Out of this are taken expenses. For a services contractor, expenses are fairly low, and there is a special VAT scheme that recognises this.

This applies in all cases, unless there's some evasion scheme or other.

To actually get the money from the company to your pocket there's a few methods. You could pay a salary, and pay paye. You then pay paye taxes, between 10 to 40%. Alongside that, there's national insurance, both employee and employer.

Both PAYE and NI are blocked as expenses against the Corp tax liability and act to reduce it.

You'll end up with an effective rate of around 35-45% on all money received by the contractors company if you do this. This is high.

The alternate method, you pay dividend to the owner of the company. This is taxed at 10%. You then declare this income, along with a small salary and pay personal taxes on it.

These are similar in rate to PAYE.

The big tax missing from this system is employer side NI. So you gain around 12%.

You'll end up with an effective tax rate, over everything, of between 25-35%.

This is one of the reasons employers like contractors, the removal of employer NI. They can just pay it directly to the contractor, through a really simple invoicing system.

If you sign up to IR35, expenses are removed and employer side NI are added, and you end up paying more than the average employee, due to the employee never seeing employer side NI or realising it's there (it's added on top of your salary).

Contracting can be a good life, I recommend it. The vast majority of contractors arrange things the way I describe.

Tax is necessary to sustain our civilisation, however I don't like the jump to declare it a 'moral' thing to do.

Happy birthday, Amiga: The 'other' home computer turns 30

David Dawson

Amiga 500

Gave me a window on computing.

It was awesome.