quokka
talk-transcripts
quokka | talk-transcripts | |
---|---|---|
31 | 35 | |
1,167 | 2,860 | |
1.6% | - | |
1.8 | 4.7 | |
over 2 years ago | 12 months ago | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
quokka
-
Quokka Playground - Run JavaScript and TypeScript in VS Code
For more features and details check out the official docs https://quokkajs.com/
- Quokka.js: The JavaScript Playground in Your Editor
-
IDEs vs Text Editors in 2023 for Web Dev: what things have you found full size IDE's like Webstorm can do that VSCode cannot in 2023 which make you more productive? Specially today now that TypeScript + AI coding tools level the playing field even further.
Used to be true, but between Quokka.js for quick prototypes, Wallaby.js for running tests smartly within the IDE, and now Console Ninja which enables inline console.log within the VSCode while running servers for common tooling (webpack, vite). As well as continuously improving collaboration tools like Live Share, And it's become hard for me to find an argument that Webstorm is still better for productivity here.
- SREPL: The file is the REPL
-
I built a tool that let you quickly test JavaScript code suitable for teaching and learning JavaScript
I use https://quokkajs.com/ it has a free version!
-
Use Go in my start-up or stick to TS which I already know?
There are some fantastic tools such as Quokka which make "more algorithmic" development very interactive and fun
-
How to see what the code is doing?
There's also extensions like https://quokkajs.com/
-
Any way to have inline code analysis like this? I believe the Trunk extension does it.
Quokka.js
-
I'd like to use a REPL in my workflow for getting feedback on my code. Is this a reasonable ask? If not, how do you check your code as you go?
I’m a Clojure(script) dev learning TS. My Clojure REPL flow is Cursive + IntelliJ. The closest equivalent I’ve found is https://quokkajs.com for inline evaluation and https://wallabyjs.com for test evaluation. Both are paid products but have free 30 day evaluation periods. Both work in IntelliJ and VsCode.
-
[AskJS] Confused and Struggling
If you want to code and practice your JS in a sandbox, I highly recommend using VS Code (if you're not already using that for your HTML/CSS) in conjunction with Quokka.js. If you use `console.log()` function to log your results, Quokka will output directly in the editor. There are online resources that do something similar like codesandbox.io but I've found it nice to have a local environment.
talk-transcripts
-
In praise of idleness – Bertrand Russell
Reminds me a little of hammock-driven development [1]
> the background mind is good at synthesizing things. It's good about strategy
[1] https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
-
Teach Yourself Programming in Ten Years (1998)
Thank you for this recommendation. I've never heard of it before and now I'm reading: https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
It's giving me energy this Monday holiday(USA)!
-
Can't Be Fucked: Underrated Cause of Tech Debt
race?
> [Audience reply: Sprinter]
> Right, only somebody who runs really short races, okay?
> [Audience laughter]
> But of course, we are programmers, and we are smarter than runners, apparently, because we know how to fix that problem, right? We just fire the starting pistol every hundred yards and call it a new sprint.
https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
-
Strong typing, a hill I'm willing to die on
>So this is 10x, a full order of magnitude reduction in (?) severity before we get to the set of problems I think are more in the domain of what programming languages can help with, right? And because you can read these they'll all going to come up in a second as I go through each one on some slide so I'm not going to read them all out right now. But importantly there's another break where we get to trivialisms of problems in programming. Like typos and just being inconsistent, like, you thought you're going to have a list of strings and you put a number in there. That happens, you know, people make those kinds of mistakes, they're pretty inexpensive.
[0] Video: https://www.youtube.com/watch?v=2V1FtfBDsLU
[1] Slides and transcript: https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
[2] Video https://www.youtube.com/watch?v=YR5WdGrpoug
[3] Slides and transcript https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
-
Puzzle Languages
This is tangentially related to Puzzles-vs-Problems in Rich Hickey's Effective Programs
> Eventually I got back to scheduling and again wrote a new kind of scheduling system in Common Lisp, which again they did not want to run in production. And then I rewrote it in C++. Now at this point I was an expert C++ user and really loved C++, for some value of love. But as we'll see later I love the puzzle of C++. So I had to rewrite it in C++ and it took, you know, four times as long to rewrite it as it took to write it in the first place, it yielded five times as much code and it was no faster. And that's when I knew I was doing it wrong.
[...]
> So I mean for young programmers, if everybody's tired and old, this doesn't matter any more. But when I was young, when I was young, I really, you know, when you're young you've got lots of free space. I used to say "an empty head", but that's not right. You've got a lot of free space available and you can fill it with whatever you like. And these type systems they're quite fun, because from an endorphin standpoint solving puzzles and solving problems is the same, it gives you the same rush. Puzzle solving is really cool. But that's not what it should be about.
Talk: https://www.youtube.com/watch?v=2V1FtfBDsLU
Slides and transcript: https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
-
All the ways to capture changes in Postgres
Using triggers + history tables (aka audit tables) is the right answer 98% of the time. Just do it. If you're not already doing it, start today. It is a proven technique, in use for _over 30 years_.
Here's a quick rundown of how to do it generically https://gist.github.com/slotrans/353952c4f383596e6fe8777db5d... (trades off space efficiency for "being easy").
It's great if you can store immutable data. Really, really great. But you _probably_ have a ton of mutable data in your database and you are _probably_ forgetting a ton of it every day. Stop forgetting things! Use history tables.
cf. https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
Do not use Papertrail or similar application-space history tracking libraries/techniques. They are slow, error-prone, and incapable of capturing any DB changes that bypass your app stack (which you probably have, and should). Worth remembering that _any_ attempt to capture an "updated" timestamp from your app is fundamentally incorrect, because each of your webheads has its own clock. Use the database clock! It's the only one that's correct!
-
G. Polya, How to Solve It
Rich Hickey (creator of Clojure) references Polya several times in his classic talk "Hammock Driven Development". Here's a transcript:
https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
I've long been impressed by Hickey's problem solving skills, so I took much of this talk to heart, and even bought a copy of HTSI. Can't say it really helped me any more than Rich's talk (as a programmer) but I'm thinking I'll give it another look.
-
Interfaces All the Way Down
>Great product designs require no manual, and similarly, great interfaces need no documentation. Imagine having to read a manual on how to use a coffee mug.
This could not be more wrong.
Not everything is easy. If a library is addressing a complicated domain, solving by definition a complicated problem, it is fine if it requires some learning.
When did expertise and learning become bad things? If software is an engineering discipline, why would people in it ever promulgate the idea that any random cog can step in to any “engineer”s shoes?
Rich Hickey analogizes this mentality to the world of music, where it taken for granted that learning an instrument requires a lot of study:
“ We start with the cello. Should we make cellos that auto tune? Like, no matter where you put your finger, it's just going to play something good, play a good note.
“[Audience laughter]
“Like, you're good. We'll just fix that.
“ Should we have cellos with, like, red and green lights? Like, if you're playing the wrong note, you know, it's red. You slide around, and it's green. You're like, great! I'm good. I'm playing the right song. Right?
“ Or maybe we should have cellos that don't make any sound at all. Until you get it right, there's nothing.
“ [Audience laughter]”
https://github.com/matthiasn/talk-transcripts/blob/master/Hi...
-
Slightly off-topic: Whose lectures do you recommend listening to, similar to Rich Hickey?
You might find adjacent talks and speakers here ... https://github.com/matthiasn/talk-transcripts
-
Functions vs. Procedures: Keep them separate.
Many languages merge the two concepts, and implement procedures as functions that return void. This may muddle/complect their distinction, causing programmers to call procedures from within functions, thereby making those functions into impure functions (meaning that they affect the world outside of themselves, through side-effects like I/O or mutating state). This should be avoided, especially if you care about debug-ability and Functional Core, Imperative Shell architectures (see Gary Bernhardt's Boundaries talk at 31:56) (which make testing your system easier, without mocking).
What are some alternatives?
RunJS - RunJS is a JavaScript playground for macOS, Windows and Linux. Write code with instant feedback and access to Node.js and browser APIs.
rich4clojure - Practice Clojure using Interactive Programming in your editor
JS-Interpreter - A sandboxed JavaScript interpreter in JavaScript.
etaoin - Pure Clojure Webdriver protocol implementation
vscode-python - Python extension for Visual Studio Code
clj-chrome-devtools - Clojure API for controlling a Chrome DevTools remote
gtoolkit - Glamorous Toolkit is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem.
codetour - VS Code extension that allows you to record and play back guided tours of codebases, directly within the editor.
typescript-notebook - Run JavaScript and TypeScript in node.js within VS Code notebooks with excellent support for debugging, tensorflowjs visulizations, plotly, danfojs, etc
base - Unison base libraries
jupyter - Jupyter metapackage for installation, docs and chat
lumo - Fast, cross-platform, standalone ClojureScript environment