233 karma · joined April 20, 2013
However, as a developer, I want to see something else:
1. Example projects created with this library. Challenges, solutions, pains, wins.
2. Video demonstrating how you created simple app with your lib. Reading docs is a too high bar in very crowded JS ecosystem. For example I want to see:
- how tooling works,
- how debugging works,
- how build process works.
- anything else this tool is strong with.
If your goal was to create this library - then, again - you made it. But what next? Best libraries or frameworks are created during work on some real project and they are extracted from the target creation.So here comes iPad Pro 12.9 - lightweight (maybe not that light including Magic Keyboard), but it's great to use in laptop way, on chair, in bed etc. Great to browse web, scroll through videos and write notes or emails. I liked this form factor so much that I started to figure out how to make it a coding machine. That's problematic of course, so I ended up buying paid terminal App in App Store to connect over ssh/mosh to some server/other machine and use terminal with tmux/nvim etc. Installed nerdfonds, started using TUIs and it was working pretty well. But, I hate terminals for long term real work. I want to use heavy UI debuggers, click around/browse, move etc, my work is not only inserting text. I considered buying Asus Zenbook s13 OLED and install Linux on it to have two devices to use depending on my mood and physical position I wanna have. But, first, Zenbook is on Intel/Ryzen which means heat and fan noise, two, there are high risks my linux setup will require tweaks and care which I'm not interested in.
In summary: I bought base MacBook Air 13 M2 and use it as couch/cafe machine as alternative to MPB 16. So I have 3 Apple devices. Which is... fine?
Other way is to run program in symbomlic interpreter and trace what it wants to read in any of the branches.
Of course I'm a chatbot, how dare you to think it was written by mere real person ;)
I'm interested in merging all known ideas (including Smalltalk IDEs) and moving forward.
Perhaps I have higher expectations which I didn't explain anywhere. Hard to tell full story in short text comment.
I'm not even trying to comment your guess about what "target" I am.
I know there are tools like GVim etc, but again, they are created with high engineering effort which for some people is simply pleasant to undertake.
Again, I'm not trying to defend or favor any system, I'm actually using at the same time VSCode (for best TS intellisense), WebStorm (for refactors), nvim (for quick browsing and small config file edits) and Emacs (for Magit). My computer is my tool, not single thing inside it.
Go to VSCode, put it into your `keybindings.json`:
{
"key": "ctrl+cmd+j",
"command": "editor.action.smartSelect.expand"
},
{
"key": "ctrl+cmd+k",
"command": "editor.action.smartSelect.shrink"
}
go to TS file and press keybinding multiple times to see how it grows/shrinks.
Having Emacs keybindings like C-w, C-y, C-d (I'm using it to move char left), C-S-d (word left, S is shift, I'm using right one) and more I feel like flying through things like selecting block, expression, function, moving in and out etc. I guess Emacs people using paredit feel something similar taken to the next level.Ideas in VIM are still brilliant, the same goes for Emacs, but they both need to reincarnate in modern skin taking pixel perfect GUIs with proper animations to the extreme. In fully multithreaded and multiprocess environment.
1) define somewhere in the repo that it's a "compound repo", a "workspace" etc - name is arbitrary, This is our repo "R",
2) for certain paths in the repo, mark those paths as an aliases to other repos identified by a repository URL/path. These our "r" repos.
3) for every git command executed inside repo "R", run appropriate commands in the background for each "r" repo only if repo "r" was affected by changes initiated in repo "R".
4) If you made changes to repo "r" directly and then returned to "R", after "git pull" you should see nothing else than standard git diffs, conflicts etc. You should not run anything like "sync"/"refresh" etc. Only git pull/rebase/merge etc.
5) Commit in repo "R" which is only responsible for bumping repos "r" should be handled by git submodule system transparently for the user of "R". I'm not a git expert to tell what kind of commit should be used here. Any ideas? You should commit seeing diffs of course, not some commits hashes.
5) THAT'S IT.
Everything should work recursively, e.i. you should be able to do 10 layers of "r" repos. Each n-th "r" repo acts as "R" repo for n+1 level repo. Ten fold commit should work like transaction, e.g. if any of layers between 1 and 10 has failing precommit hook - the whole operation should fail.Please help me find potential problems. thx!
All this is not suitable for web, but for thing like Elector - hell yeah. HTML to bitmap extension would be really welcome. Then you could render UI in WebGL or WebGPU. Adobe Flash had something similar if I recall correctly.
Thanks!
Escape the bubble you're currently in and start thinking in a broader way.
JavaScript really is a Scheme in disguise with a little bit of Smalltalk. Which really is good. If you don't like junk coming from {}+[] - don't use it, but I consider the lack of errors thrown to be a correct behaviour. Use TS or any other linter to control stuff.
As we can see, Clojure wasn't accepted widely despite the fact it also has first class functions and closures. In my opinion the answer is simple: people want to have syntax for stuff which we agreed is good. Using macros and ((())) is not what people want to do long term.
What I care about is timeline, assets, library, keyframes, movie clips, drawing tools, text formatting, tweening and much more. All in one package, cmd+enter to see the output. Maybe even these days cmd+enter is too much, the output should be immediate and even better - live. Bret Victor would not be happy about not-live (dead!) scene. Definitely I don't want to resurrect old Flash. TypeScript is much nicer than AS3, even though AS3 had E4X which I remember to be quite powerful even compared do poor JSX.
I think you're right about missing GC and shipping `List`, `Set` etc. to the user as a part of the runtime. But, if that can chunked out and be stored on a CDN and downloaded only once for a browser session, then this problem won't hurt that much. Once GC is added to the platform I'd love to see Figma-quality reincarnation of Flash in an B-option (from your post) manner.