Show more

Architecture means understanding constraints and build something that fits.
If constraints change, the architecture has to change, too.
Architecture for getting something out quickly is different from one for cost saving.
adrianco.medium.com/so-many-ba

Welsh photographer Aled Lewis entered this in a UK landscape photography competition, a photo of Tryfan.

It is staggeringly good

Vast majority the bigots and chauvinists turn out to be what they denounce. Weak crybabies, decisively and demonstrably unfit for life in a society.

Show thread

QT: mastodon.social/@ewolff/110389

It's a bit hilarious how jaded these douchebags are. I have observed a similar situation where a bunch of people in a community I was, have pushed back against bigotry, but nobody was even forcing the bigots out. They cried and whined and slammed the door in their way out.

They ended making their own community with just three people, talking about how "woke bastards have done them nasty" in a spiteful and revanchist tone.

YOU DON'T NEED TURING

Or rather, you do not need Turing-completeness to write programs. This may sound as a nonsensical misnomer that goes against everything you have learnt as a programmer in the span of your career, but you really do not.

First of all, what does it mean for a computer system -- or in our case, a programming language -- to be Turing-complete? Wikipedia states that a Turing-complete system is the one that can simulate a Turing machine. Which is probably the most circular definition you can come up with. Let's forget about this and discuss the qualities of Turing machines.

Arguably, the most important quality of this kind of systems is the dreaded halting problem, so I prefer to define Turing-completeness through it. A Turing-complete system is the one that, given it's current state (both code and available data, though this doesn't always apply), is impossible to predict whether it will halt or will continue executing forever.

But this isn't a requirement for the vast majority of algorithms. For the vast majority of programs, the failure to halt is undesirable either in general or in the major parts of their code. Generally speaking, in any given program, the only part that requires Turing-completeness is the implementation of the event loop. Everything else should be able to terminate eventually, given finite input, so there is no reason to enable the halting problem by default.

The downside to this approach is that Turing-incomplete systems are counterintuitively harder to design. Accidental Turing-completeness is so common, it has become a joke in and of itself. Here is a short and very incomplete list of accidentally Turing-complete systems, aka systems that can be used to perform arbitrary computations and never halt:
* Python (lol)
* Magic the Gathering
* Habbo Hotel (with pool both closed and open)
* Dwarf Fortress
* printf() format string
* x86 memory management unit
* Super Mario World (youtube.com/watch?v=hB6eY73sLV)
* Crabs (pcgamesn.com/doom/crabs)
* Many web services' APIs
* Your mom's ass (citation not needed)

The last two cases are also important, because exposing a Turing-complete set of commands to the outside world, which web APIs must do by definition and your mom's ass maybe only by accident, bears enormous security implications and might allow the attacker to gain control of a web service (and maybe of your mom's ass too).

Most programmers however either do not know about this problem or do not see this as a problem. In fact, lacking Turing-completeness is often seen as a flaw and it is even forcefully added even into things that DEFINITELY DO NOT need it, such as configuration files. How many times have you seen a programming language used for configuration, such as it is often the case with Lua or even JavaScript (looking at Loonix people here)? This mindset has to change. Otherwise, we will all continue to live in the world of abhorrent improperly designed software.

Gender doesn't need to be regulated.

Carbon emissions. Those need to be regulated. Guns. Holy fucking expansion, those need to be regulated. Predatory interest rates. Regulation required.

Gender does not need to be regulated.

The police just sent a friend of mine a letter which got me worried but it was a request to rate our recent engagement with them (they arrested my friend and me for protesting climate change) what stage of capitalism is this

No idea what commitment is, but I probably should print these on MPC

newharbinger.com/9781648481239

(And look up commitment therapy, if it means what I think it does, it may be pretty cool)

Did you know I'm making a point & click adventure set in an alternate history steampunk-ish old west?

Well, I am!

t.co/0VlNFh3D9i

QT: mastodon.nzoss.nz/@strypey/110

When you are heartbroken by your child's dopamine adiction, remember! You need to feel solidarity with big tech engineers who implemented exploitative attention grabbing facilities.

Because "hierarchy".

Fuck's sake, sometimes being left-leaning is embarrassing.

Testing, Testing, is this thing on? 🎙️

Genie: I’ll give you one billion dollars if you can spend 100M in a month. There are 3 rules: No gifting, no gambling, no throwing it away.

SRE: Can I use AWS?

Genie: There are 4 rules.

Speech by V. #Zelenskyy President of #Ukraine at the opening of the Fourth Summit of the Council of Europe

Extracts
One hundred percent should be our benchmark. We must leave zero percent to the aggressor!

We are Europeans, so we are free. We are Europeans, so we value peace. We are Europeans, so we act at one hundred percent of our strength when it comes to protecting our way of life. Let these be forever the rules of our continent!

Full speech here🔗 president.gov.ua/en/news/mi-ye

#SlavaUkraine

Lean's maths library just got 23% faster: github.com/leanprover/lean4/pu

This whole thing is completely ridiculous. There are a whole bunch of algebraic structures which you've heard of (groups, rings, fields, topological fields,...) and Lean has these, as well as a bunch which you may haven't heard of (semirings, group-with-zeros, not-necessarily-associative rings, uniform groups,...). And then there are a whole bunch of completely trivial assertions of the form "a topological field is an additive abelian group" or "every ring is a module over itself". And Lean needs an algorithm which will quickly notice that e.g. all theorems about additive abelian groups can obviously be applied to topological fields, or all theorems about modules over a ring can be applied to the ring. Surprisingly (to me), making this algorithm time-efficient and memory-efficient turns out to be a difficult problem. The Lean mathematics community started making all the basic objects that they needed to do all masters level mathematics a few years ago, and the number of algebraic structures we have has got really large -- so large that things started creaking. In Lean 4 there were even instances when the system wouldn't even work, it would time out before finishing. Today's merged PR looks to have got us back on track in the process of moving all of Lean's mathematics library from Lean 3 to Lean 4.

That's a new one: a proponent of data preservation who's against and generative models 🤔

Given how many of the last couple of zero-click #iOS exploits have been found in the various OSS image decoding libraries… and given the enormous likelihood that there are more such bugs… why on earth does iOS render image previews for messages from numbers that are not in my contacts list?

Continuous discovery is about more than tactics. It requires that we adopt new mindsets. We need to be:

✅ Outcome-oriented
✅ Customer-centric
✅ Collaborative
✅ Visual
✅ Experimental
✅ Continuous

Learn more in my book: continuousdiscoveryhabits.com

#prodmgmt #ux #engineering

Show more
Doma Social

Mastodon server of https://doma.dev.