Edgar Rodríguez (@codingedgar) header
Edgar Rodríguez (@codingedgar) profile picture

I ike to talk bout software engineering

Joined December 2019
Photo by Edgar Rodríguez (@codingedgar)Photo by Edgar Rodríguez (@codingedgar)Photo by Edgar Rodríguez (@codingedgar)Photo by Edgar Rodríguez (@codingedgar)Photo by Edgar Rodríguez (@codingedgar)Photo by Edgar Rodríguez (@codingedgar)Photo by Edgar Rodríguez (@codingedgar)Photo by Edgar Rodríguez (@codingedgar)Photo by Edgar Rodríguez (@codingedgar)Photo by Edgar Rodríguez (@codingedgar)
Edgar Rodríguez retweeted
The sooner we replace the whole wall of text in markdown the sooner we can stop looking at code reliably
1
1
60
Edgar Rodríguez retweeted
Replying to @hmemcpy @Savlambda
After a lot of FP programming, I no longer use “declarative”, everything feels quite imperative, it was all a lie 😂
1
2
5
113
Edgar Rodríguez retweeted
Since February, I’ve been spending part of my time rewriting TypeScript’s modules documentation, replacing years-outdated content and adding some that’s never been written down. There’s always more to write, but I’m publishing it officially today. 1/5 typescriptlang.org/docs/hand…
8
58
9
417
85,109
Edgar Rodríguez retweeted
🛠️I've been creating various Domain-Specific Languages (DSLs) since the start of my career over 14 years ago. I've built maybe a dozen of various external DSLs and embedded DSLs. 🚀Every time this was the best decision that impacted the architecture of my applications in a good way. On the pictures: 1⃣ External DSL for Spaceship Control Software (quite rich in PL features) 2⃣ Type-level eDSL for the game objects and properties in Haskell 3⃣ eDSL for interaction fiction games like Zork: Grand Inquisitor 🙄DSLs are underrated in the industry. 😞Partially because we have scarce resources on how to build your own. 🫤Partially because Domain-Driven Design ignores Domain-Specific Languages completely. Instead, it talks about Ubiquitous Language which has a broader meaning than DSLs. However, with no code representation, UL is just a blah-blah that is yet to be designed and developed. 😖Partially because DSLs are mistakenly mythologized to be a part of Programming Language Design. "You should be as smart as Computer Scientists or should be the one to develop a DSL!" 🚫🔬🚫 Nope. Taking DSLs as a scientific task similar to building a regular programming language is unnecessary at least and wrong at most. ⛔️Forget about those extinct animals called bison, yacc, and lex. These ones are for a Serious PL Business™️. If you're wondering if you need it, you don't. Otherwise, you knew enough to not even ask this question. ➡️ Simple external interpretable DSLs can be made over XML, JSON, or even YAML. In this case, you don't even need to write parsers manually. ➡️ ADT-like interpretable external DSLs are also easy to build with Haskell's Read and Aeson features. ➡️ Monadic parsers such as Haskell's parsec and megaparsec can handle more complicated external DSLs with ease. 💠Embedded DSLs are another joy in programming to practice. I'd even argue it's more fun than bending your mind around smart things, type-level stuff, and metaprogramming. 📑In particular, eDSLs allow to encoding of the domain in the purest way so they are well-suitable for collaboration between developers and non-developers. 😃😃I did it several times, and I've seen this process in the wild. It worked extremely well. This allowed us to 🚢 the functionality much faster and to be clear about what we're actually doing. 💪DSLs have the power to enhance software quality, improve the understanding of the domain, and reduce the complexity of its encoding. 🎇Also, building DSLs is a lot of fun. I can't leave this post without recommending some literature. 📘Building User-Friendly DSLs, Meinte Boersma 📗Domain Specific Languages, Martin Fowler, Rebecca Parsons 📙Domain Specific Languages, Andrzej Wąsowski , Thorsten Berger 📚I'm a big fan of DSLs, and I believe our software could be much better written if it had more DSLs embedded into it.
14
34
2
273
37,525
Replying to @WarrenInTheBuff
Yeah works for sure, we have a saying: "Kotlin and OCaml in the streets, Idris and APL in the sheets"
1
1
4
102
Edgar Rodríguez retweeted
Replying to @graninas
As a programmer stepping into mathematically structured programming, it was bound to happen. I studied general programming and other concepts and found them lacking, but those based on math feel better. So yeah, no one en indoctrinated me 😂 I gravitated naturally into that order, saw unnamed pattern all over my code for years until I found CT, MSP and FP. CT is everywhere tho, I find it in Piano, and Cooking too, I think is just a way our brain organise things. I think it would be cool of MSP/FP were as ubiquitous as OOP *to talk* about more patterns that happen in the code, not necessarily to constraint it, but just to understand and communicate, I saw/wrote monads for 10 years before knowing someone else coined the term and added some laws that made it play nice with other structures 😅
1
1
6
807
Edgar Rodríguez retweeted
Which framework has the most help from TypeScript and ESlint when templating? (tsx, .html, .vue, etc) (second pool in the next tweet)
100%React
0%Qwik
0%Solid
0%Angular
3 votes • Final results
1
1
121
Edgar Rodríguez retweeted
With every new skill, expect a hill of discomfort.
13
52
8
326
24,292
Edgar Rodríguez retweeted
Replying to @sabine_s_ @graninas
I started pursuing FP and mathematically structured programming *because* I think when you are years-in building an app simple patterns emerge for the spine of the system as well as the organisation around it, which often look like one of those higher order abstractions.
2
1
1
414
Edgar Rodríguez retweeted
A good example of just how hopeless "visual/not-textual" programming paradigms are is how circuits, which in the end are literally laid out in a 2D or "2.5D" space, evolved to be designed using Verilog/VHDL text with automated layout and just a sprinkle of visual 2D schematics
4
15
4
109
12,860
Edgar Rodríguez retweeted
An idea for OSS sustainability: get paid every time someone critiques your work.
1
7
238
Edgar Rodríguez retweeted
Can this lens be improved? Or is there a better way to look at or deal with this? So my specific question is: How to make a lens that provides sub-lenses for each branch of a Sum Type? #purescript #haskell
1
1
2
1
1,022
Edgar Rodríguez retweeted
I could use some advice from more experienced #entrepreneurs / #solopreneurs / #founders I'm building a niche job board for 3D artists. Here's where I'm stuck...
2
1
3
148
Most orgs I worked in think that communication is collaboration. They ask staff to use emails/wikis/Lucidchart/Slack & proclaim that to be collaboration. But the thing is, it's not collaboration. It's communication. Collaboration > communication.
3
2
10
732
Edgar Rodríguez retweeted
📊 To the people who work in the tech industry: Have you ever had depression and/or burnout or simply felt burned out in your professional life so far? Please be honest, it's anonymous. Pls RT for reach (needed for my talk at @LaraconEU). I'd really appreciate it. ❤️
86%Yes
14%No
1,416 votes • Final results
19
45
3
22
27,248
Edgar Rodríguez retweeted
"Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter" -Eric Raymond
4
21
Edgar Rodríguez retweeted
Open to #Haskell Gigs ! : D Both part & full-time gigs work as long as the work's cool Context:- - Been dabbling in Haskell for ~2 years - Recently finished reading Haskell-in-depth - Currently, the 2nd highest contributor to the popular #haskell install tool GHCup DMs Open📩
1
13
31
Edgar Rodríguez retweeted
What's your attitude to model-based testing?
74%Never heard of it
20%Heard of, never tried it
5%I love it
1%I hate it
862 votes • Final results
9
9
9
Edgar Rodríguez retweeted
Do you know of any programming languages that define NaN to be equal to itself?
5
2
19