1594748428407693312, 1579667672144711680, 1576731875586224128, 1572626013452107778, 1568261818870800386, 1564616682219634714, 1561488791503720448, 1556471902473900032, 1740841191984488816, 1738688867681632596, 1741342049440612686, 1723970493307552093, 1726722109609804139, 1720480382905385130, 1711469313306284038, 1711389580018979139, 1708154192379216023, 1691290392204132353, 1696035115699445916, 1704472735219339585, 1675846329527062531
This commit is contained in:
1 parent
490238ce89
commit
6767719a1c
44 files changed
+1851
-40
No files matched your search
+136
@@ -0,0 +1,136 @@
|
||||
---
|
||||
title: "The Windows shell, which you'd think is a core part of the OS, runs like a hackjob by amateurs with very little understanding of latency, concurrency, and reliability."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/SheriefFYI/status/1711469313306284038"
|
||||
author: "Sherief, FYI"
|
||||
handle: SheriefFYI
|
||||
post_id: "1711469313306284038"
|
||||
date: 2023-10-09
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- SheriefFYI
|
||||
description: "The Windows shell, which you'd think is a core part of the OS, runs like a hackjob by amateurs with very little understanding of latency, concurrency, and reliability."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/SheriefFYI/status/1711469313306284038
|
||||
- Author: Sherief, FYI (@SheriefFYI)
|
||||
- Posted: 2023-10-09 19:50:56
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@SheriefFYI** ^1711469313306284038
|
||||
|
||||
The Windows shell, which you'd think is a core part of the OS, runs like a hackjob by amateurs with very little understanding of latency, concurrency, and reliability.
|
||||
|
||||
**2/** **@simplex_fx** ^1711501571916280293
|
||||
|
||||
**@SheriefFYI**
|
||||
|
||||
When was the last time windows shell was your main production or perf bottleneck in actual work?
|
||||
|
||||
**3/** **@SheriefFYI** ^1711501836216418446
|
||||
|
||||
**@simplex_fx**
|
||||
|
||||
Every day, I run multiple desktops and the shell commonly fails to respond / crashes when I use the four-finger swipe on my trackpad to switch desktops.
|
||||
|
||||
**4/** **@simplex_fx** ^1711502149954281834
|
||||
|
||||
**@SheriefFYI**
|
||||
|
||||
Is this powershell or good old cmd?
|
||||
|
||||
**5/** **@SheriefFYI** ^1711502320511627712
|
||||
|
||||
**@simplex_fx**
|
||||
|
||||
I'm talking about the GUI shell, explorer.exe. Sometimes it hangs when I open My Computer, so I can't browse to files. https://x.com/SheriefFYI/status/1600202188013600768?s=20
|
||||
|
||||
**6/** **@simplex_fx** ^1711502694165180779
|
||||
|
||||
**@SheriefFYI**
|
||||
|
||||
Have you reported the issue?
|
||||
|
||||
**7/** **@SheriefFYI** ^1711502730899157020
|
||||
|
||||
**@simplex_fx**
|
||||
|
||||
Multiple times.
|
||||
|
||||
**8/** **@simplex_fx** ^1711503122449699129
|
||||
|
||||
**@SheriefFYI**
|
||||
|
||||
What MS said?
|
||||
|
||||
**9/** **@SheriefFYI** ^1711503365656715392
|
||||
|
||||
**@simplex_fx**
|
||||
|
||||
[radio silence]
|
||||
|
||||
**10/** **@simplex_fx** ^1711503775897174304
|
||||
|
||||
**@SheriefFYI**
|
||||
|
||||
Btw, is this win11?
|
||||
|
||||
**11/** **@SheriefFYI** ^1711508121032720392
|
||||
|
||||
**@simplex_fx**
|
||||
|
||||
10.
|
||||
|
||||
**12/** **@simplex_fx** ^1711508712211239130
|
||||
|
||||
**@SheriefFYI**
|
||||
|
||||
Well, I assume they are not super keen to fix an edge case bug in an 8 year old OS :) shocking 😅
|
||||
|
||||
https://learn.microsoft.com/en-us/lifecycle/products/windows-10-home-and-pro
|
||||
|
||||
**13/** **@rfleury** ^1711571340728414309
|
||||
|
||||
**@simplex_fx** **@SheriefFYI**
|
||||
|
||||
Why is it always excuse after excuse?
|
||||
|
||||
**14/** **@simplex_fx** ^1711626988811624680
|
||||
|
||||
**@rfleury** **@SheriefFYI**
|
||||
|
||||
It’s not excuses, it’s simply you guys not understanding how sw dev actually generates profit.
|
||||
|
||||
Which is ok for a junior dev, but above that, it’s sad.
|
||||
|
||||
Hint: not via perfect sw.
|
||||
|
||||
I don’t see people returning win11 in masses.
|
||||
|
||||
**15/** **@rfleury** ^1711703714338324751
|
||||
|
||||
**@simplex_fx** **@SheriefFYI**
|
||||
|
||||
Likening Windows 11 to a traditional product sold in a market, as if someone “takes it back and returns it”, is unfathomably ridiculous.
|
||||
|
||||
I never claimed “perfect software” was how companies generate profit—at least not in the artificial modern economy.
|
||||
|
||||
**16/** **@rfleury** ^1711704178618437838
|
||||
|
||||
**@simplex_fx** **@SheriefFYI**
|
||||
|
||||
Your idea of “business” has developed within a massive multi-decade historic economic anomaly. I simply care about the software. Not every customer does to the same degree; that’s fine. But I am tired of “engineers” who make excuses for terrible work.
|
||||
|
||||
**17/** **@rfleury** ^1711704740810407976
|
||||
|
||||
**@simplex_fx** **@SheriefFYI**
|
||||
|
||||
In reality, bugs like this pile up and degrade the experience of a computer, making it ripe with opportunity.
|
||||
@@ -9,5 +9,6 @@ tags:
|
||||
- SheriefFYI
|
||||
---
|
||||
|
||||
- [[archive/threads/SheriefFYI/2023-10-09-the-windows-shell-which-youd-think-is-a-core-part]]
|
||||
- [[archive/threads/SheriefFYI/2023-12-19-always-always-always-use-an-async-copy-queue]]
|
||||
- [[archive/threads/SheriefFYI/2023-12-24-im-going-to-retract-my-support-for-this-i-just]]
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "@rfleury @cmuratori @TylerGlaiel @AllenWebster4th Thank you for the breakdown Ryan."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/anicic_filip/status/1724426554216776002"
|
||||
author: "Filip Aničić"
|
||||
handle: anicic_filip
|
||||
post_id: "1724426554216776002"
|
||||
date: 2023-11-14
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- TylerGlaiel
|
||||
description: "@rfleury @cmuratori @TylerGlaiel @AllenWebster4th Thank you for the breakdown Ryan."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1724259422174904802"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/anicic_filip/status/1724426554216776002
|
||||
- Author: Filip Aničić (@anicic_filip)
|
||||
- Posted: 2023-11-14 13:58:23
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@anicic_filip** ^1724426554216776002
|
||||
|
||||
**@rfleury** **@cmuratori** **@TylerGlaiel** **@AllenWebster4th**
|
||||
|
||||
Thank you for the breakdown Ryan. Much appreciated :)
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/TylerGlaiel/2023-11-13-my-god-theyre-maybe-finally-adding-reflection-to]]
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
---
|
||||
title: "my god they're maybe finally adding reflection to C++26"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/TylerGlaiel/status/1723970493307552093"
|
||||
author: "Tyler Glaiel"
|
||||
handle: TylerGlaiel
|
||||
post_id: "1723970493307552093"
|
||||
date: 2023-11-13
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- TylerGlaiel
|
||||
description: "my god they're maybe finally adding reflection to C++26"
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/TylerGlaiel/status/1723970493307552093
|
||||
- Author: Tyler Glaiel (@TylerGlaiel)
|
||||
- Posted: 2023-11-13 07:46:10
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@TylerGlaiel** ^1723970493307552093
|
||||
|
||||
my god they're maybe finally adding reflection to C++26
|
||||
|
||||
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2996r0.html
|
||||
|
||||
**2/** **@cmuratori** ^1724152404596404631
|
||||
|
||||
**@TylerGlaiel**
|
||||
|
||||
I can only imagine the fifteen ways they will have managed to make it completely unusable in any scenario where you might actually want reflection.
|
||||
|
||||
**3/** **@anicic_filip** ^1724251440422539551
|
||||
|
||||
**@cmuratori** **@TylerGlaiel**
|
||||
|
||||
What do you normally use for reflection of data in C++ to your game/editor tools?
|
||||
|
||||
**4/** **@cmuratori** ^1724252283523707159
|
||||
|
||||
**@anicic_filip** **@TylerGlaiel**
|
||||
|
||||
A program I wrote.
|
||||
|
||||
**5/** **@anicic_filip** ^1724253524467282244
|
||||
|
||||
**@cmuratori** **@TylerGlaiel**
|
||||
|
||||
Any public alternatives that are decent for small projects, that you tried before?
|
||||
|
||||
**6/** **@cmuratori** ^1724256203574833485
|
||||
|
||||
**@anicic_filip** **@TylerGlaiel**
|
||||
|
||||
I have not tried it, but @rfleury and @AllenWebster4th did one called MetaDesk at one point: https://dion.systems/metadesk.html
|
||||
|
||||
**7/** **@rfleury** ^1724257454224236925
|
||||
|
||||
**@cmuratori** **@anicic_filip** **@TylerGlaiel** **@AllenWebster4th**
|
||||
|
||||
I still use Metadesk for metacode (it is a simpler, metaprogram-/handwriting-tuned JSON-superset text format). My metaprogram just ingests both Metadesk files and my C files, and I can parse/generate whatever I want.
|
||||
|
||||
I wrote on one way I use it here:
|
||||
https://www.rfleury.com/p/table-driven-code-generation
|
||||
|
||||
**8/** **@rfleury** ^1724258277989757390
|
||||
|
||||
**@cmuratori** **@anicic_filip** **@TylerGlaiel** **@AllenWebster4th**
|
||||
|
||||
You can also just use macros to encode stuff directly into your C, or nest & extend C within your metacode language, but I found separate metacode was simpler and mostly without extra hassle, and my metaprogram constructs don't need to be C-like or live within C constructs.
|
||||
|
||||
**9/** **@rfleury** ^1724258628725862688
|
||||
|
||||
**@cmuratori** **@anicic_filip** **@TylerGlaiel** **@AllenWebster4th**
|
||||
|
||||
But yeah, there are loads of options - you just need programs that parse and output text, then you just author the stuff you want in the parsed text. There is no reason why auto-gen'd reflection data needs to exist in your C++ compiler, and frankly it's best if it doesn't.
|
||||
|
||||
**10/** **@rfleury** ^1724259422174904802
|
||||
|
||||
**@cmuratori** **@anicic_filip** **@TylerGlaiel** **@AllenWebster4th**
|
||||
|
||||
(I know Casey knows all of this, but figured I'd add info from my Metadesk-perspective for those reading this thread)
|
||||
|
||||
Branches: [[archive/threads/TylerGlaiel/2023-11-13-my-god-theyre-maybe-finally-adding-reflection-to/2023-11-14-anicic_filip-thank-you-for-the-breakdown-ryan-much-appreciated]]
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: TylerGlaiel
|
||||
type: note
|
||||
draft: false
|
||||
description: Archived threads by TylerGlaiel.
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- TylerGlaiel
|
||||
---
|
||||
|
||||
- [[archive/threads/TylerGlaiel/2023-11-13-my-god-theyre-maybe-finally-adding-reflection-to]]
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: "what does local first mean?"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/WarrenInTheBuff/status/1738688867681632596"
|
||||
author: "WarrenBuffering"
|
||||
handle: WarrenInTheBuff
|
||||
post_id: "1738688867681632596"
|
||||
date: 2023-12-23
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- WarrenInTheBuff
|
||||
description: "what does local first mean?"
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/WarrenInTheBuff/status/1738688867681632596
|
||||
- Author: WarrenBuffering (@WarrenInTheBuff)
|
||||
- Posted: 2023-12-23 22:31:43
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@WarrenInTheBuff** ^1738688867681632596
|
||||
|
||||
what does local first mean?
|
||||
|
||||
**2/** **@rfleury** ^1738761186911633840
|
||||
|
||||
**@WarrenInTheBuff**
|
||||
|
||||
In the context of software, it means the prioritization of the well-functioning of software as disconnected from networks—meaning it works as well in an off-the-grid cabin after 20 years of installation as it does on the newest version in a major city, connected to the net
|
||||
|
||||
**3/** **@rfleury** ^1738761407225860280
|
||||
|
||||
**@WarrenInTheBuff**
|
||||
|
||||
Obviously some features (e.g. remote collaborative editing) only work while connected—that’s fine, but their working must not compromise that first basic premise
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: WarrenInTheBuff
|
||||
type: note
|
||||
draft: false
|
||||
description: Archived threads by WarrenInTheBuff.
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- WarrenInTheBuff
|
||||
---
|
||||
|
||||
- [[archive/threads/WarrenInTheBuff/2023-12-23-what-does-local-first-mean]]
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
---
|
||||
title: "TIL that this is correct syntax and that `finally` runs after the return of the function"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/alexdotjs/status/1704472735219339585"
|
||||
author: "Alex / KATT 🐱"
|
||||
handle: alexdotjs
|
||||
post_id: "1704472735219339585"
|
||||
date: 2023-09-20
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- alexdotjs
|
||||
description: "TIL that this is correct syntax and that `finally` runs after the return of the function"
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/alexdotjs/status/1704472735219339585
|
||||
- Author: Alex / KATT 🐱 (@alexdotjs)
|
||||
- Posted: 2023-09-20 12:29:02
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@alexdotjs** ^1704472735219339585
|
||||
|
||||
TIL that this is correct syntax and that `finally` runs after the return of the function
|
||||
|
||||
#junior4lyfe
|
||||
|
||||

|
||||
|
||||
**2/** **@ThePrimeagen** ^1704676599210127604
|
||||
|
||||
**@alexdotjs**
|
||||
|
||||
Try catch is a mistake
|
||||
|
||||
**3/** **@rfleury** ^1704715681831538787
|
||||
|
||||
**@ThePrimeagen** **@alexdotjs**
|
||||
|
||||
“Error data” is not special data, and doesn’t deserve special treatment via special language features. Error conditions are just conditions, and code needs to be prepared one way or another for all plausible conditions
|
||||
|
||||
**4/** **@eloytoro** ^1704801861570560417
|
||||
|
||||
**@rfleury** **@ThePrimeagen** **@alexdotjs**
|
||||
|
||||
How about panics
|
||||
|
||||
**5/** **@rfleury** ^1704841356181745924
|
||||
|
||||
**@eloytoro** **@ThePrimeagen** **@alexdotjs**
|
||||
|
||||
Panics are reasonable but are appropriate for a very small % of what people call “errors”
|
||||
|
||||
**6/** **@eloytoro** ^1704842606943899762
|
||||
|
||||
**@rfleury** **@ThePrimeagen** **@alexdotjs**
|
||||
|
||||
the problem is when there's no semantic difference between an exception and a panic, like in JS/Java/C++ etc
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: alexdotjs
|
||||
type: note
|
||||
draft: false
|
||||
description: Archived threads by alexdotjs.
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- alexdotjs
|
||||
---
|
||||
|
||||
- [[archive/threads/alexdotjs/2023-09-20-til-that-this-is-correct-syntax-and-that-finally]]
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: "Being able to edit many things at once is a sorely missing feature in most UIs."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/hasen_95dx/status/1696035115699445916"
|
||||
author: "ハセン حسن"
|
||||
handle: hasen_95dx
|
||||
post_id: "1696035115699445916"
|
||||
date: 2023-08-28
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- hasen_95dx
|
||||
description: "Being able to edit many things at once is a sorely missing feature in most UIs."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/hasen_95dx/status/1696035115699445916
|
||||
- Author: ハセン حسن (@hasen_95dx)
|
||||
- Posted: 2023-08-28 05:40:57
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@hasen_95dx** ^1696035115699445916
|
||||
|
||||
Being able to edit many things at once is a sorely missing feature in most UIs.
|
||||
|
||||
Say I have a form on a webpage. Why can't I copy/paste the entire form? Why can I only edit text in a single field at a time?
|
||||
|
||||
**2/** **@rfleury** ^1696338656284615101
|
||||
|
||||
**@Hasen_Judi**
|
||||
|
||||
Because the text part is standardized as a medium, and the form part is not - there is not enough structure in the underlying substrate.
|
||||
|
||||
**3/** **@hasen_95dx** ^1696344406436290936
|
||||
|
||||
**@rfleury**
|
||||
|
||||
It's possible to just treat it as a list of text fields with no other structure.
|
||||
|
||||
Spreadsheet programs do something like this.
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: hasen_95dx
|
||||
type: note
|
||||
draft: false
|
||||
description: Archived threads by hasen_95dx.
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- hasen_95dx
|
||||
---
|
||||
|
||||
- [[archive/threads/hasen_95dx/2023-08-28-being-able-to-edit-many-things-at-once-is-a]]
|
||||
@@ -14,6 +14,7 @@ How to read a folder: [[notes/How threads are organized]].
|
||||
Example of the note shape (single spine, no branches): [[archive/threads/How to archive a thread]]
|
||||
|
||||
- [[archive/threads/AgileJebrim]]
|
||||
- [[archive/threads/alexdotjs]]
|
||||
- [[archive/threads/bmcnett]]
|
||||
- [[archive/threads/Bobby_Anguelov]]
|
||||
- [[archive/threads/BOENSAW]]
|
||||
@@ -25,6 +26,7 @@ Example of the note shape (single spine, no branches): [[archive/threads/How to
|
||||
- [[archive/threads/Dispatch_Graph]]
|
||||
- [[archive/threads/EricLengyel]]
|
||||
- [[archive/threads/FFmpeg]]
|
||||
- [[archive/threads/hasen_95dx]]
|
||||
- [[archive/threads/HostOfMeta]]
|
||||
- [[archive/threads/hsn8086]]
|
||||
- [[archive/threads/ID_AA_Carmack]]
|
||||
@@ -62,8 +64,10 @@ Example of the note shape (single spine, no branches): [[archive/threads/How to
|
||||
- [[archive/threads/TimSweeneyEpic]]
|
||||
- [[archive/threads/tom_forsyth]]
|
||||
- [[archive/threads/Triang3l]]
|
||||
- [[archive/threads/TylerGlaiel]]
|
||||
- [[archive/threads/valigo]]
|
||||
- [[archive/threads/VictorTaelin]]
|
||||
- [[archive/threads/vkrajacic]]
|
||||
- [[archive/threads/VPCOMPRESSB]]
|
||||
- [[archive/threads/WarrenInTheBuff]]
|
||||
- [[archive/threads/winning_tactic]]
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "@rfleury You can still have the representation be textual but have the ide give you tooling of this kind."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/SasLuca/status/1166992282173739008"
|
||||
author: "Luca"
|
||||
handle: SasLuca
|
||||
post_id: "1166992282173739008"
|
||||
date: 2019-08-29
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury You can still have the representation be textual but have the ide give you tooling of this kind."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1166970972882128896"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/SasLuca/status/1166992282173739008
|
||||
- Author: Luca (@SasLuca)
|
||||
- Posted: 2019-08-29 08:33:36
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@SasLuca** ^1166992282173739008
|
||||
|
||||
**@rfleury**
|
||||
|
||||
You can still have the representation be textual but have the ide give you tooling of this kind. For example if you use swift in xcode you can drag and drop an image and set it as the value of a variable, or a 3d model, etc.
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode]]
|
||||
+1
-1
@@ -7,7 +7,7 @@ author: "William Bundy"
|
||||
handle: William_Bundy
|
||||
post_id: "1166972251993866245"
|
||||
date: 2019-08-29
|
||||
archived: 2026-08-26
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "@rfleury Are you familiar with @stevekrouse and his http://futureofcoding.org community?"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/azmreece/status/1167148675140857856"
|
||||
author: "Andrew Reece"
|
||||
handle: azmreece
|
||||
post_id: "1167148675140857856"
|
||||
date: 2019-08-29
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury Are you familiar with @stevekrouse and his http://futureofcoding.org community?"
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1166970972882128896"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/azmreece/status/1167148675140857856
|
||||
- Author: Andrew Reece (@azmreece)
|
||||
- Posted: 2019-08-29 18:55:03
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@azmreece** ^1167148675140857856
|
||||
|
||||
**@rfleury**
|
||||
|
||||
Are you familiar with @stevekrouse and his http://futureofcoding.org community?
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode]]
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: "@rfleury Would you consider tools like Unreal's blueprints something pointing in that direction?"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/marcos_don/status/1167077220902477824"
|
||||
author: "Marcos"
|
||||
handle: marcos_don
|
||||
post_id: "1167077220902477824"
|
||||
date: 2019-08-29
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury Would you consider tools like Unreal's blueprints something pointing in that direction?"
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1166970972882128896"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/marcos_don/status/1167077220902477824
|
||||
- Author: Marcos (@marcos_don)
|
||||
- Posted: 2019-08-29 14:11:07
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@marcos_don** ^1167077220902477824
|
||||
|
||||
**@rfleury**
|
||||
|
||||
Would you consider tools like Unreal's blueprints something pointing in that direction?
|
||||
|
||||
**2/** **@rfleury** ^1167121853250326528
|
||||
|
||||
**@marcos_don**
|
||||
|
||||
In principle, but I think they're not quite getting at the big picture, which is decoupling representation from semantics entirely. The best representation is not necessarily a DAG arranged in the way we've seen in material graphs.
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode]]
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "@rfleury I was having similar thoughts about this."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/saidalattrach/status/1167096040547389440"
|
||||
author: "Said Al Attrach"
|
||||
handle: saidalattrach
|
||||
post_id: "1167096040547389440"
|
||||
date: 2019-08-29
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury I was having similar thoughts about this."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1166970972882128896"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/saidalattrach/status/1167096040547389440
|
||||
- Author: Said Al Attrach (@saidalattrach)
|
||||
- Posted: 2019-08-29 15:25:54
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@saidalattrach** ^1167096040547389440
|
||||
|
||||
**@rfleury**
|
||||
|
||||
I was having similar thoughts about this. I am surprised no one made a text editor yet where you can manipulate code at the AST level. For example, inlining a function would be just one click or keystroke and the editor would take care of renaming variables, etc.
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode]]
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "@rfleury Why aren't we working straight in assembly code? ;)"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/stbachmann/status/1167130442715131904"
|
||||
author: "Stefan Bachmann"
|
||||
handle: stbachmann
|
||||
post_id: "1167130442715131904"
|
||||
date: 2019-08-29
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury Why aren't we working straight in assembly code? ;)"
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1166970972882128896"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/stbachmann/status/1167130442715131904
|
||||
- Author: Stefan Bachmann (@stbachmann)
|
||||
- Posted: 2019-08-29 17:42:36
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@stbachmann** ^1167130442715131904
|
||||
|
||||
**@rfleury**
|
||||
|
||||
Why aren't we working straight in assembly code? ;)
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode]]
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
---
|
||||
title: "@rfleury Many people seem skeptical of this idea with regards to alternative ways to render or edit the AST but I think there is a pretty clear path forward there personally..."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/hmn_riscy/status/1167764451724017664"
|
||||
author: "RISCY BUSINESS"
|
||||
handle: hmn_riscy
|
||||
post_id: "1167764451724017664"
|
||||
date: 2019-08-31
|
||||
archived: 2026-08-26
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury Many people seem skeptical of this idea with regards to alternative ways to render or edit the AST but I think there is a pretty clear path forward there personally..."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1166970982155767808"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/hmn_riscy/status/1167764451724017664
|
||||
- Author: RISCY BUSINESS (@hmn_riscy)
|
||||
- Posted: 2019-08-31 11:41:55
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@hmn_riscy** ^1167764451724017664
|
||||
|
||||
**@rfleury**
|
||||
|
||||
Many people seem skeptical of this idea with regards to alternative ways to render or edit the AST but I think there is a pretty clear path forward there personally...
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode]]
|
||||
+46
-2
@@ -7,7 +7,7 @@ author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1166970972882128896"
|
||||
date: 2019-08-29
|
||||
archived: 2026-08-26
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
@@ -29,6 +29,8 @@ in_reply_to: ""
|
||||
|
||||
Why do we spend so much effort to encode programming language semantics into a textual form just so a parser can go through the error-prone process of ripping that same exact information back out? Why not work directly on a program's abstract-syntax tree? (1/8)
|
||||
|
||||
Branches: [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode/2019-08-29-SasLuca-you-can-still-have-the-representation-be-textual]], [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode/2019-08-29-marcos_don-would-you-consider-tools-like-unreals-blueprints]], [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode/2019-08-29-saidalattrach-i-was-having-similar-thoughts-about-this-i-am]], [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode/2019-08-29-stbachmann-why-arent-we-working-straight-in-assembly-code]], [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode/2019-08-29-azmreece-are-you-familiar-with-stevekrouse-and-his-http]]
|
||||
|
||||
**2/** **@rfleury** ^1166970974463377408
|
||||
|
||||
This would speed up builds and tools by preventing a parsing step entirely. It would also allow tools to more easily work within the semantics of the language, both because of the lack of a parsing requirement, and also because of the form of the modifications. (2/8)
|
||||
@@ -57,4 +59,46 @@ Can you imagine if "find the definition for this type" in a large codebase didn'
|
||||
|
||||
I argue that this is the natural next step in computing. Artists do not manually write down a set of pixels, vertex data, or musical notes to get the results that they want, as we've decided there can be better tools for that. Why do we think that's untrue for programming? (8/8)
|
||||
|
||||
Branches: [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode/2019-08-29-William_Bundy-for-a-moment-i-thought-you-were-revealing-your]], [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode/2019-08-31-hmn_riscy-many-people-seem-skeptical-of-this-idea-with]]
|
||||
Branches: [[archive/threads/rfleury/2019-08-29-why-do-we-spend-so-much-effort-to-encode/2019-08-29-William_Bundy-for-a-moment-i-thought-you-were-revealing-your]]
|
||||
|
||||
**9/** **@hmn_riscy** ^1167764451724017664
|
||||
|
||||
**@rfleury**
|
||||
|
||||
Many people seem skeptical of this idea with regards to alternative ways to render or edit the AST but I think there is a pretty clear path forward there personally...
|
||||
|
||||
**10/** **@hmn_riscy** ^1167765299166437377
|
||||
|
||||
**@rfleury**
|
||||
|
||||
What hula is going to have is a kind of hybrid token/text based editor with autocomplete, think TI-BASIC meets colorForth. Multiple rendering modes, panels that show different things. You've got a node editor that is visualising the AST as code on the left, next panel is asm,
|
||||
|
||||
**11/** **@hmn_riscy** ^1167765816017899520
|
||||
|
||||
**@rfleury**
|
||||
|
||||
next panel is data section, you could have plenty of other things/configure this but basically if you want to add a global variable, you pop it over in the data section which is where it literally lives in the executable, that kind of thing has such an obvious representation
|
||||
|
||||
**12/** **@hmn_riscy** ^1167766237939732480
|
||||
|
||||
**@rfleury**
|
||||
|
||||
If you start typing a string in the code that matches the var, it appears in the autocomplete and lets you directly reference that node, or you can just keyboard shortcut over to the data panel and visually select where you are referencing
|
||||
|
||||
**13/** **@hmn_riscy** ^1167766952288370688
|
||||
|
||||
**@rfleury**
|
||||
|
||||
the asm output updates in real time, think godbolt's code explorer except a standard part of your code editor. Compiler doesn't do optimisation, instead you interact with the optimiser more intimately integrated with profiling tools and optimisations are kept like patch files...
|
||||
|
||||
**14/** **@hmn_riscy** ^1167767360935251968
|
||||
|
||||
**@rfleury**
|
||||
|
||||
which provide transformations over the ast to be applied before compiling the ast for a target, a file for each target profile basically
|
||||
|
||||
**15/** **@hmn_riscy** ^1167768102651797505
|
||||
|
||||
**@rfleury**
|
||||
|
||||
People jump to thinking about lisp because s-expressions are a direct representation of an AST, but that's really not the correct way to think about this concept, that's not how you want it rendered (unless you love your parens and RPN I guess!)
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "@umpereiraai @bigrando420 Code should be organized by practical necessity, not by top-down design before any code has been written."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1556471902473900032"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1556471902473900032"
|
||||
date: 2022-08-08
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@umpereiraai @bigrando420 Code should be organized by practical necessity, not by top-down design before any code has been written."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1556471902473900032
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2022-08-08 02:46:34
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1556471902473900032
|
||||
|
||||
**@umpereiraai** **@bigrando420**
|
||||
|
||||
Code should be organized by practical necessity, not by top-down design before any code has been written. The latter causes cruft and friction when inevitably reorganizing due to unexpected constraints. Always assume one layer, then build more as necessary.
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
---
|
||||
title: "I have no idea how the idea that *data structures* are coupled to *layout of data structures in memory * got so pervasive with programmers."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1561488791503720448"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1561488791503720448"
|
||||
date: 2022-08-21
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "I have no idea how the idea that *data structures* are coupled to *layout of data structures in memory * got so pervasive with programmers."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1561488791503720448
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2022-08-21 23:01:53
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1561488791503720448
|
||||
|
||||
I have no idea how the idea that *data structures* are coupled to *layout of data structures in memory * got so pervasive with programmers. It’s like nobody ever learned anything other than malloc’ing each node and stuffing a single tiny payload into them. Totally bizarre.
|
||||
|
||||
**2/** **@_plop_** ^1561711055285456897
|
||||
|
||||
**@rfleury**
|
||||
|
||||
well I have an idea, just use c++ 🤷♂️ it's not like the average person can easily avoid using std containers
|
||||
|
||||
**3/** **@rfleury** ^1561720380590419968
|
||||
|
||||
**@_plop_**
|
||||
|
||||
Custom data structures and memory management are not nearly as hard as people make them out to be. In fact, they end up being *easier* in a lot of ways. I don't think it's that difficult to teach, but maybe some good visualizers/debuggers would help make it trivial to understand.
|
||||
|
||||
**4/** **@_plop_** ^1561752840330219521
|
||||
|
||||
**@rfleury**
|
||||
|
||||
well I agree we should teach them more, but they do add a lot of potential for bugs, which is why a lot companies/programmers choose to rely on silly but robust std maps instead of writing their own hash maps
|
||||
|
||||
**5/** **@rfleury** ^1561755261567508486
|
||||
|
||||
**@_plop_**
|
||||
|
||||
I realize people *claim that* but it’s never actually measured. In practice it seems entirely false, especially with simple sanity checks and testing. It’s ridiculous, to me, that writing a hash-table is seen as unbearably difficult for professional programmers industry at large.
|
||||
|
||||
**6/** **@rfleury** ^1561755644868251648
|
||||
|
||||
**@_plop_**
|
||||
|
||||
Furthermore, this touches on another myth, which is that programmers “choose data structures”. Data structures are not mutually exclusive. When you restrict yourself to *choosing one* out of a standard library, you eliminate a massive space of possibilities.
|
||||
|
||||
**7/** **@rfleury** ^1561755778175815680
|
||||
|
||||
**@_plop_**
|
||||
|
||||
Programmers should instead learn data structure *principles* and how to mix-and-match them at will.
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "@rfleury It is impressive how quickly they're managing to trash decades of work improving the user experience when they decided Windows should be \"free\" and that their former customers would be the product they sold."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/tachydyne/status/1564702373984931840"
|
||||
author: "Johnny Dickinson"
|
||||
handle: tachydyne
|
||||
post_id: "1564702373984931840"
|
||||
date: 2022-08-30
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury It is impressive how quickly they're managing to trash decades of work improving the user experience when they decided Windows should be \"free\" and that their former customers would be the product they sold."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1564616684463595524"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/tachydyne/status/1564702373984931840
|
||||
- Author: Johnny Dickinson (@tachydyne)
|
||||
- Posted: 2022-08-30 19:51:31
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@tachydyne** ^1564702373984931840
|
||||
|
||||
**@rfleury**
|
||||
|
||||
It is impressive how quickly they're managing to trash decades of work improving the user experience when they decided Windows should be "free" and that their former customers would be the product they sold. Things were much better when Windows was software that you purchased
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2022-08-30-this-thread-makes-some-good-points-about-the-ui]]
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: "This thread makes some good points about the UI design here, but the glaringly-obvious issue has little to do visual appeal, readability, alignment, or mismatched corners."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1564616682219634714"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1564616682219634714"
|
||||
date: 2022-08-30
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "This thread makes some good points about the UI design here, but the glaringly-obvious issue has little to do visual appeal, readability, alignment, or mismatched corners."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1564616682219634714
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2022-08-30 14:11:00
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1564616682219634714
|
||||
|
||||
This thread makes some good points about the UI design here, but the glaringly-obvious issue has little to do visual appeal, readability, alignment, or mismatched corners. It has *everything* to do with the fact that @microsoft treats its users like hamsters on a wheel.
|
||||
|
||||
**2/** **@rfleury** ^1564616684463595524
|
||||
|
||||
The days of Windows being a useful boundary between human and hardware are long gone - now, it's an exploitative device, meant to influence and extract value from you. Their condescension and hatred for those who use their software is on full display.
|
||||
|
||||
Branches: [[archive/threads/rfleury/2022-08-30-this-thread-makes-some-good-points-about-the-ui/2022-08-30-tachydyne-it-is-impressive-how-quickly-theyre-managing-to]]
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: "@hasen_judy @convexcollider @croloris @sc13ts @AbnerCoimbre @AllenWebster4th @handmade_seattl Yes, we need simpler tools all the way down the stack, and that disqualifies C++."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1568261818870800386"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1568261818870800386"
|
||||
date: 2022-09-09
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@hasen_judy @convexcollider @croloris @sc13ts @AbnerCoimbre @AllenWebster4th @handmade_seattl Yes, we need simpler tools all the way down the stack, and that disqualifies C++."
|
||||
in_reply_to: "1568236459123183616"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1568261818870800386
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2022-09-09 15:35:29
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1568261818870800386
|
||||
|
||||
**@hasen_judy** **@convexcollider** **@croloris** **@sc13ts** **@AbnerCoimbre** **@AllenWebster4th** **@handmade_seattl**
|
||||
|
||||
Yes, we need simpler tools all the way down the stack, and that disqualifies C++.
|
||||
|
||||
But even so, the point of building such an environment, nevertheless, is to bootstrap it—not stay attached to some simpler text environment forever.
|
||||
|
||||
**2/** **@rfleury** ^1568262037658271749
|
||||
|
||||
**@hasen_judy** **@convexcollider** **@croloris** **@sc13ts** **@AbnerCoimbre** **@AllenWebster4th** **@handmade_seattl**
|
||||
|
||||
Zig, Rust, and C++ all suffer from the same backwards philosophy which suggests that the solution to our problems is to make the compiler more sophisticated in order to offer more quality of life features. That could not be further from the truth.
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "“We don’t know what programming is."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1572626013452107778"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1572626013452107778"
|
||||
date: 2022-09-21
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "“We don’t know what programming is."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1572626013452107778
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2022-09-21 16:37:14
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1572626013452107778
|
||||
|
||||
“We don’t know what programming is. We don’t know what computing is. We don’t even know what a computer is. And once you truly understand that, and once you truly believe that, then you’re free, and you can think anything.”
|
||||
|
||||
https://youtu.be/8pTEmbeENF4
|
||||
+70
@@ -0,0 +1,70 @@
|
||||
---
|
||||
title: "Simplifying formats and protocols—particularly making them easy to implement from scratch—prohibits true monopolization."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1576731875586224128"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1576731875586224128"
|
||||
date: 2022-10-03
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "Simplifying formats and protocols—particularly making them easy to implement from scratch—prohibits true monopolization."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1576731875586224128
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2022-10-03 00:32:28
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1576731875586224128
|
||||
|
||||
Simplifying formats and protocols—particularly making them easy to implement from scratch—prohibits true monopolization. As the computing industry entrenches itself further into a complexity addiction, control will centralize. This gets worse the more depended upon something is.
|
||||
|
||||
**2/** **@RFephemeration** ^1576807625664012288
|
||||
|
||||
**@rfleury**
|
||||
|
||||
How do you account for the emergent complexity of supposedly simple things that end up requiring lots of twisting to cover edge cases?
|
||||
|
||||
**3/** **@rfleury** ^1577497779051823104
|
||||
|
||||
**@RFephemeration**
|
||||
|
||||
This is a good question, and I think the same issue arises in a variety of scenarios. For example, a format may be simple, but limited in practical scenarios (e.g. the text file format, leading to complexity in compilers, IDEs, editors, etc.). (1/n)
|
||||
|
||||
**4/** **@rfleury** ^1577498470885515264
|
||||
|
||||
**@RFephemeration**
|
||||
|
||||
Problems may be intrinsically complex, at least until we discover better solutions, so there's initial buy-in to complex solutions. A culture of (and techniques for) self-reliance and cruft-eviction (e.g. tossing out dependencies) have helped me, and might help the industry too.
|
||||
|
||||
**5/** **@rfleury** ^1577499136425086976
|
||||
|
||||
**@RFephemeration**
|
||||
|
||||
A full-on rejection of "don't reinvent the wheel", and of the idea that anyone has anything figured out. I realize "culture" is an unsatisfying answer, and that culture is unstable. Perhaps new organizations or groups can help promote culture through tangible benefits. (3/3)
|
||||
|
||||
**6/** **@RFephemeration** ^1577500679152619521
|
||||
|
||||
**@rfleury**
|
||||
|
||||
Yeah, I think of cultural strategies as incredibly complex, though I agree they are a necessary compliment.
|
||||
|
||||
It makes me turn my focus more towards community and communication, particularly activism.
|
||||
|
||||
With the eye for simplicity as an occasional check in rather than goal.
|
||||
|
||||
**7/** **@rfleury** ^1577511191643320320
|
||||
|
||||
**@RFephemeration**
|
||||
|
||||
I partly agree but think activism must be grounded and tested against voluntary participation and transaction in the market, to ensure it doesn’t devolve into a wishful fantasy.
|
||||
@@ -0,0 +1,65 @@
|
||||
---
|
||||
title: "While I'd love to say some cool future-of-computing ideas, let's start with the bare minimum:"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1579667672144711680"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1579667672144711680"
|
||||
date: 2022-10-11
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "While I'd love to say some cool future-of-computing ideas, let's start with the bare minimum:"
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1579667672144711680
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2022-10-11 02:58:16
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1579667672144711680
|
||||
|
||||
While I'd love to say some cool future-of-computing ideas, let's start with the bare minimum:
|
||||
|
||||
- No spyware
|
||||
- No automatic updates
|
||||
- No required account setup
|
||||
- No ads
|
||||
- No unwanted popups/notifications
|
||||
- No registry
|
||||
- No services
|
||||
- No installers
|
||||
- No app signing
|
||||
- No "cloud"
|
||||
|
||||
**2/** **@rsms** ^1579677678722224128
|
||||
|
||||
**@rfleury**
|
||||
|
||||
I agree with most of these, but I’m curious why cryptographic signatures of executables is not something you’d like?
|
||||
|
||||
**3/** **@rfleury** ^1579680115474432001
|
||||
|
||||
**@rsms**
|
||||
|
||||
As a passive feature I don’t have a problem with it—that is, if it’s strictly about surfacing information to the user (while still allowing him to make the choice). But the operating system violates ownership if it prevents the user from running code that he wants to run.
|
||||
|
||||
**4/** **@rfleury** ^1579681574886739969
|
||||
|
||||
**@rsms**
|
||||
|
||||
In other words, I am not opposed to security layers, I am opposed to disallowing full user control at the most basic layer. I am also opposed to many shades-of-gray; for instance, making it obscure and complex to disable security layers.
|
||||
|
||||
**5/** **@rfleury** ^1579681917615898624
|
||||
|
||||
**@rsms**
|
||||
|
||||
A system where disabling security layers is difficult and obscure is "technically allowing the user to do what they want", but its true spirit is obvious - complete disregard for the user's own responsibility and abilities.
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: "@rfleury @AllenWebster4th @MemoryArenaMain just passing by"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/lilmongrel40k/status/1594750529850441729"
|
||||
author: "Mongrel"
|
||||
handle: lilmongrel40k
|
||||
post_id: "1594750529850441729"
|
||||
date: 2022-11-21
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury @AllenWebster4th @MemoryArenaMain just passing by"
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1594749526510034945"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/lilmongrel40k/status/1594750529850441729
|
||||
- Author: Mongrel (@lilmongrel40k)
|
||||
- Posted: 2022-11-21 17:52:10
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@lilmongrel40k** ^1594750529850441729
|
||||
|
||||
**@rfleury** **@AllenWebster4th** **@MemoryArenaMain**
|
||||
|
||||
just passing by
|
||||
|
||||

|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2022-11-21-to-clarify-i-dont-write-in-first-person-plural]]
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: "@AllenWebster4th @MemoryArenaMain To clarify, I don’t write in first person plural for a reason—I don’t believe in “we”, and I don’t care to enforce my preferences on others."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1594748428407693312"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1594748428407693312"
|
||||
date: 2022-11-21
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@AllenWebster4th @MemoryArenaMain To clarify, I don’t write in first person plural for a reason—I don’t believe in “we”, and I don’t care to enforce my preferences on others."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1594748428407693312
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2022-11-21 17:43:48
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1594748428407693312
|
||||
|
||||
**@AllenWebster4th** **@MemoryArenaMain**
|
||||
|
||||
To clarify, I don’t write in first person plural for a reason—I don’t believe in “we”, and I don’t care to enforce my preferences on others. The proof is really in the pudding. It’s not within the realm of feasibility (nor perhaps desirability) to “decide the issue” universally.
|
||||
|
||||
**2/** **@rfleury** ^1594748740103208960
|
||||
|
||||
**@AllenWebster4th** **@MemoryArenaMain**
|
||||
|
||||
In my opinion it *is* within reason to teach/convince *enough* people that the simplification offered by arenas is compelling, such that a growing population finds themselves improved as programmers, and decide to adopt the strategy in their own work.
|
||||
|
||||
**3/** **@rfleury** ^1594749526510034945
|
||||
|
||||
**@AllenWebster4th** **@MemoryArenaMain**
|
||||
|
||||
I find arenas an incredibly solid default allocation abstraction for a wide array of use cases. I don’t know what would be more convincing to others than a massive world of software built with this in mind, serving as empirical evidence of improved techniques.
|
||||
|
||||
Branches: [[archive/threads/rfleury/2022-11-21-to-clarify-i-dont-write-in-first-person-plural/2022-11-21-lilmongrel40k-just-passing-by]]
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
---
|
||||
title: "Decades of programming tooling and academic curriculum were built in an entirely different hardware landscape."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1675846329527062531"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1675846329527062531"
|
||||
date: 2023-07-03
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "Decades of programming tooling and academic curriculum were built in an entirely different hardware landscape."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1675846329527062531
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2023-07-03 12:37:55
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1675846329527062531
|
||||
|
||||
Decades of programming tooling and academic curriculum were built in an entirely different hardware landscape. The hardware has changed, which means everything from an algorithm implementation’s structure, to “micro-optimizations”, to high level abstractions must also change.
|
||||
|
||||
**2/** **@rfleury** ^1675846331871670272
|
||||
|
||||
Many programmers were taught the myth that a solid abstraction can remain intact while the implementation is adapted to new constraints indefinitely—thus, there is some misconception that tooling and abstraction advice from before can still be somewhat viable.
|
||||
|
||||
**3/** **@rfleury** ^1675846333343875072
|
||||
|
||||
But this view is mistaken. It ignores how an abstraction’s interface forces constraints on its implementation. These constraints may require a violation of other important constraints. If you want a simpler and faster implementation, a new interface may be necessary.
|
||||
|
||||
**4/** **@rfleury** ^1675846335071944705
|
||||
|
||||
The future’s competitive toolchains, programming strategies, and academic curricula ought to be rebuilt from the ground up to account for this.
|
||||
|
||||
**5/** **@rfleury** ^1675890755351760896
|
||||
|
||||
One example is memory management. In 2016, I found @handmade_hero, and I learned that virtually everything I had been taught about managing memory was wrong. With a new mindset and approach, it feels ~as easy in C as in garbage collected languages.
|
||||
|
||||
**6/** **@rfleury** ^1675890759793520641
|
||||
|
||||
(I wrote about this here: https://www.rfleury.com/p/untangling-lifetimes-the-arena-allocator)
|
||||
|
||||
**7/** **@rfleury** ^1675890764235276288
|
||||
|
||||
This is one reason I find it worth sticking with languages like C or @odinlang. While C has its own flaws & legacy cruft, and while neither are at the hardware level, by using them you remove decades of nonsense, allowing you to think clearly about problems from first principles.
|
||||
|
||||
**8/** **@AgileJebrim** ^1675893653313560577
|
||||
|
||||
**@rfleury** **@odinlang**
|
||||
|
||||
ISPC needs a lot more attention in my opinion. C, Odin, Zig, etc. don’t even come close in performance because they’re still scalar-based languages when the underlying hardware is actually vector-based.
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
---
|
||||
title: "C and the toolchain need to be simplified & stripped down, not tidied up."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1691290392204132353"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1691290392204132353"
|
||||
date: 2023-08-15
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "C and the toolchain need to be simplified & stripped down, not tidied up."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1691290392204132353
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2023-08-15 03:27:06
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1691290392204132353
|
||||
|
||||
C and the toolchain need to be simplified & stripped down, not tidied up. Even the simplest of new systems languages have taken ~1 decade (1/5 of a career) to approximate C's practical utility at ~50%. They're still severely lacking in tooling, and they ~all piggyback off LLVM.
|
||||
|
||||
**2/** **@TheGingerBill** ^1691518907742334979
|
||||
|
||||
**@rfleury**
|
||||
|
||||
I am going to be blunt with you:
|
||||
|
||||
How many of these new systems languages have actually tried for more than a week? Because this two-penny's opinion is bad. A lot of C's utility is because it's 50 years old, and everything is built around it, for better or worse (mostly worse).
|
||||
|
||||
**3/** **@TheGingerBill** ^1691519060570189824
|
||||
|
||||
**@rfleury**
|
||||
|
||||
I agree with the piggyback off LLVM, and I regret my choices (which is why we are now moving towards the Tilde backend). This is why I tell anyone who wants to attempt to make a new language to stay away from LLVM as far as possible.
|
||||
|
||||
DO NOT USE LLVM!
|
||||
|
||||
**4/** **@TheGingerBill** ^1691519416297558016
|
||||
|
||||
**@rfleury**
|
||||
|
||||
As for "C's practical utility at 50%", that's an extremely vague statement which means nothing.
|
||||
|
||||
I know for a fact that Odin for what people use it for is hell of a lot more practical than C and better to deal with. The problems are when interfacing with the C "ecosystem" itself.
|
||||
|
||||
**5/** **@rfleury** ^1691661423649370531
|
||||
|
||||
**@TheGingerBill**
|
||||
|
||||
“The problems are when you need to interact with reality”
|
||||
|
||||
**6/** **@hasen_95dx** ^1691692126617387479
|
||||
|
||||
**@rfleury** **@TheGingerBill**
|
||||
|
||||
The reality that C is broken?
|
||||
|
||||
**7/** **@rfleury** ^1691817295428116747
|
||||
|
||||
**@Hasen_Judi** **@TheGingerBill**
|
||||
|
||||
“Reality is broken”
|
||||
|
||||
**8/** **@TheGingerBill** ^1691825782090273215
|
||||
|
||||
**@rfleury** **@Hasen_Judi**
|
||||
|
||||
You're not helping yourself here, Ryan. The reality of the situation is not a problem. I've already done all of this for Odin.
|
||||
|
||||
> C and the toolchain need to be simplified & stripped down, not tidied up.
|
||||
|
||||
The toolchain is not the problem. C the language itself is not fixable.
|
||||
|
||||
**9/** **@TheGingerBill** ^1691826341497262160
|
||||
|
||||
**@rfleury** **@Hasen_Judi**
|
||||
|
||||
Having to interface with the C and even Objective-C ecosystems? Already done. Have a better type system to express what C types were actually representing? Done. Have constructs so that you don't even need to specify the vast majority of linker flags and objects separately? Done.
|
||||
|
||||
**10/** **@rfleury** ^1691826741000675514
|
||||
|
||||
**@TheGingerBill** **@Hasen_Judi**
|
||||
|
||||
I’m well aware you think you’ve solved the problem Bill.
|
||||
|
||||
**11/** **@TheGingerBill** ^1691827528359374928
|
||||
|
||||
**@rfleury** **@Hasen_Judi**
|
||||
|
||||
I don't think I've solved ALL of the problems. Most of them are just trade-offs, with loads of compromises and issues.
|
||||
|
||||
I could literally lecture on all of the issues with Odin for days straight.
|
||||
|
||||
**12/** **@TheGingerBill** ^1691828062415925466
|
||||
|
||||
**@rfleury** **@Hasen_Judi**
|
||||
|
||||
But you are complaining without actually giving any concrete ideas, nor even concrete things about what is wrong. Be explicit. And don't just say you said it in another vague "thread".
|
||||
|
||||
This is all I am frustrated about. You are a very smart man, but are being extremely vague.
|
||||
|
||||
**13/** **@rfleury** ^1691830184025178477
|
||||
|
||||
**@TheGingerBill** **@Hasen_Judi**
|
||||
|
||||
I’m forced to compress and abstract over 100s of ideas because of the breadth of the problem space, of the discussion, and the Twitter character limit. If that ends up vague, that’s a valid criticism. I’ll write a post with a list of concrete project & spec descriptions. Deal?
|
||||
|
||||
**14/** **@TheGingerBill** ^1691830364098941251
|
||||
|
||||
**@rfleury** **@Hasen_Judi**
|
||||
|
||||
Deal! I would love to read such an article from you 🙂
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "People often do not appreciate how a more complicated language necessitates more complicated tools."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1708154192379216023"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1708154192379216023"
|
||||
date: 2023-09-30
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "People often do not appreciate how a more complicated language necessitates more complicated tools."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1708154192379216023
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2023-09-30 16:17:50
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1708154192379216023
|
||||
|
||||
People often do not appreciate how a more complicated language necessitates more complicated tools. A superfluous language feature might seem cool, but it isn't free if it compromises a debugger's or editor's ability to be useful.
|
||||
|
||||
**2/** **@mbc0der** ^1708160990028730552
|
||||
|
||||
**@rfleury**
|
||||
|
||||
There was a good chunk of time where it was borderline impossible to debug or even read the error messages for nontrivial C++ template code. Things have gotten so much better in the past 20-25 years.
|
||||
|
||||
**3/** **@rfleury** ^1708258542468333683
|
||||
|
||||
**@mbc0der**
|
||||
|
||||
I wouldn't say better. I look at it this way: C++ is such a nightmare that it took ~25 years for tooling to ~approximate the possible local maximum given the language's complexity. Simpler languages mean cheaper/faster ecosystems, with more competition & less monopolization.
|
||||
|
||||
**4/** **@rfleury** ^1708258814351602121
|
||||
|
||||
**@mbc0der**
|
||||
|
||||
I can't figure out, for the life of me, why C++ is even in the language discussion anymore. It's a complete joke of a language. I will take C99 any day, but even then, there are plenty of simplifications one can imagine that blows C99 out of the water too.
|
||||
|
||||
**5/** **@mbc0der** ^1708291823452500217
|
||||
|
||||
**@rfleury**
|
||||
|
||||
My point was not that the tooling is in any way exemplary, just that it has gotten much better, relatively speaking. But I agree C++ is a dumpster fire.
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
---
|
||||
title: "@Madisonkanna As someone who works full-time in C, I will say that a lot of the traditional educational material around learning C is not very good, because it was made in such a different hardware landscape."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1720480382905385130"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1720480382905385130"
|
||||
date: 2023-11-03
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@Madisonkanna As someone who works full-time in C, I will say that a lot of the traditional educational material around learning C is not very good, because it was made in such a different hardware landscape."
|
||||
in_reply_to: "1720453068553351643"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1720480382905385130
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2023-11-03 16:37:42
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1720480382905385130
|
||||
|
||||
**@Madisonkanna**
|
||||
|
||||
As someone who works full-time in C, I will say that a lot of the traditional educational material around learning C is not very good, because it was made in such a different hardware landscape. Programming in C today is so different (and better) than how it’s normally taught.
|
||||
|
||||
**2/** **@0xclodagh** ^1720481474669924818
|
||||
|
||||
**@rfleury** **@Madisonkanna**
|
||||
|
||||
so what would someone in her position do to learn C in today's landscape
|
||||
|
||||
**3/** **@rfleury** ^1720482349958463960
|
||||
|
||||
**@0xclodagh** **@Madisonkanna**
|
||||
|
||||
Handmade Hero remains the most transformative programming educational experience in my life. I recommend anyone interested in C to go follow the first 30 or so episodes. You will learn more than in several years of college education.
|
||||
|
||||
**4/** **@zeRusski** ^1720492435413876954
|
||||
|
||||
**@rfleury** **@0xclodagh** **@Madisonkanna**
|
||||
|
||||
I’m willing to believe that but it is muddled in Win trivia n setup and IIRC says nothing about handling e.g. strings - stuff Python et al hides from u but C learning resources say nothing about. K&R is all \0 and UTF8 oblivious
|
||||
|
||||
**5/** **@rfleury** ^1720493339303379256
|
||||
|
||||
**@zeRusski** **@0xclodagh** **@Madisonkanna**
|
||||
|
||||
K&R is exactly what I mean when I say the traditional resources are extremely out of date and not good. Strings in C are easy with the right setup. I don’t have a blog on strings yet—the short answer is “never null-terminate, use immutable slices everywhere”—but I have a post…
|
||||
|
||||
**6/** **@zeRusski** ^1720493902753313188
|
||||
|
||||
**@rfleury** **@0xclodagh** **@Madisonkanna**
|
||||
|
||||
Right, at which point u realize .. oh wait I haven’t even the basic functions to work with strings and most prople would get stuck n give up
|
||||
|
||||
**7/** **@rfleury** ^1720494624668840209
|
||||
|
||||
**@zeRusski** **@0xclodagh** **@Madisonkanna**
|
||||
|
||||
Yes I agree, the CRT & out-of-the-box code you get with a C compiler is terrible. But that’s a descriptor of the ecosystem, not the language. This is why one aim of my codebase is to provide a better C “standard” library. Just look at something like Raylib as an open example.
|
||||
|
||||
**8/** **@pATjako** ^1720739266043515068
|
||||
|
||||
**@rfleury** **@zeRusski** **@0xclodagh** **@Madisonkanna**
|
||||
|
||||
The toolkit that C itself provides is barren and often it is even bad. With my own base lib, I have the same goal. But these are no good fits for a single header library or really any kind of shared code that is used outside of your own codebase.
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: "@rfleury Most developers do not understand the distinction between language feature and standard library."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/alektron1/status/1726723220764823753"
|
||||
author: "Alex"
|
||||
handle: alektron1
|
||||
post_id: "1726723220764823753"
|
||||
date: 2023-11-20
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury Most developers do not understand the distinction between language feature and standard library."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1726722112650654091"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/alektron1/status/1726723220764823753
|
||||
- Author: Alex (@alektron1)
|
||||
- Posted: 2023-11-20 22:04:31
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@alektron1** ^1726723220764823753
|
||||
|
||||
**@rfleury**
|
||||
|
||||
Most developers do not understand the distinction between language feature and standard library.
|
||||
|
||||
No, making an HTTP request is not "so much easier in C# than in C". It's just that Microsoft has already written the C# HTTP library for you.
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2023-11-20-what-do-people-mean-when-they-say-this-c-doesnt]]
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
---
|
||||
title: "@rfleury A charitable interpretation would be: For a lot of programs it's quite useful to have a common, expressive interface with basic and 'safe by default' utilities around strings."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/denis_baudinot/status/1726724764247749036"
|
||||
author: "Denis Baudinot"
|
||||
handle: denis_baudinot
|
||||
post_id: "1726724764247749036"
|
||||
date: 2023-11-20
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury A charitable interpretation would be: For a lot of programs it's quite useful to have a common, expressive interface with basic and 'safe by default' utilities around strings."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1726722112650654091"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/denis_baudinot/status/1726724764247749036
|
||||
- Author: Denis Baudinot (@denis_baudinot)
|
||||
- Posted: 2023-11-20 22:10:39
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@denis_baudinot** ^1726724764247749036
|
||||
|
||||
**@rfleury**
|
||||
|
||||
A charitable interpretation would be: For a lot of programs it's quite useful to have a common, expressive interface with basic and 'safe by default' utilities around strings.
|
||||
|
||||
**2/** **@rfleury** ^1726762813513752716
|
||||
|
||||
**@denis_baudinot**
|
||||
|
||||
Why does that have anything to do with the standard library?
|
||||
|
||||
**3/** **@denis_baudinot** ^1726890741123969402
|
||||
|
||||
**@rfleury**
|
||||
|
||||
It doesn’t need to. It’s really more about expectations and culture than about language expression.
|
||||
|
||||
However, I don’t disagree with you. Generally this kind of thinking can be limiting and maybe is in this case. An interesting thing to think about!
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2023-11-20-what-do-people-mean-when-they-say-this-c-doesnt]]
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: "What do people mean when they say this? C doesn’t “have” a real string abstraction? C is a programming language which has tools for building APIs of many kinds, including for strings and many other things."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1726722109609804139"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1726722109609804139"
|
||||
date: 2023-11-20
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "What do people mean when they say this? C doesn’t “have” a real string abstraction? C is a programming language which has tools for building APIs of many kinds, including for strings and many other things."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1726722109609804139
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2023-11-20 22:00:06
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1726722109609804139
|
||||
|
||||
What do people mean when they say this? C doesn’t “have” a real string abstraction? C is a programming language which has tools for building APIs of many kinds, including for strings and many other things.
|
||||
|
||||
**2/** **@rfleury** ^1726722112650654091
|
||||
|
||||
Programming language features are just succinct APIs. APIs can be designed in any language. The C runtime library is not the only way to program C. And so on…
|
||||
|
||||
Branches: [[archive/threads/rfleury/2023-11-20-what-do-people-mean-when-they-say-this-c-doesnt/2023-11-20-alektron1-most-developers-do-not-understand-the-distinction]], [[archive/threads/rfleury/2023-11-20-what-do-people-mean-when-they-say-this-c-doesnt/2023-11-20-denis_baudinot-a-charitable-interpretation-would-be-for-a-lot-of]]
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: "Text files, while limiting and underpowered, feel like solid ground."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1740841191984488816"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1740841191984488816"
|
||||
date: 2023-12-29
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "Text files, while limiting and underpowered, feel like solid ground."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1740841191984488816
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2023-12-29 21:04:18
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1740841191984488816
|
||||
|
||||
Text files, while limiting and underpowered, feel like solid ground. In my view, a solid next step is a broad, general-purpose data format open standard (with a tooling suite)—like text—but with primitives for graphical and structural information.
|
||||
|
||||
**2/** **@rfleury** ^1740841420502835639
|
||||
|
||||
This marries the benefits of terminals, text files, text logs, and so on, with the opportunity for the dramatically improved UI/UX offered by graphical user interfaces.
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "@rfleury aah!"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/matias__eduardo/status/1741354473023250759"
|
||||
author: "Matias"
|
||||
handle: matias__eduardo
|
||||
post_id: "1741354473023250759"
|
||||
date: 2023-12-31
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "@rfleury aah!"
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1741342049440612686"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/matias__eduardo/status/1741354473023250759
|
||||
- Author: Matias (@matias__eduardo)
|
||||
- Posted: 2023-12-31 07:03:53
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@matias__eduardo** ^1741354473023250759
|
||||
|
||||
**@rfleury**
|
||||
|
||||
aah!
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/rfleury/2023-12-31-you-are-responsible-for-all-code-you-ship-to-run]]
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "You are responsible for all code you ship to run on user machines, whether you wrote it or not."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/rfleury/status/1741342049440612686"
|
||||
author: "Ryan Fleury"
|
||||
handle: rfleury
|
||||
post_id: "1741342049440612686"
|
||||
date: 2023-12-31
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- rfleury
|
||||
description: "You are responsible for all code you ship to run on user machines, whether you wrote it or not."
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/rfleury/status/1741342049440612686
|
||||
- Author: Ryan Fleury (@rfleury)
|
||||
- Posted: 2023-12-31 06:14:31
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@rfleury** ^1741342049440612686
|
||||
|
||||
You are responsible for all code you ship to run on user machines, whether you wrote it or not.
|
||||
|
||||
Branches: [[archive/threads/rfleury/2023-12-31-you-are-responsible-for-all-code-you-ship-to-run/2023-12-31-matias__eduardo-aah]]
|
||||
@@ -26,8 +26,23 @@ tags:
|
||||
- [[archive/threads/rfleury/2020-10-31-i-dont-think-id-classify-our-goals-one-way-or]]
|
||||
- [[archive/threads/rfleury/2021-05-13-https-handmade-network-manifesto]]
|
||||
- [[archive/threads/rfleury/2021-07-13-this-github-issue-is-detestable-and-hard-to-read]]
|
||||
- [[archive/threads/rfleury/2022-08-08-code-should-be-organized-by-practical-necessity]]
|
||||
- [[archive/threads/rfleury/2022-08-21-i-have-no-idea-how-the-idea-that-data-structures]]
|
||||
- [[archive/threads/rfleury/2022-08-30-this-thread-makes-some-good-points-about-the-ui]]
|
||||
- [[archive/threads/rfleury/2022-09-09-yes-we-need-simpler-tools-all-the-way-down-the]]
|
||||
- [[archive/threads/rfleury/2022-09-21-we-dont-know-what-programming-is]]
|
||||
- [[archive/threads/rfleury/2022-10-03-simplifying-formats-and-protocols-particularly]]
|
||||
- [[archive/threads/rfleury/2022-10-11-while-id-love-to-say-some-cool-future-of]]
|
||||
- [[archive/threads/rfleury/2022-11-21-to-clarify-i-dont-write-in-first-person-plural]]
|
||||
- [[archive/threads/rfleury/2022-12-13-its-an-incredibly-useful-skill]]
|
||||
- [[archive/threads/rfleury/2022-12-29-ah-good-important-clarification-frankly-i-wouldnt]]
|
||||
- [[archive/threads/rfleury/2023-07-03-decades-of-programming-tooling-and-academic]]
|
||||
- [[archive/threads/rfleury/2023-08-15-c-and-the-toolchain-need-to-be-simplified]]
|
||||
- [[archive/threads/rfleury/2023-09-30-people-often-do-not-appreciate-how-a-more]]
|
||||
- [[archive/threads/rfleury/2023-11-03-as-someone-who-works-full-time-in-c-i-will-say]]
|
||||
- [[archive/threads/rfleury/2023-11-20-what-do-people-mean-when-they-say-this-c-doesnt]]
|
||||
- [[archive/threads/rfleury/2023-12-29-text-files-while-limiting-and-underpowered-feel]]
|
||||
- [[archive/threads/rfleury/2023-12-31-you-are-responsible-for-all-code-you-ship-to-run]]
|
||||
- [[archive/threads/rfleury/2024-12-18-one-of-the-most-powerful-lessons-i-learned-as-a]]
|
||||
- [[archive/threads/rfleury/2025-04-30-to-the-degree-this-is-true-its-only-in-a]]
|
||||
- [[archive/threads/rfleury/2025-10-10-new-post-multi-core-by-default]]
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: "@rfleury @vkrajacic @simplex_fx I would trust a builtin solution 1000 times more than random libraries."
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/thembeddevguy/status/1711638711505395899"
|
||||
author: "The Developer Guy"
|
||||
handle: thembeddevguy
|
||||
post_id: "1711638711505395899"
|
||||
date: 2023-10-10
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- vkrajacic
|
||||
description: "@rfleury @vkrajacic @simplex_fx I would trust a builtin solution 1000 times more than random libraries."
|
||||
in_reply_to: ""
|
||||
parent_post_id: "1711637670240174253"
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/thembeddevguy/status/1711638711505395899
|
||||
- Author: The Developer Guy (@thembeddevguy)
|
||||
- Posted: 2023-10-10 07:04:04
|
||||
|
||||
## Branch
|
||||
|
||||
**1/** **@thembeddevguy** ^1711638711505395899
|
||||
|
||||
**@rfleury** **@vkrajacic** **@simplex_fx**
|
||||
|
||||
I would trust a builtin solution 1000 times more than random libraries. You can assume some quality control behind that, random dudes just can’t do the same as a group of official maintainers. That’s a lot of potential security issues.
|
||||
|
||||
**2/** **@vkrajacic** ^1711639280328606100
|
||||
|
||||
**@thembeddevguy** **@rfleury** **@simplex_fx**
|
||||
|
||||
It doesn't matter if it's builtin or 3rd party. If you know how to read code, you can make educated decision which on to use.
|
||||
|
||||
**3/** **@thembeddevguy** ^1711640387553571227
|
||||
|
||||
**@vkrajacic** **@rfleury** **@simplex_fx**
|
||||
|
||||
This is what I’m talking about: wasting time. I could just go build stuff, relying on known code and find 3rd party libs if something is fishy. Now I have to do code review a bunch of libs. No thanks, my focus is not on maintaining common stuff. I let maintainers do their job.
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[archive/threads/vkrajacic/2023-10-09-reasons-i-use-c]]
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: "Reasons I use C:"
|
||||
type: archive
|
||||
source: twitter
|
||||
source_url: "https://x.com/vkrajacic/status/1711389580018979139"
|
||||
author: "Vjekoslav Krajačić"
|
||||
handle: vkrajacic
|
||||
post_id: "1711389580018979139"
|
||||
date: 2023-10-09
|
||||
archived: 2026-08-27
|
||||
draft: false
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
- vkrajacic
|
||||
description: "Reasons I use C:"
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
## Source
|
||||
|
||||
- URL: https://x.com/vkrajacic/status/1711389580018979139
|
||||
- Author: Vjekoslav Krajačić (@vkrajacic)
|
||||
- Posted: 2023-10-09 14:34:06
|
||||
|
||||
## Thread
|
||||
|
||||
**1/** **@vkrajacic** ^1711389580018979139
|
||||
|
||||
Reasons I use C:
|
||||
- It's a small and simple language.
|
||||
- It's stable and changes infrequently.
|
||||
- It provides low-level, manual memory management.
|
||||
- I can see actual CPU instructions.
|
||||
- It has a decades-old development ecosystem.
|
||||
- It works everywhere.
|
||||
- It allows for direct interaction with major operating systems, which expose low-level APIs in C or C++.
|
||||
- I want my code to remain runnable 10-20 years from now.
|
||||
|
||||
Not the reasons I use C:
|
||||
- Because I believe it's perfect.
|
||||
- Because I'm a "fan" of it.
|
||||
- Because I think it has all the features I need.
|
||||
|
||||
I write in C because I believe it's still the best choice for developing native applications (not just embedded software). This conveys a lot about my sentiments towards other languages, including C++, C#, Rust etc.
|
||||
|
||||
New is not always better.
|
||||
|
||||
**2/** **@simplex_fx** ^1711416943935103027
|
||||
|
||||
**@vkrajacic**
|
||||
|
||||
however, you CAN write almost all the features not present in them, if needed :D
|
||||
|
||||
**3/** **@vkrajacic** ^1711456818164019443
|
||||
|
||||
Yes, I had to write a fair amount of "base" code, such as memory primitives, UTF-8 length-based strings, math, UI, etc. However, once you have these components in place, it's much better than using higher-level languages with numerous libraries that you might not fully comprehend.
|
||||
|
||||
**4/** **@thembeddevguy** ^1711468670860312694
|
||||
|
||||
**@vkrajacic** **@simplex_fx**
|
||||
|
||||
That’s the task of a standard library. It’s a shame and not a feature if all of these must be written. It’s not a must to include stdio or any standard lib and you can use your custom libs. That’s why I’m shifting to golang, really feels like the modern C we need so far.
|
||||
|
||||
**5/** **@rfleury** ^1711571034829476347
|
||||
|
||||
**@thembeddevguy** **@vkrajacic** **@simplex_fx**
|
||||
|
||||
The weird thing about this argument is that it somehow presupposes that a new language & toolchain was necessary for a new standard library. Neither are necessary. If you want a new standard library, make one. It doesn't need to be standardized at the programming language level.
|
||||
|
||||
**6/** **@thembeddevguy** ^1711637670240174253
|
||||
|
||||
**@rfleury** **@vkrajacic** **@simplex_fx**
|
||||
|
||||
A standard library for me always was a “here are super common tasks and no one shall “solve” that over and over again, here, have a reviewed and tested solution, go focus on the important parts” thing. Relying on 3rd party stuff is exactly the opposite of this.
|
||||
|
||||
Branches: [[archive/threads/vkrajacic/2023-10-09-reasons-i-use-c/2023-10-10-thembeddevguy-i-would-trust-a-builtin-solution-1000-times-more]]
|
||||
@@ -9,4 +9,5 @@ tags:
|
||||
- vkrajacic
|
||||
---
|
||||
|
||||
- [[archive/threads/vkrajacic/2023-10-09-reasons-i-use-c]]
|
||||
- [[archive/threads/vkrajacic/2024-01-23-c-macro-approach-to-using-optional-default-named]]
|
||||
Reference in new issue
Block a user