Laeeth Profile picture
17 Oct, 18 tweets, 7 min read
Do we overrate the importance of abstractions and underrate the importance of the fine texture of the code, unit tests, composition based on meaning, build, plasticity of code, avoidance of boilerplate? @incomputable @WalterBright @atilaneves
On the economics of programming,
there is much to be written. I'm thinking of something like the economics of industrial organisation and of the capital structure (Hayek) but applied to code, programming and collaboration. @paulmromer

Google employed @halvarian to work on the economics of information. Is it
time to work on the economics of code and of programming languages?

At @SymmetryInvest we think two numbers dominate: calendar time taken to get to the first useful version, and the total cost of ownership. Software is eating the world and one consequence of that is that the
way work is done increasingly involves practitioners who may not consider themselves programmers writing code of some sort. @fayleenuh taught me that spreadsheets are code.

But it's not an easy problem for practitioners and programmers to collaborate and achieve a sound
division of labour. To solve that problem we did something a little crazy and developed Symmetry Integration Language.

We stole the best features from #dlang that make the language highly plastic and lead to code quality at a fine level of texture. And we stole the insights of
@incomputable and others embedded in Phobos. I don't mean we stole the insights - we just static foreach over the symbols in Phobos and register them in our language with compile time code generation doing the rest.

Symmetry Integration Language is only a little bit magical,
but it does seem to be a better solution for us to enable collaboration than microservices without the problems of a monolith.

Programmers write SIL modules, which mostly means writing straight D. And practitioners write SIL.

The advantage over microservices is that
nothing is hidden from you and we follow the Hollywood rules about never working with children, small animals or networks.

What about libraries? Well D has some libraries. But you can also call C++ thanks to cling. At @SymmetryInvest allowing SIL to call C++ is an intern
project. Admittedly not your average intern.

The danger of hiring very smart people from unconventional backgrounds is that you may end up getting a bit more than you ask for. I asked @thedeemon_lj to add static types and algebraics to the language. I got those plus Hindley
Milner type inference. But was that good enough? Not for Dmitry. So after a little basic research in type inference theory we have type inference with inequalities for argument and return types that propagates.

So what's my point?

I have three points.
1. It's time for a new economics of code and of programming, both within organisations and between them.

2. We are hiring highly capable people for roles from receptionist to partner-track roles.

3. It's time for more courage and boldness in enterprise technology. We need new
forms, and the way to get there is to do things that might fail but to be antifragile to failure.

Everyone knows you are crazy to write your own language. How did we manage it? I found a couple of very talented people to work part time on it and I funded it myself. That's
often the best way for bold projects - fund them using your own sweat equity or on a shoestring even if you have a multi-million dollar budget.

Bonus point: #dlang is a secret weapon for disruptive innovation that, like King Arthur's sword, you must deserve to use to succeed
with it. @liranzvibel at @WekaIO is a perfect illustration of this. After reading a tweet by @KentBeck they decided to base their entire venture on a programming language nobody had experience with. In storage, where you can't lose peoples' data. It was in the beginning quite
miserable - what were you thinking using an emerging language for storage??? Yet they persisted and in five years they have by far the world's fastest parallel flash storage system.
The time of covid is a time for boldness and courageous experimentation. Programming isn't about strapping together APIs - it should be about much more than that.

Fortune favours the brave, and in a few years this will be quite evident.
@threader_app compile

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Laeeth

Laeeth Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @Laeeth

17 Oct
I wonder what Andrew Lilico thinks the incidence of long term covid symptoms sufficiently bad to end a career might be. Because it's an assumption that you have the vulnerable and then everyone else who probably won't die and if they don't die they will be fine if they just man
up. The UK has a metabolically sick population too - obesity is only part of the problem of higher susceptibility due to metabolic disease.

I wrote in early May that it's a mistake to focus on the mortality rate. It's still a mistake to focus on the mortality rate.

Read a
group for people with long covid. Now try to put bounds on the incidence of long covid. I think @paulg had it about right in his personal sample.

I favour a much smaller state than @andrew_lilico . But I think it's a mistake to conflate your values in relation to ideal policy
Read 6 tweets
6 Oct
You know buying things is difficult because making good choices depends on having good taste and that's almost excluded in public tenders and it's especially tough in a crisis. That's the problem with private provision, public financing. There a limited amount you can do
contractually too when it comes to complex products and services. Bureaucracy and process can't be a substitute for good judgement and knowing what to do to get the valued service provider to do what you paid them to do. There were quite a few stories on the NHS turning down
offers from private companies to provide PPE and the like. Probably procurement is in need of an overhaul - it's definitely too bureaucratic and not at all adaptive.

But when you get problems like this it's a sign that an organisation is too big. Brexit was about sovereignty,
Read 7 tweets
5 Oct
Critical processes should be written in strict programming languages, probably functional ones. At @SymmetryInvest we wrote dailymail.co.uk/news/article-8…
Symmetry Integration Language (SIL) for integrating processes across the firm. A feature branch has type inference inequalities for arguments and return types and you can call C++ if you have the headers and DLL (thanks, CERN).
HT @SuspiciousPleb
Robert Schadek at @SymmetryInvest said "All spreadsheets must die!". Seems extreme? Well it was a fun talk, but actually was he wrong?
#dlang

Read 4 tweets
3 Oct
Yeah but you know, once you understand that, and it wasn't exactly cutting edge fifteen years ago then you can also realise that whilst signalling is a feature of human society there might be a bit more to life than just signalling. In fact people are so obsessed with signalling
that after a certain point somebody with insight might just say forget this game - I don't want to win it; build something in complete disregard of the rules of the game about signalling. Funnily enough you won't have any competition doing that. What is valued changes over time
and guess what - there's a rhythm to life, and with a bit of awareness of what's going on beneath the surface, knowledge of history and the deeper drivers of events you can do things that make sense in seeming complete disregard of what you ought to do to optimally signal whilst
Read 7 tweets
29 Sep
The government is gambling on a vaccine, just as we said in May. I never vote because it only encourages them, but I didn't think you were gamblers.

That's not very adaptive. I thought you were in favour of being adaptive.

#deregulatetesting #liberatevitamind from NICE,
allow doctors to use clinical judgement rather than the hated dictator NICE; raise the cap on home schooling to permit micro schools; fund the pandemic like a war with Pandemic War Loan. Real rates are negative.

These simple steps are consistent with conservative values and
represent the removal of impediments to decentralised adaptiveness in the face of a crisis that is first of all a crisis of faux expertise and central planning.

What do these experts know? Less than a kid on 4chan, as best I can tell. So why not stop pretending. It would be
Read 7 tweets
29 Sep
@cjsnowdon is confused. The original mistake was forgetting PPE and ventilators in "best in class" pandemic plan written by PHE. Then not closing borders because they pretended it was flu. Then PHE refused to allow UCL and Royal Free to validate their tests by giving them a
sample of the virus and they blocked private labs from testing too. So nobody knew the true situation and that delayed lockdown. Then the government ordered the civil service do mass testing much much earlier than anyone seems to be discussing. Then the civil service sat on
their behinds thinking about it; I am pretty sure that's the biggest reason why Sedwill was fired - he didn't go his job and by his dereliction of duty caused devastation in lives and costs consequences.

Then there was a very sensible mass testing plan (leaked to C4 I believe)
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!