Jekyll2023-10-25T10:54:44+00:00https://tldr.cdcl.ml/feed.xmlToo Long; Didn’t ReadCasper da Costa-LuisManagement for Morale and Retention2023-10-23T00:00:00+00:002023-10-23T00:00:00+00:00https://tldr.cdcl.ml/eng-burnoutThings managers should do.
:handshake: trust engineers
don’t question every implementation detail
allow engineers to drive some requirements/scope (assuming this leads to promotion)
process which work for BigTech will fail at
SMEs
small & medium-sized enterprises
/startups
:shipit: ship fast & often
good: imperfect releases with feedback loops
bad: never-ending delays
“perfectionism is often an excuse for procrastination”
:rocket: under-promise & over-deliver
provide clear vision (product’s problem-and-solution)
]]>Casper da Costa-LuisLLM Use Cases2023-08-30T00:00:00+00:002023-08-30T00:00:00+00:00https://tldr.cdcl.ml/llm-usesSome real-world “use cases” (half of which I disagree with).
:mag: Retrieval/Search
both inter- & intra-document (find doc in corpus & find in doc)
semantic matching (rather than keyword matching & link analysis)
(personal opinion) :scream: this is terrible.
AI
artificial intelligence is not
AGI
artificial general intelligence
, so is incapable of generation. It can paraphrase (at best) or plagiarise (at worst) – falling foul of fraud, misrepresentation, & IP theft laws.
]]>Casper da Costa-LuisThe Invention2023-08-26T00:00:00+00:002023-08-26T00:00:00+00:00https://tldr.cdcl.ml/the-inventionThe greatest invention (past, present, and future) is the Internet.
:bulb: humans are separated from animals by knowledge
:speaking_head: knowledge is primarily acquired via communication
:twisted_rightwards_arrows: communication is made (trivially) realtime, async, omnipresent, “embarrassingly parallel” by the internet
:speech_balloon: any “comments box” is a node into the resultant immortal “brain cloud” of current & future generations
:zap: at best, future innovations can only optimise the internet, so cannot be considered greater inventions
]]>Casper da Costa-LuisOpen Source is Illegal2023-07-13T00:00:00+00:002023-07-13T00:00:00+00:00https://tldr.cdcl.ml/os-is-illegalWe might be accidentally fighting on behalf of worst-offending profiteering companies.
:lock_with_ink_pen: not all terms in (software) licences are legally binding
lack of warranties in
OSS
open-source software
= deliberate & accidental errors
could be solved by public funding
:hammer: instead of funding, EU have suggested cybersecurity legislation
Cyber Resilience Act & Product Liability Act proposed in Sept 2022 to hold profiteering companies accountable (via “consumer interests” and “safety & liability” of products/services)
could “indirect” profit include “self-promotion” and thus all FOSS?
:confounded: surprisingly, some non-profits like the
PSF
Python Software Foundation are unhappy
threatens to block python & pip installs in EU
thinks proposed law could hold individual FOSS devs unfairly accountable (personal note: huge commercial orgs with ongoing
IP
intellectual property
cases against them happily regurgitate the same arguments)
people might be arguing without understanding prerequisite legal jargon nor seeking unbiased legal advice (most modern debates rely on media sensationalism & misunderstanding jargon)
could just reword a little
expressly (not just implicitly) exclude indie packages
somebody should be accountable if critical infra (e.g.
PyPI
The Python Package Index
, Linux) breaks
if devs/orgs (e.g. PSF) aren’t paid enough to provide warranties, should be given public funding (via governments/
NGOs
non-governmental organisation
) purely in interest of public safety
]]>Casper da Costa-LuisCRA & PLA Cybersecurity Laws Need Rewording2023-04-19T00:00:00+00:002023-04-19T00:00:00+00:00https://tldr.cdcl.ml/CRA-PLA-cybersecurity-law-rewording-appealProposed EU laws to restrict irresponsible businesses might be abused to hurt
FOSS
free & open-source software
volunteers due to poor wording.
Article 16 states a “person, other than [manufacturer/importer/distributor, who makes] a substantial modification of [a software product] shall be considered a manufacturer”
Article 16 implies FOSS devs “might bear legal and financial responsibility for the way their components are applied in someone else’s commercial product”
instead, “increased liability should be carefully assigned to the entity that has entered into an agreement with the consumer”
indirect monetisation (e.g. advertising paid courses & conference tickets) should not always make software qualify as “commercial”
however scope of any FOSS exemptions should be carefully limited to prevent commercial abuse/loopholes
personal opinions
if you hire an engineer to build a safe and they use substandard components, you sue the engineer. The engineer in turn can sue the component makers if they had a contract. You don’t sure the component makers directly
I’m sceptical that any new law could realistically override the “PROVIDED AS IS/NO WARRANTY” clause in FOSS licences
the lack of warranties for widely-used FOSS libraries is a problem which can & should be tackled separately (and more urgently than the mere commercial libraries which the CRA & PLA target)
]]>Casper da Costa-LuisOpen Source is Bad2023-04-18T00:00:00+00:002023-04-18T00:00:00+00:00https://tldr.cdcl.ml/os-is-badFor public safety, governments should incentivise warranties/support/maintenance for widely-used
FOSS
free & open-source software
.
FOSS licences
are on a spectrum of open/permissive (e.g. OSI) to restrictive (e.g. HPL bespoke/optional clauses)
don’t address (lack of) practical enforceability over billions of end users
]]>Casper da Costa-LuisAI Stupidity2023-03-28T00:00:00+00:002023-03-28T00:00:00+00:00https://tldr.cdcl.ml/ai-stupidity“Replacing your job” is not the biggest problem with current
AI
artificial intelligence
.
“prompt engineering” (carefully framing AI inputs to maximise quality of outputs) might become a new “no code” human job
“negative prompts” can result in “AI cryptids” and help explore AI model latent space (personal opinion: related to
GIGO
garbage in, garbage out
)
more training data & compute resources (rather than developments in the underlying fundamental theory) is driving current AI popularity
current training needs an obscene amount of electricity
widespread unlicenced appropriation of data to train AI might fall under “fair use” laws in the US but is likely illegal in the EU
people whose work was “stolen” are still often happy to use the resultant AI “product”
(personal opinion) consuming something despite awareness of issues seems similar to unhealthy addiction
it’s dangerous to believe that current AI is actually intelligent (rather than a curator of pre-existing data)
“Intelligence is a poor thing when it is imagined by corporations [mostly seeking] profit maximisation [of] shareholder value [at the expense of] artistic, imaginative, aesthetic and emotional expressions”
“We deserve better from the tools we use, the media we consume and the communities we live within”
“Technology is what we can learn to do”
]]>Casper da Costa-LuisDeno JS runtime advantages2023-02-13T00:00:00+00:002023-02-13T00:00:00+00:00https://tldr.cdcl.ml/deno-js-runtimeNew JavaScript runtime (deno) tries to fight the “worse-is-better law of software evolution”.
simplifies software development by removing “accidental complexity”
e.g. implicit dependencies, environment requirements, abstraction layers (docker)
no reliance on system shell, instead provides deno_task_shell
avoids compatibility issues between (b?a|z|t?c)sh
Makefile-like entrypoints without relying on make nor system shell
some builtin safety, e.g. deno run https://shady.website/main.ts < in.txt can only read the explicitly specified input
no package registry nor manager, instead lockfiles use URLs (optionally can self-host registries)
(personal opinion) the public will create a de-facto global registry
provides “stable” runtime APIs for unified cross-platform interface
stdlib is separate (like any dependency) from base deno binary
ongoing effort for more batteries-included stdlib
:crossed_swords: con: only runs TypeScript and/or JavaScript (rather than a sane language)
]]>Casper da Costa-LuisChatGPT is a Toy2023-01-05T00:00:00+00:002023-01-05T00:00:00+00:00https://tldr.cdcl.ml/gpt-is-a-toyCurrent
AI
artificial intelligence
bots are “A” but not “I”.
output is fluent (grammar/syntax) but uninteresting (meaning)
structure & style: formulaic/rule-based
content & meaning: engaging in the context of AI, but terrible in the context of publication-worthy professional prose
AI is (currently) a toy or (aesthetic not epistemological) instrument to play with
a new interface to a pre-existing large training corpus
:mag: search engine: understanding human grammar/syntax in queries where Google fails
can’t replace schools or publications
OpenAI released ChatGPT as a demo/experiment without giving use-cases
does not claim accuracy, creativity, nor veracity
prompting ChatGPT for better response quality leads to it making excuses reminiscent of “a student [complaining] about their grade” or admitting it is wrong
“we are drowning in an ocean of content”, “faking it with words” and current AI is going to make it worse
personal opinions
humanity’s biggest intellectual problem is the overwhelming deluge of poor content (quantity over quality)
ergo this blog summarises/distils into high-density (quality over quantity)
misleading content generated by ChatGPT when asked to criticise itself:
“lacks ability to understand complexity of language” – not true, grammar & syntax is easy for AI to grok
“outsourcing human conversations to a machine could have detrimental side effects on our society” – not true, the far bigger problem is low-quality machine output being blindly treated as high-quality (more often than low-quality human output is treated as high-quality)
other legitimate use cases of current (non-
AGI
artificial general intelligence
) AI
:robot: responding to the worst humans: people who call emergency numbers without a real emergency deserve no better than the current equally brainless AI
:confounded: highlighting confusing text: if the AI’s re-explanation of your existing text (in its own words) is horribly wrong, consider rewording/simplifying your text
:scroll: writer’s block: horrible AI placeholder text can prompt/inspire you
]]>Casper da Costa-LuisAggressive Agile2022-12-19T00:00:00+00:002022-12-19T00:00:00+00:00https://tldr.cdcl.ml/aggressive-agile“Agile” is a mindset, not a process/methodology.
pragmatic-vs-purist-debate is invalid (because “agile” is a mindset)
everyone has a different understanding of the agile manifesto
mindset
you can learn anything
you persevere over frustration
you learn from failures
your are inspired (not threatened) by others’ success
your effort/attitude (not abilities/smartness) determines success
aims
happiness
money (revenue)
keep customers happy
reduce & avoid costs (use cloud & open source, have small teams/avoid over-hiring)
safe environment for experimentation (more than just 1
PoC
proof of concept
)
anti-patterns: the following are NOT agile
multiple code & test sprints before something is ready for production
feature in production isn’t used because it’s not hardened (scalable, secure, optimised) enough
separate UX and dev sprints
scrum guide: time to deliver to production should be ~weeks
team should regularly reflect & adjust behaviour
agile coaching
don’t confuse training (syllabus), consultancy (prescriptive), mentoring (experienced-based), with coaching (ask questions, let team propose solutions, eventually self-coaching so separate coach not needed)