rictic

2.2K posts

rictic

rictic

@rictic

Web true believer. Web Components are great. working @ google

Katılım Mart 2007
332 Takip Edilen563 Takipçiler
rictic
rictic@rictic·
@qntm Calder did an incredible job, it added a lot to my experience.
English
0
0
0
39
qntm
qntm@qntm·
Audiobook edition of THERE IS NO ANTIMEMETICS DIVISION made Audible's top 20 of 2025! Stupendous work by narrator Rebecca Calder and also by the audio engineers at Penguin Random House. This was a challenging adaptation which called for quite a bit of creativity 🙂
English
8
5
167
9.3K
rictic
rictic@rictic·
@lastmjs Eyeballing this at the halfway point, I think most don't hold up. [5] is the only clear yes to me. [7] is making very solid progress, and in many circles is true. [1] is doing decently well by % pageview. I'm not in a position to evaluate the smart contract details.
English
0
0
1
8
lastmjs
lastmjs@lastmjs·
@rictic Excellent. We'll see what happens. I feel like I'm directionally correct, and I've recently become a big believer in the 2 year over-erestimation and 10 year under-estimation: davidcummings.org/2013/12/27/ove…
English
1
0
1
0
lastmjs
lastmjs@lastmjs·
1/ Predictions for the next ten years: 1. Web components become the dominant component infrastructure of the web 2. Bitcoin yields its dominance to Ethereum 3. Functional programming replaces object oriented programming as the defacto standard 4. GraphQL really replaces REST
English
2
5
12
0
rictic
rictic@rictic·
@sakesun @justinfagnani If a framework component is rewritten to a new framework, you gotta update anywhere that uses it. If a web component is rewritten to use a new library, users don't even notice.
English
0
0
1
10
rictic
rictic@rictic·
@sakesun @justinfagnani Difference is in interoperability. If you want to render a React component, you gotta import React. If you want to render a Lit component, you can just document.createElement.
English
1
0
1
16
Justin Fagnani
Justin Fagnani@justinfagnani·
Lit is not a framework. The browser is the framework.
English
8
11
100
33.1K
rictic
rictic@rictic·
@littledan My concern is a world where there's less of a JS ecosystem and more a swarm of ecosystems which can't share code between one another.
English
1
0
2
39
rictic
rictic@rictic·
@littledan This is something that tool makers have not, historically, been great about handling. It's unfortunately common for tools to do proprietary things with standard syntax. If we move more of the language to tooling, won't libraries even more tightly couple to their toolchain?
English
1
0
1
38
rictic
rictic@rictic·
@VictorTaelin For fuzzing, it's probably the case that libraries that do random generation and simplification are better, but intuitively it's such a rich space to explore that I'm persisting, hoping to stumble upon other neat applications.
English
0
0
0
58
rictic
rictic@rictic·
@VictorTaelin I've mostly used it to find compiler bugs. I've got a working implementation of FEAT in JS that I intend to hook up into my language enumeration library, but I've been putting it off because I want to dive into the fairness improvements in the other paper: fuzz.rictic.com
English
1
0
0
65
Taelin
Taelin@VictorTaelin·
Something might be really wrong - because it works. By merely enumerating terms, you can find "new algorithms". For example, if you try to solve for `f` in `f 0010 = 1010 && f 1100 = 0010`, you will quickly find the optimal binary increment algorithm. It is the first match. Even with no pruning, it just works. And this is just the baseline - I'm talking about a very dumb Haskell enumerator using the Omega Monad. You can go ahead, implement and see it yourself. Now, once you add dependent types and prune the search space a little bit through some obvious constraints (like not creating >2 layers of constructors), you can easily find more complex algorithms, like QuickSort. Now, things start getting really interesting once you optimize it for an optimal evaluator. SUP nodes can be used to share computations across attempts, and scopeless lambdas allow you to pass HOAS contexts around the generator. And, by applying the equality directly to superposed terms, it will magically prune out entire spaces that will not lead to a solution. Again, nothing fancy - just the obvious optimizations we know very well. The result is: we can actually just find stuff. Like, we just can. I'll stop using the AGI term, because it became a meme at this point, and is unrelated. Yet, when it comes to inventing *new science* or discovering *new mathematics*, for all I can tell, we can actually just brute-force find the proofs we want. This has nothing to do with reasoning or "AI". It is a dumb brick that just outputs what you'd expect an intelligent agent to be needed for. It just isn't? Perhaps I'm being really naive and an exponential wall is about to humble (and embarrass) me. This is so obvious I seriously can't be the first one to be trying this, right? Right?? Yet, for all I can tell, everything I've done went exactly as I think it should. I'm frustrated because I have so many other stuff to do (series A, pitches, gamedev company, home stuff, health). All I want to do is keep exploring and see where this goes
Taelin tweet media
Taelin@VictorTaelin

just had a massive breakthrough in the program search experiments, now I'm quite confident this will do what I thought it would do, and it might not even need all that compute. I do not exist for the next weeks, see you

English
78
93
1.8K
628.6K
rictic
rictic@rictic·
@VictorTaelin Really cool application of enumeration btw! Enumeration's potential has itched my brain since reading GEB. The fact that you can just generate all proofs given a set of axioms, or all sentences given a grammar, or all programs given a syntax is tantalizing!
English
1
0
1
86
Taelin
Taelin@VictorTaelin·
@rictic amazing, thanks for pointing out!
English
1
0
3
432
rictic
rictic@rictic·
@DasSurma Nice! Tree maps are also really good for this kind of visualization, where there's strict containment without repetition.
English
0
0
1
104
Surma
Surma@DasSurma·
I really wanted to know which libraries are bloating my WebAssembly binaries, so I wrote a visualizer. Throw in a .wasm file with DWARF debug symbols, and wasmphobia will generate a flame graph for you, breaking down the module by source file. wasmphobia.surma.technology
Surma tweet mediaSurma tweet media
English
12
89
561
49.8K
rictic
rictic@rictic·
@RogersKonnor @43081j Thanks! IMO, whether we have trailing /> for void elements in source is a matter of taste, HTML5 parsers ignore it so its semantics are fine. Critical thing is ensuring that non-void elements aren't written with />. IMO prettier should rewrite them to add a closing tag in HTML
English
1
0
0
32
James Garbutt
James Garbutt@43081j·
this svelte self-closing tags issue is 100% going down the same infinite path as the prettier issue
English
1
0
5
539
rictic
rictic@rictic·
@dettofernet @cubosh This is so cool. Easy to play with it and get different effects. Thanks for sharing this!
English
0
0
4
62
cubosh
cubosh@cubosh·
as a longtime fan of Conway's "Game of Life" algorithm i never once considered visualizing the time axis physically -- this is breathtaking and elegant to me credit: instagram.com/reel/C2hoRnFsm…
English
93
1.4K
7.1K
530K
rictic
rictic@rictic·
@43081j Nice, I'll have to take a look at that. For a number of those things there's non-debug APIs, but they're often clunky and not guaranteed. e.g. to get enum name you can grab it off the enum object. It's clunky, but it works: console.log(ts.SyntaxKind[node.kind])
English
1
0
2
24
James Garbutt
James Garbutt@43081j·
@rictic if you're dealing with the compiler api, it gives you a bunch of useful debug methods, like `__debugGetText` for an AST node. types to their text representation too. before, i was having to compare node kind enums etc to the ts source or just guess
English
1
0
2
34
James Garbutt
James Garbutt@43081j·
`ts.Debug.enableDebugInfo()` is the best
English
1
0
3
127
rictic
rictic@rictic·
@justinfagnani @mraleph @PaulHMason @dart_lang Expanding on that, the two key features that make this powerful: - the TemplateStringsArray object is unique per template literal, allowing efficient caching - the TemplateStringsArray object is guaranteed to contain only developer authored content, same level of trust as source
English
1
0
3
56
Justin Fagnani
Justin Fagnani@justinfagnani·
@mraleph @PaulHMason @dart_lang Many kinds of embedded DSLs and external languages can safely and efficiently be processed with JS-style template literals. Besides lit-html (which I'd love to port) there are pretty common examples of SQL and GraphQL.
English
1
0
4
178
Slava Egorov
Slava Egorov@mraleph·
What do you expect from @dart_lang in 2024?
Arhus, Denmark 🇩🇰 English
64
8
93
22.8K
rictic
rictic@rictic·
@justinfagnani That's awful. Do you have your own modem? I've seen improvement from a better cable modem, though starting from 20Mbps is… not a good sign
English
0
0
1
50
Justin Fagnani
Justin Fagnani@justinfagnani·
This is my Xfinity 1Gbps service speed, pretty regularly since I signed up last week. So far I'm thinking I should have gotten the AT&T 75Mbps service - it might have been faster.
Justin Fagnani tweet media
English
2
0
3
757