585 karma · joined May 5, 2013
http://blog.matsu.io/about
- captures a tree tab structure (inspired by Tree Style Tab)
- has a text-heavy interface
- is keyboard driven (inspired by Vim)
- keeps data local or syncs to a GitHub gist (no server)
- exports to Markdown
I often hear from others they need something similar, and I thought about finishing it up so others can use it. But my fear is that I made too many personal design choices that nobody else would like, and changing those choices would make myself less happy (but surely make it easier for others to use).
If you are intrigued, here are some screenshots:
However, I'm concerned that the dictionary is copyrighted. Is there any precedent that says whether such a tool would be legal/illegal?
If there's no complex interactivity achieveable only through JS, I prefer to ship sites with plain HTML/CSS, so I don't really like to use any client-side analytics. And yes – I can live without all the fancy features to track and profile my visitors.
I don't want to host by myself either, since I enjoy using a simple git push to deploy my site.
We pick simple sketches & recreate them in p5.js as a learning process. Eventually you remix the sketches with your ideas to create something original.
Our prompts exposes a diverse variety of generative artwork, none of which are too difficult to recreate. Join us for the second half!
I ended up using puppeteer[2]. Would love to switch to `skia-canvas`, however `ctx.measureFont` doesn't seem to work correctly yet. Measuring cap `M` produces positive `actualBoundingBoxDescent`, although `M` should sit comfortably on top of baseline.
[1]: https://github.com/adambisek/string-pixel-width
[2]: https://github.com/shikijs/shiki/blob/master/packages/render...
On the top page there's another thread about rust-analyzer vs RLS. What Aleksey said[0] about RLS that "[RLS's] current architecture is not a good foundation for a perfect IDE long-term," feels similar to my coworker's conclusion in her effort to provide better editor support for PHP[1].
Parsers for compiling code into machine-executables vs parsers to serve LSP responses have different tradeoffs. For example, Anders mentioned TS parser need to have good error-recovery, can respond with completions/errors when one file changes inside a thousand-files-project. I vaguely remember TS had a goal to provide completions in < 50ms and errors in <150ms. Such goals are hard to achieve as after-thought. If your core compiler doesn't do error recovery, such as PHP, you need someone to write a new compiler from scratch for a language server implementation. If tools such as RLS rely on compiler to dump all JSON metadata and figure out LSP responses[0], it's too slow for editors.
TS's good editor support doesn't come free. I think one of the most under-appreciated achievement of TS is how it took editor support seriously and designed its compiler infrastructure to do it well. That's why I don't believe in those hot-new-web-languages that try to take over TS by designing a better type system. TS brought the average developer's expectation of a language to having fast completion, fast error reporting, editor autofix, F2 to rename and renaming-a-file-in-editor-to-update-all-references. It's 2020 and people aren't going back to write code like in Notepad.
[0]: https://ferrous-systems.com/blog/rust-analyzer-2019/
[1]: https://github.com/microsoft/tolerant-php-parser
---
EDIT: grammar.
Steve Jobs had the same conclusion[0].
[0]: https://www.forbes.com/sites/velocity/2011/10/05/nicholas-ne...
I built a syntax highlighter, Shiki, that allows you to use any theme from VS Code to color your code [0]. It works great with Node now as a static website generator plugin, but with some effort you can run it all in client side as well. TypeScript's new handbook is using Shiki [1].
I can't really believe how it's 2019 and Medium and Slack still can't syntax highlight code snippets.
[1]: https://microsoft.github.io/TypeScript-New-Handbook/chapters...
This also bypasses Ad blocker. In the case you have a large percentage of technical audience (who presumably would have Ad blocker installed) this log can be way more accurate than GA.
However this still requires setting up the image on a third-party server. I would really love it if GitHub pages or Netlify can provide some simple server-side tracking. It doesn't match GA but in some cases that's all I need.
1. Required fields on new issues. Has been requested since 2016[0].
2. Better issue search.
Open Source projects face a lot of issues. It's good to talk about them, but some GitHub can solve some GitHub can't. I'd be much happier to see these problem addressed instead of learning about updating my profile status[1].
Currently when a project becomes popular the issues easily drown the author. As the communication portal between OSS authors and users, GitHub can and should give OSS authors more power.
[0]: https://github.com/dear-github/dear-github
[1]: https://github.blog/changelog/2019-01-09-set-your-status/
Is there any plan to adopt Language Server Protocol so at least users could get auto completions? But with the custom syntaxes to JS I guess Observable can't just use plain TypeScript Language Server.
I'm not sure what's complex. Adding one more option "Triaging" here[0] doesn't seem complex.
I'm working at VS Code and now we are trying to make a bot that would add a label if someone (from a whitelist) types `/label bug` (same for marking duplicates). The fact that we have to go this far for letting community contributors assign labels to issues is more maddening to me.
See an example here: https://github.com/Microsoft/vscode/issues/62016#issuecommen....
[0]: https://user-images.githubusercontent.com/4033249/47674432-8...
Currently people have to work around these issues in awkward ways, like creating a whole organization just to grant issue triaging privileges or redirecting people off GitHub for filing issues with required fields [0]. Those workarounds run into limits quickly.
Example 1: A great typographer, Wenting Zhang, author of Type Detail[0], contributing to Source Han Serif, learning Vue to do some interactive widget for variable fonts[1].
Example 2: Brian Terlson on TC39. He's using Vue without Vuex or Vue-router to build an app to track TC39 discussions[2].
I hope we can admit that many people might not need store and router[3]. Store and Router are necessary for building complex SPA, but don't make them necessary, as many don't want complex SPA. They impose learning efforts in exchange of better architecture, but the imposed effort might not be worth it for many people who just want some data-rendering, some reactivity and some interactivity on their websites.
[1]: https://twitter.com/DesignJokes/status/1015003288528400386 and https://twitter.com/DesignJokes/status/1014260361535647744
[2]: https://twitter.com/bterlson/status/913433979239436293 and https://github.com/bterlson/tcq
[3]: https://medium.com/@dan_abramov/you-might-not-need-redux-be4...
- The reason the API call is made at `created` lifecycle is that the video is a quick, 5 minute intro for beginners. Beginners, as in "people who are familiar building static websites using html/css/js". There is no need to bring in Vuex or vue-router yet. In fact the whole beginner example can be put into a single HTML file by including a Vue script tag. The approachability is what made Vue shine. Some other frameworks assume that you want a build tool, state management, client side routing etc and beginners spend hours configuring those tools and figuring out state management and client-side routing, instead of doing real work.
> To answer to my initial question: API logic should not be written in Vuex nor in components. There is even a good example on how do that in some of the official code examples.
- The example[0] clearly has the API logic in the Actions. The `/api` folder is a mocked API for illustration purpose.
[0]: https://github.com/vuejs/vuex/blob/dev/examples/shopping-car...
Might be useful if you are testing API or playing with JSON data.
I don't know why the GitHub doc get linked, but this page probably gives more context: https://code.visualstudio.com/visual-studio-live-share
Disclaimer: I work at VS Code and have tried Live Share in private preview. Honest feeling is it still has some gaps, but if everything would work out of the box it can be pretty awesome.
I would advise looking into editing/language support early. Auto completion (for DOM API, D3 API, etc) and error checking can be very helpful to the user.
Still, congratulations to the launch (the app looks beautiful and UX is pretty solid)! When I was reading @mbostock's medium post[2] a few months ago I knew something like this will popup.
Anyway, back to building my own thing which focuses on the editing side of playgrounds, which I think is what most online ones (Codepen / JSFiddle) lack.
[0]: https://microsoft.github.io/monaco-editor
[1]: https://microsoft.github.io/language-server-protocol
[2]: https://medium.com/@mbostock/a-better-way-to-code-2b1d2876a3...
Have you ever used `tsc --watch`? First build can take long but modification and rebuild takes < 1s.
> you have to use the debugger every time and step through stuff (even when you have a very good idea about which specific variable you want to check) - It's extremely cumbersome.
You don't "have to" use the debugger if you prefer `console.log` all the way. However in the debugger there is a "watch" tab for inspecting specific variables.
> Also it forces all developers to use bulky commercial IDEs like WebStorm because you rely more on code completion to help you figure out the right types. You can say goodbye to Atom, Sublime and the rest... Atom's TypeScript plugin is not good enough unfortunately.
VSCode? https://code.visualstudio.com/
And in my experience, the harder the subject, the more informally experts speak. Partly, I think, because they have less to prove, and partly because the harder the ideas you're talking about, the less you can afford to let language get in the way.
Informal language is the athletic clothing of ideas.